CLIProxyAPI(三):接入主流 AI 编程工具

本文是 CLIProxyAPI 系列教程第三篇,聚焦于各主流 AI 编程工具的接入配置。如果你还没有完成 CLIProxyAPI 的安装与 OAuth 登录,请先阅读第一篇教程

系列目录

  1. (一)入门——把 CLI 订阅变成标准 API
  2. (二)多账号轮询与配额策略
  3. (三)接入主流 AI 编程工具(本文)
  4. (四)生产部署——Nginx、TLS 与安全加固
  5. (五)Antigravity——用 Google 订阅解锁 Claude Opus 4.8
  6. (六)结合 new-api 打造多用户 API 网关
  7. (七)自动化运维——配额监控与告警
  8. (八)cpa_keeper 与 cpa_cost——用量追踪与成本分析工具
# 接入主流 AI 编程工具 ## 通用原则 - Base URL: http://host:8317/v1 - API Key: config.yaml 里的 api-keys - OpenAI 兼容接口 ## Claude Code - ANTHROPIC_BASE_URL 环境变量 - settings.json 持久化(团队共享) - ANTHROPIC_DEFAULT_SONNET_MODEL 别名 ## Cursor - Override OpenAI Base URL - 手动 Add Model 添加模型名 - NO_PROXY 避免流式断连 ## Cline / Roo Code - Provider: OpenAI Compatible - 已知限制:函数名 64 字符上限 - 升级 v3.x 修复大部分问题 ## Cherry Studio - 类型选 OpenAI-Response(非普通 OpenAI) - 自动拉取模型列表 ## Continue.dev - config.json provider: openai - tabAutocompleteModel 用轻量模型 ## OpenCode / Amp CLI - OPENAI_BASE_URL 环境变量 - --model 命令行指定 ## NextChat - 设置→自定义接口地址 - .env BASE_URL 自托管配置 ## 常见问题 - 流式断连→设置 NO_PROXY - 400 工具调用→升级 Cline v3.x - 模型列表空→检查 /v1 后缀 - Gemini 响应异常→升级 v7.1.45+

通用接入原则

无论接入哪款工具,核心参数只有两个:

参数
Base URL http://your-server:8317/v1
API Key config.yamlapi-keys 下的任意一个 key

CLIProxyAPI 暴露标准的 OpenAI 兼容接口(/v1/chat/completions/v1/models 等),因此绝大多数支持"自定义 OpenAI 接口"的工具都可以直接接入。

本地部署将 your-server 替换为 localhost;公网部署建议在 Nginx 前置层配置 HTTPS,参见第二篇教程。

flowchart LR A["各类工具\nCursor/Cline/\nCherry Studio…"] --> B["CLIProxyAPI\n:8317/v1"] B --> C["Claude\nGemini\n其他模型"] B --> D["账号轮询\n配额管理"]

Claude Code

Claude Code 是 Anthropic 官方 CLI,它通过环境变量接受自定义 API 端点,是最直接的接入方式。

方式一:环境变量(推荐)

export ANTHROPIC_BASE_URL=http://localhost:8317
export ANTHROPIC_AUTH_TOKEN=your-api-key

写入 ~/.bashrc~/.zshrc 后执行 source ~/.bashrc 使其永久生效。

方式二:指定默认模型

如果你通过 CLIProxyAPI 代理了多个账号,可以用 ANTHROPIC_DEFAULT_SONNET_MODEL 指定具体使用哪个模型别名:

export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-5

结合 config.yaml 中的 oauth-model-alias,可以将别名映射到任意后端模型。

方式三:settings.json 持久化

在项目根目录的 .claude/settings.json 或全局 ~/.claude/settings.json 中配置:

{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:8317",
    "ANTHROPIC_AUTH_TOKEN": "your-api-key"
  }
}

这种方式适合团队共享配置,将文件纳入版本控制即可。


Cursor

Cursor 内置了 OpenAI 兼容的接口覆盖功能。

