New API 导入 cc-switch 渠道
目标
把本机 cc-switch(~/.cc-switch,SQLite 存储)里 Claude CLI / Codex 的 API Key 导入本地 new-api(端口 8318),new-api 作为统一网关做协议映射,替代 cc-switch 本地代理。
cc-switch 数据模型(已实测)
- 数据在
C:\Users\<user>\.cc-switch\cc-switch.db,SQLite。 providers表:id, app_type(claude/codex/...), name, settings_config(JSON), meta(JSON), is_current。- 当前激活:
settings.json的currentProviderClaude/currentProviderCodex(uuid)。 协议映射规则:
meta.apiFormat字段(cc-switch 本地代理127.0.0.1:15721按此做 Anthropic/Responses → 上游协议转换)。常见值:openai_chat→ 上游是 OpenAI chat/completions 兼容openai_responses→ 上游是 OpenAI Responses API 兼容anthropic→ 上游原生 Anthropic
- Claude provider 凭据在
settings_config.env.ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN/ANTHROPIC_MODEL。 - Codex provider 凭据在
settings_config.auth.OPENAI_API_KEY+config(TOML 里的base_url、wire_api、model)。
导入 new-api 的步骤
- 先登录拿 token(new-api 的
/api/setup初始化 root;若已有 root 但不知密码,可改 SQLiteone-api.db的users.password为新的 bcrypt hash 再登录)。 建渠道(POST
/api/channel/,嵌套结构{"mode":"single","channel":{...}}):- Claude 上游(apiFormat=openai_chat)→ new-api 渠道
type: 1(OpenAI),base_url 填映射后协议地址,models 填 ANTHROPIC_MODEL。 - Codex 上游(apiFormat=openai_responses)→ new-api 渠道
type: 1(OpenAI)。
坑:OpenAI 类型渠道 new-api 会自动拼
/v1/chat/completions,所以 base_url 不能带/v1结尾(如https://api.tirayai.com),否则报Invalid URL (POST /v1/v1/chat/completions)。- Claude 上游(apiFormat=openai_chat)→ new-api 渠道
- 更新渠道(PUT
/api/channel/)是扁平结构(channel 字段直接平铺,无 mode/channel 包裹),且不能带status字段(源码显式拒绝,报 Invalid parameters)。 - 建 token(POST
/api/token/,扁平结构{name, unlimited_quota:true, expired_time:-1});完整 key 用POST /api/token/:id/key取(列表/详情返回掩码)。 端到端验证(都用
Authorization: Bearer sk-...):# Anthropic 协议(Claude CLI 用) curl -X POST http://localhost:8318/v1/messages -H "Authorization: Bearer sk-XXX" \ -d '{"model":"deepseek-v4-flash","max_tokens":64,"messages":[{"role":"user","content":"hi"}]}' # Responses 协议(Codex 用) curl -X POST http://localhost:8318/v1/responses -H "Authorization: Bearer sk-XXX" \ -d '{"model":"gpt-5.6-terra","input":"hi","max_output_tokens":64}'
本机已配置实例(2026-08)
- 管理端:
http://localhost:8318,账号admin(密码已重置,见备注)。 - 调用 token:
sk-kV3AbxROoOyDcOhv1DEaWkoDsdittS3lly55H5XqIk3bUjTA(unlimited)。 - 渠道 1
cc-opencode-go (claude):type OpenAI,上游https://opencode.ai/zen/go,模型deepseek-v4-flash(映射自 openai_chat),测试 3.1s。 - 渠道 2
cc-tiray (codex):type OpenAI,上游https://api.tirayai.com,模型gpt-5.6-terra(映射自 openai_responses),测试 2.1s。 - 若要在 cc-switch 里切到 new-api:Claude provider 设
ANTHROPIC_BASE_URL=http://127.0.0.1:8318+ANTHROPIC_AUTH_TOKEN=sk-kV3A...;Codex provider 设base_url=http://127.0.0.1:8318/v1+wire_api=responses+ key。
相关概念
- New API 本地安装 (Windows).md):new-api 安装与端口定制。
- cc-switch:管理 Claude Code / Codex 配置切换的桌面工具,本地代理 15721 做协议映射转发。
本文归档于个人知识库 · 领域:CS & AI · 模块:04 Project_CS_AI/AI apps