diff --git a/docs/customize/model-providers/more/neuronpool.mdx b/docs/customize/model-providers/more/neuronpool.mdx new file mode 100644 index 00000000000..02333454df1 --- /dev/null +++ b/docs/customize/model-providers/more/neuronpool.mdx @@ -0,0 +1,51 @@ +--- +title: "NeuronPool" +sidebarTitle: "NeuronPool" +--- + + + Mint a buyer key on the [NeuronPool dashboard](https://neuronpool.damnknee.workers.dev/dashboard). + + +NeuronPool is an OpenAI-compatible inference API (pool machines plus public buyers). Use `provider: openai` and set `apiBase`. Model ids come from `GET /v1/models` (`gpt-oss-20b`, `llama-3.1-8b-instruct`, …). + +Add Model → **NeuronPool** pre-fills the live Worker base URL and AUTODETECT models. Paste a `sk-neuronpool-…` key. + +## Configuration + + + + ```yaml title="config.yaml" + name: My Config + version: 0.0.1 + schema: v1 + + models: + - name: NeuronPool gpt-oss-20b + provider: openai + model: gpt-oss-20b + apiBase: https://neuronpool.damnknee.workers.dev/v1 + apiKey: ${{ secrets.NEURONPOOL_API_KEY }} + roles: [chat, edit, apply] + ``` + + + ```json title="config.json" + { + "models": [ + { + "title": "NeuronPool gpt-oss-20b", + "provider": "openai", + "model": "gpt-oss-20b", + "apiBase": "https://neuronpool.damnknee.workers.dev/v1", + "apiKey": "" + } + ] + } + ``` + + + +`apiBase` **must** include `/v1`. Continue appends `/chat/completions` and `/models`. Store the key in Continue secrets, not in the file. + +Until `api.neuronpool.dev` resolves, use the live Worker URL above. After the custom-domain cutover, swap `apiBase` to `https://api.neuronpool.dev/v1`. diff --git a/gui/src/pages/AddNewModel/configs/providers.ts b/gui/src/pages/AddNewModel/configs/providers.ts index 9e2aba08c5c..8870eb275df 100644 --- a/gui/src/pages/AddNewModel/configs/providers.ts +++ b/gui/src/pages/AddNewModel/configs/providers.ts @@ -224,6 +224,44 @@ export const providers: Partial> = { ], }, + neuronpool: { + title: "NeuronPool", + provider: "openai", + description: + "OpenAI-compatible social compute — pool machines plus public buyers.", + longDescription: `Mint a buyer key on the [NeuronPool dashboard](https://neuronpool.damnknee.workers.dev/dashboard). Continue talks to the OpenAI-compatible API at the live Worker until api.neuronpool.dev resolves.`, + icon: "openai.png", + tags: [ModelProviderTags.RequiresApiKey], + refPage: "neuronpool", + apiKeyUrl: "https://neuronpool.damnknee.workers.dev/dashboard", + params: { + apiBase: "https://neuronpool.damnknee.workers.dev/v1", + }, + collectInputFor: [ + { + inputType: "text", + key: "apiKey", + label: "API Key", + placeholder: "sk-neuronpool-…", + required: true, + }, + { + ...apiBaseInput, + defaultValue: "https://neuronpool.damnknee.workers.dev/v1", + }, + ...completionParamsInputsConfigs, + ], + packages: [ + { + ...models.AUTODETECT, + params: { + ...models.AUTODETECT.params, + title: "NeuronPool", + }, + }, + ], + }, + moonshot: { title: "Moonshot", provider: "moonshot",