mirror of
https://github.com/fosrl/docs-v2.git
synced 2026-10-03 19:29:12 +02:00
Add claude images and clean up screenshot references
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 332 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 450 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 199 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 348 KiB |
@@ -5,6 +5,14 @@ description: "Connect Claude Desktop's third-party inference to a Pangolin AI Ga
|
|||||||
|
|
||||||
Claude Desktop can route its requests through a third-party inference gateway instead of Anthropic directly. Point it at an AI Gateway resource that has an Anthropic-compatible provider attached — Anthropic itself, Bedrock, Vertex AI, or a custom Anthropic-compatible endpoint. See [AI Gateway Overview](/manage/ai/overview) if you haven't set that up yet.
|
Claude Desktop can route its requests through a third-party inference gateway instead of Anthropic directly. Point it at an AI Gateway resource that has an Anthropic-compatible provider attached — Anthropic itself, Bedrock, Vertex AI, or a custom Anthropic-compatible endpoint. See [AI Gateway Overview](/manage/ai/overview) if you haven't set that up yet.
|
||||||
|
|
||||||
|
<Frame>
|
||||||
|
<img
|
||||||
|
src="
|
||||||
|
/images/claude_desktop_landing.png"
|
||||||
|
alt="Claude Desktop third-party inference settings"
|
||||||
|
/>
|
||||||
|
</Frame>
|
||||||
|
|
||||||
import AiGatewayKey from "/snippets/ai-gateway-key.mdx";
|
import AiGatewayKey from "/snippets/ai-gateway-key.mdx";
|
||||||
|
|
||||||
You'll need the resource's URL (its `<endpoint>`) and its API key (`<key>`). Both are on the resource's Keys page.
|
You'll need the resource's URL (its `<endpoint>`) and its API key (`<key>`). Both are on the resource's Keys page.
|
||||||
@@ -14,21 +22,34 @@ You'll need the resource's URL (its `<endpoint>`) and its API key (`<key>`). Bot
|
|||||||
## Steps
|
## Steps
|
||||||
|
|
||||||
1. Open Claude Desktop, go to the menu in the top left and select **Help > Troubleshooting**, and turn on **Developer Mode**.
|
1. Open Claude Desktop, go to the menu in the top left and select **Help > Troubleshooting**, and turn on **Developer Mode**.
|
||||||
|
<Frame>
|
||||||
|
<img
|
||||||
|
src="
|
||||||
|
/images/claude_desktop_troubleshooting.png"
|
||||||
|
alt="Claude Desktop third-party inference settings"
|
||||||
|
/>
|
||||||
|
</Frame>
|
||||||
2. From the menu bar, open **Developer**, then **Configure Third-Party Inference…**.
|
2. From the menu bar, open **Developer**, then **Configure Third-Party Inference…**.
|
||||||
|
<Frame>
|
||||||
|
<img
|
||||||
|
src="
|
||||||
|
/images/claude_desktop_developer.png"
|
||||||
|
alt="Claude Desktop third-party inference settings"
|
||||||
|
/>
|
||||||
|
</Frame>
|
||||||
3. Select **Gateway**
|
3. Select **Gateway**
|
||||||
4. Select **Credential kind** > **Static API Key**.
|
4. Select **Credential kind** > **Static API Key**.
|
||||||
3. Fill in:
|
5. Fill in:
|
||||||
- **Gateway base URL:** `<endpoint>`
|
- **Gateway base URL:** `<endpoint>`
|
||||||
- **Gateway API Key:** `<key>`
|
- **Gateway API Key:** `<key>`
|
||||||
4. Restart Claude Desktop.
|
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/claude-desktop-inference-dialog.png`
|
|
||||||
The "Configure Third-Party Inference" dialog with the Gateway URL and API Key fields filled in.
|
|
||||||
<Frame>
|
<Frame>
|
||||||
<img src="/images/ai/claude-desktop-inference-dialog.png" alt="Claude Desktop third-party inference settings" />
|
<img
|
||||||
|
src="
|
||||||
|
/images/claude_desktop_developer_settings.png"
|
||||||
|
alt="Claude Desktop third-party inference settings"
|
||||||
|
/>
|
||||||
</Frame>
|
</Frame>
|
||||||
*/}
|
6. Restart Claude Desktop.
|
||||||
|
|
||||||
Send a message to confirm it's working — check the resource's activity in Pangolin's logs if you want to verify traffic is actually flowing through the gateway rather than straight to Anthropic.
|
Send a message to confirm it's working — check the resource's activity in Pangolin's logs if you want to verify traffic is actually flowing through the gateway rather than straight to Anthropic.
|
||||||
|
|
||||||
|
|||||||
+1
-17
@@ -37,14 +37,6 @@ To undo it:
|
|||||||
pangolin configure claude --reset
|
pangolin configure claude --reset
|
||||||
```
|
```
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/claude-cli-tab.png`
|
|
||||||
The Claude Code card on a resource's Keys page, expanded, with the CLI tab selected showing the `pangolin configure claude` command.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/claude-cli-tab.png" alt="Claude Code CLI setup" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
## Manual setup
|
## Manual setup
|
||||||
|
|
||||||
Pick the preset that matches your provider.
|
Pick the preset that matches your provider.
|
||||||
@@ -122,12 +114,4 @@ Use this when the resource has a custom provider pointed at Moonshot AI's Anthro
|
|||||||
"ENABLE_TOOL_SEARCH": "false"
|
"ENABLE_TOOL_SEARCH": "false"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/claude-manual-tab.png`
|
|
||||||
The same card with the Manual tab selected and the preset dropdown open, showing Default/Bedrock/Vertex/Kimi options.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/claude-manual-tab.png" alt="Claude Code manual setup presets" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
+1
-17
@@ -37,14 +37,6 @@ To undo it:
|
|||||||
pangolin configure codex --reset
|
pangolin configure codex --reset
|
||||||
```
|
```
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/codex-cli-tab.png`
|
|
||||||
The Codex card on a resource's Keys page, expanded, with the CLI tab selected showing the `pangolin configure codex` command.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/codex-cli-tab.png" alt="Codex CLI setup" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
## Manual setup
|
## Manual setup
|
||||||
|
|
||||||
Merge this into `~/.codex/config.toml` (honors `$CODEX_HOME` if you've set it):
|
Merge this into `~/.codex/config.toml` (honors `$CODEX_HOME` if you've set it):
|
||||||
@@ -65,12 +57,4 @@ Codex reads the key from the environment variable named in `env_key`, not from t
|
|||||||
export PANGOLIN_API_KEY=<key>
|
export PANGOLIN_API_KEY=<key>
|
||||||
```
|
```
|
||||||
|
|
||||||
Codex is the one client here that also tolerates no key at all: for a private resource you can drop the `env_key` line and skip the export entirely. Exporting `PANGOLIN_API_KEY=none` works too, so use whichever you find clearer.
|
Codex is the one client here that also tolerates no key at all: for a private resource you can drop the `env_key` line and skip the export entirely. Exporting `PANGOLIN_API_KEY=none` works too, so use whichever you find clearer.
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/codex-manual-tab.png`
|
|
||||||
The same card with the Manual tab selected, showing the config.toml snippet.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/codex-manual-tab.png" alt="Codex manual setup" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
@@ -37,14 +37,6 @@ To undo it:
|
|||||||
pangolin configure gemini --reset
|
pangolin configure gemini --reset
|
||||||
```
|
```
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/gemini-cli-tab.png`
|
|
||||||
The Gemini CLI card on a resource's Keys page, expanded, with the CLI tab selected showing the `pangolin configure gemini` command.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/gemini-cli-tab.png" alt="Gemini CLI setup" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
## Manual setup
|
## Manual setup
|
||||||
|
|
||||||
Write `~/.gemini/.env`:
|
Write `~/.gemini/.env`:
|
||||||
@@ -64,12 +56,4 @@ export GEMINI_API_KEY=<key>
|
|||||||
gemini
|
gemini
|
||||||
```
|
```
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/gemini-manual-tab.png`
|
|
||||||
The same card with the Manual tab selected, showing the .env file and shell snippets.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/gemini-manual-tab.png" alt="Gemini CLI manual setup" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
For a private resource, keep `GEMINI_API_KEY` in place and set it to `none`. Gemini CLI won't start without it set to something.
|
For a private resource, keep `GEMINI_API_KEY` in place and set it to `none`. Gemini CLI won't start without it set to something.
|
||||||
|
|||||||
@@ -43,14 +43,6 @@ openclaw onboard --install-daemon
|
|||||||
|
|
||||||
When prompted, choose **QuickStart or Manual mode**, select the custom/OpenAI-compatible provider option, and enter the base URL and key.
|
When prompted, choose **QuickStart or Manual mode**, select the custom/OpenAI-compatible provider option, and enter the base URL and key.
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/openclaw-onboard.png`
|
|
||||||
The `openclaw onboard` interactive wizard at the provider selection step.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/openclaw-onboard.png" alt="OpenClaw onboarding wizard" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
## Manual setup
|
## Manual setup
|
||||||
|
|
||||||
Onboarding writes `~/.openclaw/openclaw.json`. You can edit it directly instead - changes reload automatically:
|
Onboarding writes `~/.openclaw/openclaw.json`. You can edit it directly instead - changes reload automatically:
|
||||||
|
|||||||
+1
-17
@@ -37,14 +37,6 @@ To undo it:
|
|||||||
pangolin configure opencode --reset
|
pangolin configure opencode --reset
|
||||||
```
|
```
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/opencode-cli-tab.png`
|
|
||||||
The OpenCode card on a resource's Keys page, expanded, with the CLI tab selected showing the `pangolin configure opencode` command.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/opencode-cli-tab.png" alt="OpenCode CLI setup" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
## Manual setup
|
## Manual setup
|
||||||
|
|
||||||
Merge this into your global `opencode.json` (`~/.config/opencode/opencode.json`, or `$XDG_CONFIG_HOME/opencode/opencode.json` if set):
|
Merge this into your global `opencode.json` (`~/.config/opencode/opencode.json`, or `$XDG_CONFIG_HOME/opencode/opencode.json` if set):
|
||||||
@@ -86,12 +78,4 @@ Then merge your key into `auth.json` (`~/.local/share/opencode/auth.json`, or `$
|
|||||||
`auth.json` is required even for a private resource. OpenCode refuses to start a provider with no key at all and fails with `OpenAI API key is missing. Pass it using the 'apiKey' parameter or the OPENAI_API_KEY environment variable.` Set the key to `none` rather than leaving the entry out.
|
`auth.json` is required even for a private resource. OpenCode refuses to start a provider with no key at all and fails with `OpenAI API key is missing. Pass it using the 'apiKey' parameter or the OPENAI_API_KEY environment variable.` Set the key to `none` rather than leaving the entry out.
|
||||||
</Warning>
|
</Warning>
|
||||||
|
|
||||||
Only add entries for the providers your resource actually supports. To point a different OpenCode provider (`openrouter`, `google`, `groq`, etc.) at this gateway, add a matching block under `provider` in `opencode.json` and a matching key in `auth.json`.
|
Only add entries for the providers your resource actually supports. To point a different OpenCode provider (`openrouter`, `google`, `groq`, etc.) at this gateway, add a matching block under `provider` in `opencode.json` and a matching key in `auth.json`.
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/opencode-manual-tab.png`
|
|
||||||
The same card with the Manual tab selected, showing the opencode.json/auth.json snippets.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/opencode-manual-tab.png" alt="OpenCode manual setup" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
@@ -17,26 +17,10 @@ A resource only understands the API format(s) its attached providers support. An
|
|||||||
|
|
||||||
Sidebar → **AI Gateway** → **Providers** → **Create**. Pick a provider type, paste in its API key, and save. You can add as many as you need.
|
Sidebar → **AI Gateway** → **Providers** → **Create**. Pick a provider type, paste in its API key, and save. You can add as many as you need.
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/create-provider.png`
|
|
||||||
The AI Gateway → Providers → Create form, showing the provider type dropdown and API key field filled in for OpenAI or Anthropic.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/create-provider.png" alt="Creating an AI provider" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
## 2. Create a resource
|
## 2. Create a resource
|
||||||
|
|
||||||
Resources → **Create** → set **Type** to **AI Gateway**, pick a domain, and attach the provider(s) from step 1. You can also attach providers to an existing resource later from its **AI Gateway** settings tab.
|
Resources → **Create** → set **Type** to **AI Gateway**, pick a domain, and attach the provider(s) from step 1. You can also attach providers to an existing resource later from its **AI Gateway** settings tab.
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/create-resource.png`
|
|
||||||
The new resource dialog with Type set to "AI Gateway" and a provider selected in the AI Providers section.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/create-resource.png" alt="Creating an AI Gateway resource" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
## 3. Get a key
|
## 3. Get a key
|
||||||
|
|
||||||
How a client authenticates depends on whether the resource is public or private.
|
How a client authenticates depends on whether the resource is public or private.
|
||||||
@@ -56,14 +40,6 @@ Only reachable from devices connected to your Pangolin network, so no key is che
|
|||||||
|
|
||||||
You still have to put *something* in the client's key field. Most AI clients refuse to start with no key set at all, so use the literal string `none`. Deleting the field usually breaks things - Claude Code, for instance, silently falls back to your regular Anthropic account if `apiKeyHelper` is missing, and OpenCode errors out with `OpenAI API key is missing`.
|
You still have to put *something* in the client's key field. Most AI clients refuse to start with no key set at all, so use the literal string `none`. Deleting the field usually breaks things - Claude Code, for instance, silently falls back to your regular Anthropic account if `apiKeyHelper` is missing, and OpenCode errors out with `OpenAI API key is missing`.
|
||||||
|
|
||||||
{/*
|
|
||||||
Screenshot: `/images/ai/api-keys-panel.png`
|
|
||||||
The resource launcher's API Keys panel, showing the Identity Key section and the "Configure Coding Agents" cards below it.
|
|
||||||
<Frame>
|
|
||||||
<img src="/images/ai/api-keys-panel.png" alt="Resource API Keys panel" />
|
|
||||||
</Frame>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
## 4. Connect a client
|
## 4. Connect a client
|
||||||
|
|
||||||
Every resource's Keys page has ready-to-copy setup for common clients, and `pangolin configure <client>` can write the config for you. Full instructions per client:
|
Every resource's Keys page has ready-to-copy setup for common clients, and `pangolin configure <client>` can write the config for you. Full instructions per client:
|
||||||
|
|||||||
Reference in New Issue
Block a user