Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions docs/customize/model-providers/more/neuronpool.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: "NeuronPool"
sidebarTitle: "NeuronPool"
---

<Info>
Mint a buyer key on the [NeuronPool dashboard](https://neuronpool.damnknee.workers.dev/dashboard).
</Info>

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

<Tabs>
<Tab title="YAML">
```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]
```
</Tab>
<Tab title="JSON (Deprecated)">
```json title="config.json"
{
"models": [
{
"title": "NeuronPool gpt-oss-20b",
"provider": "openai",
"model": "gpt-oss-20b",
"apiBase": "https://neuronpool.damnknee.workers.dev/v1",
"apiKey": "<YOUR_NEURONPOOL_API_KEY>"
}
]
}
```
</Tab>
</Tabs>

`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`.
38 changes: 38 additions & 0 deletions gui/src/pages/AddNewModel/configs/providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,44 @@ export const providers: Partial<Record<string, ProviderInfo>> = {
],
},

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",
Expand Down
Loading