Dev Tools

Popular AI coding CLIs, IDEs, editor extensions and desktop clients — all of them can run on 3306.AI. Each card says how to set it up.

Use 3306.AI API with any tool below
Most tools support a custom base URL and API key. Plug these two values into the tool's settings or environment variables:
OPENAI BASE URL · https://3306.ai/v1
CLAUDE BASE URL · https://3306.ai/anthropic
API KEY · sk_live_xxxxxxxxxxxxxxxx
  1. 1
    Install a tool
    Pick one below, copy the command for your OS and run it in a terminal.
  2. 2
    Create a key
    Make one on the API Keys page. The key is shown once — copy it now.
  3. 3
    Connect to 3306.AI
    Use the one-click panel below, or paste the Base URL and key into the tool's settings.
  4. 4
    Ask something
    If it answers, you're connected. If it errors, open the checklist on the card.

Connect a client in one click

Pick a key and a model, then launch the client — the base URL and key are filled in for you. Clients with no verified launch link get a one-click config copy instead.

This hands your API key to that client. The link is assembled in your browser the moment you click, and the custom protocol is handled by your operating system — it never reaches our servers. But once a client holds the key it can spend your balance, so only do this on a machine you trust.

Paste the key you saved. The plaintext is shown only once at creation — the server stores a hash and cannot recover it. Lost it? Create a new one.

Default model
Loading the models you can call…

Only models your account can actually reach are listed. This one becomes the client's default — you can switch inside the client afterwards.

One-click launch

Clicking opens the client on this machine and prefills the provider. Every scheme listed here was checked against the client's own source code or docs.

  • Cherry Studio
    —
  • ChatBox
    —
  • DeepChat
    —
  • Claude Codevia CC Switch
    —
  • Codex CLIvia CC Switch
    —
  • opencodevia CC Switch
    —
  • AionUi
    —
Copy the config

These clients have no launch link we could verify, and we would rather show no button than one that does nothing. Copy the lines and paste them into the client's settings.

  • NextChat
    —
  • LobeChat
    —
  • OpenCat
    —
  • Cline
    —
  • Roo Code
    —
  • Continue
    —
  • Cursor
    —
Your OS
Network

CLI Tools

· 8

Claude Code

Good first pick3306.AI Ready
Anthropic · CLI Tools

Anthropic's official terminal coding agent with subagents, hooks and MCP.

curl -fsSL https://claude.ai/install.sh | bash
Updateclaude update
Base URLhttps://3306.ai/anthropic
Not connecting? Work through these
  • 404 right after saving the config
    Use https://3306.ai/anthropic as the base URL; the client appends /v1/messages itself. Only the Messages API is implemented — Anthropic's legacy /v1/complete text-completion endpoint is not offered.
  • Intermittent 5xx: plain chat works, long context or feature flags fail
    The anthropic-version and anthropic-beta headers your client sends are forwarded upstream verbatim. If you run your own proxy in between, let both through — dropping anthropic-beta makes the upstream reject requests that carry feature flags.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Codex CLI

Good first pick3306.AI Ready
OpenAI · CLI Tools

OpenAI's official open-source terminal coding agent with local sandboxed exec.

curl -fsSL https://chatgpt.com/codex/install.sh | sh
Updatecodex update
Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Qwen Code

Good first pick3306.AI Ready
Alibaba · CLI Tools

Alibaba's official Qwen terminal coding agent, Gemini-CLI lineage.

curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.sh | bash
Updateqwen update
Open a new terminal window after installing, or the qwen command won't be found.
Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Gemini CLI

3306.AI Ready
Google · CLI Tools

Google's official Gemini terminal agent with a generous free tier.

Requires Node.js 20 or newer
npm install -g @google/gemini-cli
Updatenpm install -g @google/gemini-cli@latest
If the install fails with a compile error (it will mention node-gyp), the machine is missing build tools: VS Build Tools on Windows, Xcode command line tools on macOS. Install those and retry. Google's own endpoint is also unreachable from mainland China — connect it to 3306.AI.

DeepSeek Harness

3306.AI Ready
DeepSeek · CLI Tools

DeepSeek's official open-source agent harness (dsh) — everything is a plugin.

