{"slug": "debian-inference-portal", "title": "Debian Inference Portal", "summary": "Debian launched the Debian Inference Portal, a self-service service that lets Debian contributors log in with their Salsa account, create API keys, and track spending on shared LLM inference through an OpenAI-compatible proxy at inference.debian.net. The service is funded by a fixed monthly pool of credits sponsored by European cloud provider Scaleway, with weekly budgets set as a soft limit for fair use, and exposes two preview models: Zhipu AI's GLM-5.2 (scaleway/glm-5.2) and DeepSeek's V4 Flash (scaleway/deepseek-v4-flash-0731), with DeepSeek V4 Flash recommended for most uses. GLM-5.2 does not differentiate cached input tokens, so re-reading long context is charged at the full rate, which the portal notes can get expensive in agentic software development.", "body_md": "The Debian Inference Portal is a self-service way for Debian contributors to use shared LLM\ninference. You log in with your **Salsa** account, create API keys, and track your spend — all\nthrough your browser. The portal provisions you on a shared, OpenAI-compatible inference\nproxy, so any tool that speaks the OpenAI API can use your key.\n\nIt is a **shared, fair-use service** funded by a fixed monthly pool of credits. Your weekly\nbudget is a **soft limit, in place for safety reasons**: it paces usage so the shared pool\nlasts for everyone, and you can renew it from the dashboard once it is spent. Please still\navoid long or very heavy workloads.\n\n[**Scaleway**](https://www.scaleway.com) is a European cloud provider owned by the\n[Iliad Group](https://en.wikipedia.org/wiki/Iliad_SA) (the parent of Free),\ndelivering public cloud, bare metal, AI and managed services. Among those services is\n[**Generative APIs**](https://www.scaleway.com/en/generative-apis/), a serverless,\nOpenAI-compatible API for serving LLMs — you pay per token and don't manage any\ninfrastructure. The models below are served through it: requests are proxied to\n`api.scaleway.ai`, and you don't need your own Scaleway account — the service holds the\nprovider credentials and forwards your calls.\n\nThis service is possible thanks to **Scaleway**, which kindly sponsors the Debian project with\na monthly allocation of credits to cover the inference costs for contributors.\n\n| Model ID (use this in `model` ) | Model | \n|---|---|\n| `scaleway/glm-5.2` | Zhipu AI's GLM-5.2, a general-purpose model | \n| `scaleway/deepseek-v4-flash-0731` | DeepSeek's V4 Flash, a fast, lightweight model | \n\nBoth models are in **preview** at Scaleway. They are billed by token, but note\nthat GLM-5.2 currently does not differentiate cached (input) tokens, so\nre-reading long context is charged at the full rate and can get comparatively\nexpensive. Re-reading long context is typical in the context of agentic software\ndevelopment (agents re-read the accumulated conversation on every step), so this\nadds up quickly. **DeepSeek V4 Flash is recommended** for most uses.\n\nThe list above is not exhaustive — run the models endpoint with your key to see exactly what is currently exposed:\n\n```\ncurl -s https://inference.debian.net/v1/models -H \"Authorization: Bearer $DEBIAN_INFERENCE_KEY\"\n```\n\n`bubblewrap`\n\n```\nbwrap \\\n  --ro-bind /usr /usr \\\n  --symlink usr/bin /bin \\\n  --symlink usr/lib /lib \\\n  --symlink usr/lib64 /lib64 \\\n  --ro-bind /etc/ssl /etc/ssl \\\n  --ro-bind /etc/resolv.conf /etc/resolv.conf \\\n  --ro-bind $HOME/.gitconfig $HOME/.gitconfig \\\n  --bind $HOME/.config/opencode $HOME/.config/opencode \\\n  --bind $HOME/.cache/opencode $HOME/.cache/opencode \\\n  --bind $HOME/.opencode $HOME/.opencode \\\n  --bind $HOME/.local/share/opencode $HOME/.local/share/opencode \\\n  --bind $HOME/.local/state/opencode $HOME/.local/state/opencode \\\n  --proc /proc \\\n  --dev /dev \\\n  --tmpfs /tmp \\\n  --bind $(pwd) $(pwd) \\\n  --chdir $(pwd) \\\n  --unshare-all \\\n  --share-net \\\n  --die-with-parent \\\n  /path/to/opencode \"$@\"\n```\n\nThis is not a full containment: the sandboxed process still has the terminal and can reach local sockets that don't go through the filesystem (abstract Unix sockets, TCP sockets, and so on).\n\n`nm.debian.org`.\nThings to know about keys:\n\nThe proxy speaks the [**OpenAI API**](https://en.wikipedia.org/wiki/OpenAI): the classic\n**Chat Completions** interface (`POST /v1/chat/completions` with a `messages` payload) and the\nnewer **Responses API** (`POST /v1/responses`). The examples below use Chat Completions, which\nis the most widely supported. Use your key as a `Bearer` token and set `model` to one of the\nexposed models (e.g. `scaleway/deepseek-v4-flash-0731`).\n\n```\nexport DEBIAN_INFERENCE_KEY=\"sk-your-key\"\n\n# List the models available to you\ncurl -s https://inference.debian.net/v1/models \\\n  -H \"Authorization: Bearer $DEBIAN_INFERENCE_KEY\"\n\n# A simple chat completion\ncurl -s https://inference.debian.net/v1/chat/completions \\\n  -H \"Authorization: Bearer $DEBIAN_INFERENCE_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n        \"model\": \"scaleway/deepseek-v4-flash-0731\",\n        \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n      }'\npython\nimport os\nimport requests\n\nkey = os.environ[\"DEBIAN_INFERENCE_KEY\"]\nresp = requests.post(\n    \"https://inference.debian.net/v1/chat/completions\",\n    headers={\"Authorization\": f\"Bearer {key}\"},\n    json={\n        \"model\": \"scaleway/deepseek-v4-flash-0731\",\n        \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}],\n    },\n)\nresp.raise_for_status()\nprint(resp.json()[\"choices\"][0][\"message\"][\"content\"])\n```\n\nAdd a custom OpenAI-compatible provider to your `opencode.json` (project-level, or the global\n`~/.config/opencode/opencode.json`):\n\n```\n{\n  \"model\": \"debian-inference/scaleway/deepseek-v4-flash-0731\",\n  \"provider\": {\n    \"debian-inference\": {\n      \"npm\": \"@ai-sdk/openai-compatible\",\n      \"name\": \"Debian Inference\",\n      \"api\": \"https://inference.debian.net/v1\",\n      \"env\": [\n        \"DEBIAN_INFERENCE_KEY\"\n      ],\n      \"models\": {\n        \"scaleway/deepseek-v4-flash-0731\": {\n          \"name\": \"DeepSeek V4 Flash 0731\",\n          \"family\": \"deepseek-flash\",\n          \"release_date\": \"2026-07-31\",\n          \"attachment\": false,\n          \"reasoning\": true,\n          \"temperature\": true,\n          \"tool_call\": true,\n          \"cost\": {\n            \"input\": 0.4,\n            \"output\": 0.8,\n            \"cache_read\": 0.08\n          },\n          \"limit\": {\n            \"context\": 256000,\n            \"output\": 16384\n          },\n          \"modalities\": {\n            \"input\": [\"text\"],\n            \"output\": [\"text\"]\n          },\n          \"interleaved\": true\n        },\n        \"scaleway/glm-5.2\": {\n          \"name\": \"GLM-5.2\",\n          \"family\": \"glm\",\n          \"release_date\": \"2026-06-13\",\n          \"attachment\": false,\n          \"reasoning\": true,\n          \"temperature\": true,\n          \"tool_call\": true,\n          \"cost\": {\n            \"input\": 1.8,\n            \"output\": 5.5\n          },\n          \"limit\": {\n            \"context\": 256000,\n            \"output\": 16384\n          },\n          \"modalities\": {\n            \"input\": [\"text\"],\n            \"output\": [\"text\"]\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nThen start OpenCode, use `/connect`, search for `Debian Inference`, and enter your API key. The example config above sets DeepSeek V4 Flash 0731 as the default model — use `/models` to switch to GLM-5.2 if you prefer it. Then make your first prompt.\n\n[Pi](https://pi.dev) is a minimal, extensible agent harness. Add a custom\nOpenAI-compatible provider to your `~/.pi/agent/models.json` to use the service:\n\n```\n{\n  \"providers\": {\n    \"debian-inference\": {\n      \"baseUrl\": \"https://inference.debian.net/v1\",\n      \"api\": \"openai-completions\",\n      \"apiKey\": \"$DEBIAN_INFERENCE_KEY\",\n      \"models\": [\n        {\n          \"id\": \"scaleway/deepseek-v4-flash-0731\",\n          \"name\": \"DeepSeek V4 Flash 0731\",\n          \"reasoning\": true,\n          \"contextWindow\": 256000,\n          \"maxTokens\": 16384,\n          \"cost\": {\n            \"input\": 0.4,\n            \"output\": 0.8,\n            \"cacheRead\": 0.08,\n            \"cacheWrite\": 0.4\n          }\n        },\n        {\n          \"id\": \"scaleway/glm-5.2\",\n          \"name\": \"GLM-5.2\",\n          \"reasoning\": true,\n          \"contextWindow\": 256000,\n          \"maxTokens\": 16384,\n          \"cost\": {\n            \"input\": 1.8,\n            \"output\": 5.5,\n            \"cacheRead\": 1.8,\n            \"cacheWrite\": 1.8\n          }\n        }\n      ]\n    }\n  }\n}\n```\n\nThe file reloads each time you open `/model`. Set `DEBIAN_INFERENCE_KEY` to your\nkey (for example via `/login` for the provider, or exporting the env var) and\npick a model with `/model`.\n\nActive Debian Developers and Debian Maintainers. Access is granted on sign-in, based on your\nstatus on `nm.debian.org`.\n\nUse it for work that benefits the Debian project — for example packaging, bug triage and fixes, tooling, documentation, or anything else you're doing as a contributor. It isn't for unrelated personal tasks. The underlying resources are provided free of charge by sponsors, so please be prepared to describe, in a short report, what you used it for if asked — such reports help make the case to sponsors for continuing and growing the service.\n\nNothing directly — the service is provided for the Debian project and funded by a fixed monthly pool of credits from its sponsors. Spending is tracked per user over a weekly window that resets automatically, with defaults tiered by status:\n\n| Status | Default weekly budget | \n|---|---|\n| Debian Developer (DD) | $25 | \n| Debian Maintainer (DM) | $10 | \n\nThis weekly budget is a **soft limit, in place for safety reasons** — not a hard cap on what\nyou may use. It exists to pace usage so the shared monthly pool isn't drained by a few heavy\nusers, which would leave nothing for everyone else. The limits are somewhat arbitrary and\nintended as a starting point; they may evolve over time as we learn how the service is used.\nYour current spend and the next automatic reset time are shown on the dashboard.\n\nBudgets are enforced by the proxy at the user level, so the total spend across all of your keys counts toward your limit. Once you reach it, new requests fail until you renew your credits (below) or the weekly window resets. Hitting the limit is normal for intensive work — it isn't a sign that you've done something wrong.\n\nYes — renewing is the normal way to keep working once you've spent your weekly credits. The\n**Renew credits** button on the dashboard resets your weekly spend to 0, giving you a fresh\nwindow without changing your allowance. You can renew as soon as your credits are spent,\nsubject to a safety check: because everyone shares one monthly pool, a renewal is only allowed\nwhile the predicted organization-wide monthly spend still fits comfortably inside the pool\n(with a safety margin). The dashboard shows whether a renewal is currently available and the\npredicted monthly spend; when it is, use the **Renew credits** button. If it isn't available,\nwait for the weekly reset or [contact the team](https://salsa.debian.org/inference-team/inference-support/-/work_items/new?type=Issue).\n\n`scaleway/deepseek-v4-flash-0731` is the recommended default: it's fast, lightweight, and\ncheaper than GLM-5.2 because it differentiates cached tokens. `scaleway/glm-5.2` is a strong\ngeneral-purpose model, but it's in preview and currently charges cached input at the full\nrate. Use `/v1/models` to see what's currently available.\n\nKeys are shown only once at creation. Revoke it on the dashboard and create a new one.\n\nCheck the expiry date on the dashboard and renew if needed. If you've exceeded your budget, renew your credits from the dashboard, or wait for the weekly reset.\n\nYes — any tool that lets you set a custom base URL (`https://inference.debian.net/v1`) and a\nBearer token can use your key (see the examples above).\n\nOutputs generated by the service belong to you. Scaleway does not claim any copyright or ownership over generated content.\n\nScaleway applies a **Zero Data Retention Policy**: prompt content is not stored, and is\nexplicitly not used for training, retraining, or improving the base models. Data is not\naccessible to the LLM creators or to third parties. Only anonymized metadata (token counts,\nHTTP status codes) is retained for up to 6 months for performance monitoring. Data is hosted\nin Paris, France, and as a European company Scaleway is not subject to extraterritorial laws\nsuch as the US Cloud Act. See Scaleway's\n[Generative APIs privacy policy](https://www.scaleway.com/en/docs/generative-apis/reference-content/data-privacy/)\nand [Specific Conditions for AI Services](https://www.scaleway.com/en/terms/) for the full\ndetails.\n\nQuestions, feedback, or problems? Contact the Debian AI team by filing an issue at\n[inference-support](https://salsa.debian.org/inference-team/inference-support/-/work_items/new?type=Issue).", "url": "https://wpnews.pro/news/debian-inference-portal", "canonical_source": "https://inference.debian.net/doc", "published_at": "2026-09-23 20:57:32+00:00", "updated_at": "2026-09-23 21:30:09.639342+00:00", "lang": "en", "topics": ["ai-infrastructure", "large-language-models", "ai-tools", "ai-products"], "entities": ["Debian", "Debian Inference Portal", "Scaleway", "Iliad Group", "Zhipu AI", "GLM-5.2", "DeepSeek", "DeepSeek V4 Flash"], "alternates": {"html": "https://wpnews.pro/news/debian-inference-portal", "markdown": "https://wpnews.pro/news/debian-inference-portal.md", "text": "https://wpnews.pro/news/debian-inference-portal.txt", "jsonld": "https://wpnews.pro/news/debian-inference-portal.jsonld"}}