配置步骤

  1. 打开 SettingsCtrl+,Cmd+,
  2. 搜索 Models,找到 OpenAI API KeyOverride OpenAI Base URL
  3. 填写:
    • API Keyyour-api-key
    • Base URLhttp://localhost:8317/v1
  4. 在模型列表中点击 Add Model,手动输入模型名(如 claude-opus-4-5gemini-2.5-pro

Cursor 不会自动拉取模型列表,需要手动添加你想使用的模型名称。模型名需与 CLIProxyAPI 实际支持的模型名(或别名)一致。

解决长推理断连问题

Cursor 在系统代理(HTTP_PROXY / HTTPS_PROXY)存在时,流式输出可能被代理层缓冲导致断连。在启动 Cursor 前设置:

export NO_PROXY=localhost,127.0.0.1

Windows 用户在系统环境变量中添加 NO_PROXY = localhost;127.0.0.1,然后重启 Cursor。


Cline / Roo Code(VS Code 插件)

Cline 和 Roo Code 都支持 OpenAI Compatible Provider,配置方式完全一致。

配置步骤

  1. 在 VS Code 侧边栏打开 Cline 或 Roo Code 面板
  2. 点击右上角设置图标,进入 Provider 配置
  3. Provider 类型选择 OpenAI Compatible
  4. 填写:
    • Base URLhttp://localhost:8317/v1
    • API Keyyour-api-key
    • Model:手动输入模型名,如 claude-opus-4-5

已知问题:函数名 64 字符限制

Cline 在构造工具调用时,部分内置工具的函数名超过了 64 个字符,这与 Claude API 的限制冲突,会导致请求返回 400 错误。

报错示例:

Error: tool name must be 64 characters or less

目前的规避方案:

  • 在 Cline 设置中切换到较新版本(v3.x 及以上已修复大部分超长函数名)
  • 或者在 CLIProxyAPI 的 config.yaml 中配置路由到兼容性更好的模型
flowchart LR A["工具调用\n返回 400"] --> B{"函数名\n> 64 字符?"} B -- 是 --> C["升级 Cline\nto v3.x+"] B -- 否 --> D["检查 Base URL\n或 API Key"] C --> E{"问题\n解决?"} E -- 否 --> F["切换至\nOpenAI 路由"] E -- 是 --> G["完成"]

Cherry Studio

Cherry Studio 是一款桌面 AI 客户端,支持多 Provider 管理,适合日常对话使用。

配置步骤

  1. 打开 设置 → 模型服务
  2. 点击右上角 + 新增服务商
  3. 服务商类型选择 OpenAI-Response(注意:不要选普通的 OpenAI,选带 Response 后缀的)
  4. 填写:
    • 接口地址http://localhost:8317/v1
    • API Keyyour-api-key
  5. 点击 检查 验证连接,成功后可在模型列表中选择模型

选择 OpenAI-Response 类型是关键,它使用 /v1/responses 端点并能正确处理流式输出。


Continue.dev

Continue.dev 是 VS Code / JetBrains 的开源 AI 代码补全插件,通过 config.json 配置模型。

config.json 配置

编辑 ~/.continue/config.json(或在 Continue 面板中打开配置文件):

{
  "models": [
    {
      "title": "Claude via CLIProxyAPI",
      "provider": "openai",
      "model": "claude-opus-4-5",
      "apiBase": "http://localhost:8317/v1",
      "apiKey": "your-api-key"
    },
    {
      "title": "Gemini via CLIProxyAPI",
      "provider": "openai",
      "model": "gemini-2.5-pro",
      "apiBase": "http://localhost:8317/v1",
      "apiKey": "your-api-key"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Autocomplete",
    "provider": "openai",
    "model": "claude-haiku-4-5",
    "apiBase": "http://localhost:8317/v1",
    "apiKey": "your-api-key"
  }
}

tabAutocompleteModel 建议使用速度较快的模型(如 Haiku 系列)以保证补全响应速度。


OpenCode / Amp CLI

OpenCode 和 Amp 是基于终端的 AI 编码工具,支持通过环境变量或配置文件指定 OpenAI 兼容端点。

OpenCode

export OPENAI_API_KEY=your-api-key
export OPENAI_BASE_URL=http://localhost:8317/v1
opencode --model claude-opus-4-5

或在 ~/.config/opencode/config.json 中配置模型映射:

{
  "providers": {
    "openai": {
      "apiKey": "your-api-key",
      "baseURL": "http://localhost:8317/v1"
    }
  },
  "model": "openai/claude-opus-4-5"
}

Amp CLI

export AMP_OPENAI_BASE_URL=http://localhost:8317/v1
export AMP_OPENAI_API_KEY=your-api-key
amp --model claude-opus-4-5

具体环境变量名称以 Amp 当前版本文档为准,核心逻辑一致:指向 CLIProxyAPI 的 base URL 并提供 API key。


NextChat / ChatGPT-Next-Web

NextChat 支持在设置页面自定义接口地址,无需修改源码即可完成接入。

配置步骤

  1. 打开 NextChat,点击左下角 设置
  2. 找到 自定义接口地址(OpenAI API URL)
  3. 填写:http://localhost:8317/v1
  4. API Key 填写 CLIProxyAPI 配置中的 key
  5. 模型 下拉中选择或手动填写模型名

如果是自托管部署的 NextChat,也可以在 .env 文件中配置:

OPENAI_API_KEY=your-api-key
BASE_URL=http://localhost:8317/v1

各工具能力对比

工具 流式输出 工具调用 多模态(图片) 自动拉取模型列表 免费模型支持
Claude Code
Cursor
Cline / Roo Code
Cherry Studio
Continue.dev 部分
OpenCode
Amp CLI
NextChat

"自动拉取模型列表"指工具能调用 /v1/models 接口并自动填充可选模型。CLIProxyAPI 支持该接口,但部分工具(如 Cursor)依然要求手动添加。


常见问题

Q:长推理任务中途断连

现象:使用 Cursor 或其他工具时,思考链较长的请求(如 Claude 扩展思考模式)在中途断开,返回空响应或超时错误。

原因:系统代理(HTTP_PROXY / HTTPS_PROXY)拦截了本地流式请求,代理层有缓冲导致数据积压断流。

解决

# Linux / macOS
export NO_PROXY=localhost,127.0.0.1

# Windows(命令提示符)
set NO_PROXY=localhost;127.0.0.1

如果问题依然存在,检查 Nginx 反代层是否配置了 proxy_buffering off(详见第二篇教程)。

flowchart LR A["工具发起\n流式请求"] --> B{"系统代理\nHTTP_PROXY\n存在?"} B -- 是 --> C["代理层缓冲\n数据积压"] --> D["断连/超时"] B -- 否 --> E["直连 CLIProxyAPI\n:8317"] D --> F["设置 NO_PROXY=\nlocalhost,127.0.0.1"] F --> E

Q:工具调用返回 400 错误

现象

Error: 400 Bad Request - tool name must be 64 characters or less

原因:Cline 等工具的部分内置函数名超过 Claude API 的 64 字符限制。

解决方案

  1. 升级 Cline 到 v3.x 及以上(已修复大部分问题)
  2. 如仍有问题,临时切换到 GPT 兼容端点(CLIProxyAPI 的 OpenAI 路由对此限制更宽松)

Q:模型列表为空或无法选择模型

现象:工具调用 /v1/models 后返回空列表,或模型下拉框没有内容。

排查步骤

# 直接查询模型列表
curl http://localhost:8317/v1/models \
  -H "Authorization: Bearer your-api-key"

如果返回了模型列表,说明 CLIProxyAPI 正常,问题在客户端侧(通常是 Base URL 末尾多了斜杠或少了 /v1)。

常见错误写法:

  • http://localhost:8317(缺少 /v1
  • http://localhost:8317/v1/(多了末尾斜杠)

正确写法:http://localhost:8317/v1


Q:Gemini 模型响应格式异常

现象:使用 Gemini 模型时,部分工具收到的响应带有非标准字段,导致解析失败。

原因:CLIProxyAPI 对 Gemini 响应做了 OpenAI 格式转换,但极少数边缘情况(如空 candidates)可能导致字段缺失。

解决:在 config.yaml 中确认使用的是最新版本(v7.1.45+),并在官方文档 https://help.router-for.me/cn/ 查看是否有针对该模型的已知问题说明。


系列导航

实操清单

  • CLIProxyAPI 已运行(:8317,api-key 已配置)
  • Claude Code 接入:在 ~/.claude/settings.json 中添加 ANTHROPIC_BASE_URLANTHROPIC_API_KEY 环境变量
  • 测试 Claude Code 联通(在终端执行 Claude Code,确认走 CLIProxyAPI)
  • Cursor 接入:在 Settings → Cursor Settings → Models → OpenAI Base URL 填写 https://cliproxy.k330.com/v1
  • Cline 接入:在 VSCode 插件设置中填写 Base URL 和 API Key
  • Cherry Studio 接入:在供应商设置中添加 OpenAI 兼容渠道,填入 URL 和 Key
  • Continue.dev 接入:修改 ~/.continue/config.json 的 provider 配置
  • 流式输出验证:用任一客户端发送请求,确认逐字符实时返回(无明显卡顿)
  • 测试模型名称:确认客户端填写的模型名(如 claude-sonnet-4-5)CLIProxyAPI 能正确转发