Requires Node.js 22 or newer
npx @deepseek-ai/dsh@0.1.7-alpha.1 web
The pinned version is deliberate: upstream's latest tag depends on a package version that doesn't exist, so the unversioned command in their docs fails outright. We'll drop the pin once upstream fixes it.
Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Kimi Code CLI

3306.AI Ready
Moonshot AI · CLI Tools

Moonshot AI's official terminal agent (successor to Kimi CLI), single binary, MCP.

curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash
Updatekimi upgrade
The old Kimi CLI is no longer maintained — if you have it, switch to this one.
Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

opencode

3306.AI Ready
anomalyco · CLI Tools

Open-source terminal AI coding agent, fully provider-agnostic.

curl -fsSL https://opencode.ai/install | bash
On Windows you can also use scoop install opencode if you have scoop.
Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Aider

3306.AI Ready
paul-gauthier · CLI Tools

Battle-tested terminal AI pair programmer, Git-aware, OpenAI-compatible.

curl -LsSf https://aider.chat/install.sh | sh
aider needs Python between 3.10 and 3.12. Without one, uv downloads its own from GitHub, which is slow from mainland China.
Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Utilities

· 4

NextChat

3306.AI Ready
ChatGPTNextWeb · Utilities

Open-source web / desktop chat client (formerly ChatGPT-Next-Web) with custom endpoints.

Base URLhttps://3306.ai/v1
Where the key goes
Settings → Custom endpoint: Endpoint = Base URL, API Key = sk_live_… (no Bearer prefix).
Notes
Custom model names must match GET /v1/models verbatim; add them in NextChat as "+model-name". Requests go straight from the browser and the key is stored locally — don't enter it on a shared computer.
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

ChatBox

3306.AI Ready
Chatbox AI · Utilities

Cross-platform desktop / mobile chat client with custom OpenAI-compatible providers.

Requires Homebrew
brew install --cask chatbox
Base URLhttps://3306.ai/v1
Where the key goes
Settings → Model Provider → Add custom provider (OpenAI API compatible): API Host = Base URL (without /chat/completions), API Key = sk_live_….
Notes
Keep the default API path /chat/completions; click "Fetch" to load the model list. The "balance" shown is USD (1★ = $0.01).
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Cherry Studio

3306.AI Ready
CherryHQ · Utilities

Multi-model desktop client with knowledge base, assistant presets and MCP.

Requires Homebrew
brew install --cask cherry-studio
Base URLhttps://3306.ai/v1
Where the key goes
Settings → Model Providers → Add: provider type OpenAI, API Key = sk_live_…, API Host = Base URL (Cherry appends /chat/completions itself).
Notes
Click "Manage" to fetch the model list, then tick the models you need. Claude models work over this same OpenAI-protocol line — no separate Anthropic provider needed.
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

CC Switch

3306.AI Ready
farion1231 · Utilities

One-click switching between multiple Claude Code provider configs.

Requires Homebrew
brew install --cask cc-switch
Updatebrew upgrade --cask cc-switch
Its installer lives on GitHub, so from mainland China both brew and a manual download can be slow.
Base URLhttps://3306.ai/anthropic
Not connecting? Work through these
  • 404 right after saving the config
    Use https://3306.ai/anthropic as the base URL; the client appends /v1/messages itself. Only the Messages API is implemented — Anthropic's legacy /v1/complete text-completion endpoint is not offered.
  • Intermittent 5xx: plain chat works, long context or feature flags fail
    The anthropic-version and anthropic-beta headers your client sends are forwarded upstream verbatim. If you run your own proxy in between, let both through — dropping anthropic-beta makes the upstream reject requests that carry feature flags.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

AI IDEs

· 4

Cursor

3306.AI Ready
Anysphere · AI IDEs

AI-native IDE built on VS Code, with Tab, Agent and Composer.

Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Windsurf

3306.AI Ready
Codeium · AI IDEs

Codeium's agentic AI editor with Cascade multi-step flows.

Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Zed

3306.AI Ready
Zed Industries · AI IDEs

Blazing-fast collaborative editor in Rust, with built-in AI and ACP.

Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Trae

ByteDance · AI IDEs

ByteDance's AI IDE with Chinese-friendly UX and bundled models.

Editor Extensions

· 3

Cline

3306.AI Ready
Cline Team · Editor Extensions

The most popular AI coding extension for VS Code, with Plan/Act modes.

Requires VS Code
code --install-extension saoudrizwan.claude-dev
Standard VS Code install command. On macOS, run “Shell Command: Install 'code' command in PATH” from the command palette first. You can also just search for it in the Extensions panel.
Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Roo Code

3306.AI Ready
Roo Code · Editor Extensions

Cline fork with custom modes and multi-agent orchestration.

Requires VS Code
code --install-extension RooVeterinaryInc.roo-cline
Standard VS Code install command. On macOS, run “Shell Command: Install 'code' command in PATH” from the command palette first. You can also just search for it in the Extensions panel.
Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.

Continue

3306.AI Ready
Continue.dev · Editor Extensions

Open-source VS Code / JetBrains extension, self-host friendly.

Requires VS Code
code --install-extension Continue.continue
Standard VS Code install command. On macOS, run “Shell Command: Install 'code' command in PATH” from the command palette first. You can also just search for it in the Extensions panel.
Base URLhttps://3306.ai/v1
Not connecting? Work through these
  • 404 right after saving the config
    The base URL must be exactly https://3306.ai/v1 — the client appends /chat/completions itself. Dropping /v1, or pasting the full endpoint path as the base URL, both give a 404.
  • A hand-written SSE parser blows up mid-stream
    The stream carries keep-alive comment lines starting with a colon (such as : ping). Skip those instead of parsing them as data frames. Official SDKs already handle this for you.
  • Sending an image returns 400
    The target model cannot read images. Image requests pass a gate before reaching the upstream: we would rather fail loudly than drop the image and let a text-only model invent an answer. Pick a model with a tick in the vision column of the capability matrix.
  • 401 invalid_api_key
    Only Authorization: Bearer sk_live_… and x-api-key: sk_live_… are accepted. When pasting, make sure no quotes or stray whitespace end up in the config file.
  • 403 insufficient_scope
    The response names the missing permission, e.g. This API key does not have permission for chat. This key was created without chat access — mint a new key with the chat scope in the console.
  • 404 model_not_found
    The client's built-in default model name (gpt-4o, claude-3-5-sonnet and friends) is not in our catalogue. Fetch GET /v1/models and set the client's model name to a string from that list, verbatim.
  • 429 rate limited
    The response carries Retry-After in seconds. Wait it out before retrying instead of hammering the endpoint. Open a ticket if you need sustained higher throughput.
  • 402 insufficient balance or not entitled
    The public API is for paying accounts: you need an active subscription, or a balance funded by a top-up. Sign-up bonus Stars still work inside the app but do not grant API access.
Install won't go through? Check these
  • command not found: npm / node
    Node.js isn't installed on this machine. Get the LTS build from nodejs.org, then open a new terminal. Only tools marked “Requires Node.js” need this step — the rest are single-binary installs.
  • EACCES / permission denied
    Don't prefix it with sudo — Anthropic advises against sudo npm install -g too: it leaves files owned by root and breaks later updates. Use something like nvm for your own Node, or switch to an install method on the card that doesn't need Node.
  • Windows says it can't load npm.ps1 because running scripts is disabled
    That's the PowerShell execution policy, not the tool. Use npm.cmd instead of npm (and npx.cmd instead of npx) and run it again.
  • It installed, but the command still isn't found
    Usually the shell hasn't reloaded its PATH: close the terminal and open a new one. Qwen Code on Windows always needs this. If it persists, check that the directory named in the install output is on your PATH.
  • The download hangs or never finishes
    Check the Network switch above first — “Mainland China” gives the commands that installed successfully on our test machine there. The red note on a card explains why the vendor's own command doesn't work, not that the tool can't be installed. If npm itself is slow, run the registry command above. If the card's command still fails, send the full error to Support.
Every install command here comes from the vendor's own docs, last verified 2026-09-22. Want another tool listed? Tell us via Support.
Claude Code, Codex, Cursor and AI Coding Tool Setup | 3306.AI