1. cc-remote 新版发布后,双工具共用一套 Key 到底怎么落地
cc-remote 新版发布之后,最值得动手折腾的一件事,就是让 Claude Code 和 Codex 共用同一个 TaoToken 统一 Key 与 API 通道。cc-remote 本身是面向 Claude Code 和 Codex 的开源自托管远程工作台,它不转发模型 API,模型请求仍然由你本机的 claude 或 codex CLI 发起,认证和项目文件都留在本机。所以真正决定“模型走哪条通道”的,还是本机 CLI 的配置文件:Claude Code 读settings.json,Codex 读config.toml。
这篇就聚焦协议 v8 场景下的配置骨架落地。我会给出可直接复制的settings.json与config.toml,讲清 CC Switch 的切换步骤,再用一次真实请求验证连通性。适合已经在用 Claude Code 或 Codex、想统一 Key 管理、又不想把凭据散落在多个工具里的开发者。自托管场景下,relay 只做 WebSocket 中继,不接触模型 Key,模型通道的配置完全在你本机完成,这也是双工具共用一套 Key 的前提。
2. 前置准备:TaoToken 统一 Key 与通道地址
在动配置文件之前,先把两样东西准备好:一个可用的 TaoToken API Key,以及统一的接入地址。TaoToken 的 API 入口是https://taotoken.net/api,官网是https://taotoken.net/。Claude Code 走 Anthropic 兼容协议,Codex 走 OpenAI 兼容协议,两者共用同一个 Key,只是 base URL 的路径不同。
你需要先在控制台创建一个 Key。打开 API Keys 页面生成即可,建议按工具命名,比如cc-remote-claude和cc-remote-codex,方便后续排查是哪个工具在调用。如果只是本地自用,一个 Key 同时给两个工具也完全没问题,统一 Key 的意义就在这里。
注意:Key 只放在本机配置文件或 root-only 的环境文件里,不要提交到 Git,也不要放进 Agent 能读取的项目目录。cc-remote 的 wrapper 密钥和模型 Key 是两回事,前者用于控制链路,后者用于模型链路,别混用。
准备好 Key 之后,先确认本机的claude和codex命令能正常跑起来。cc-remote 新版要求三层协议严格校验,wrapper 只建立出站连接,本机不需要开放入站端口,所以模型通道的配置和远程控制链路是解耦的,你可以先把模型通道调通,再接远程工作台。
3. 可复制配置:settings.json 与 config.toml 骨架
Claude Code 的配置放在用户级settings.json,通常位于~/.claude/settings.json。核心是把模型请求指向 TaoToken 的 Anthropic 兼容入口,并通过环境变量注入 Key。下面这份骨架可以直接改 Key 后使用:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你的TaoTokenKey", "ANTHROPIC_MODEL": "claude-sonnet-4-5", "ANTHROPIC_SMALL_FAST_MODEL": "claude-haiku-4-5" }, "permissions": { "allow": [], "deny": [] } }ANTHROPIC_BASE_URL指向 TaoToken 的 API 入口,ANTHROPIC_AUTH_TOKEN填你的统一 Key。ANTHROPIC_MODEL是主模型,ANTHROPIC_SMALL_FAST_MODEL用于轻量任务,两者可以按需替换成你账号下可用的模型名。权限段先留空,等接入验证通过后再按项目收紧。
Codex 的配置放在~/.codex/config.toml,走 OpenAI 兼容协议。骨架如下:
model = "gpt-5-codex" model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api/v1" env_key = "TAOTOKEN_API_KEY" wire_api = "responses" [profiles.default] model_provider = "taotoken" model = "gpt-5-codex" approval_policy = "on-request"这里base_url用https://taotoken.net/api/v1,env_key指定从环境变量读取 Key,避免明文写进配置文件。wire_api按 Codex 版本选择,新版 app-server 对接线程和回合事件,用responses更贴合。Key 通过 shell 注入:
export TAOTOKEN_API_KEY="sk-你的TaoTokenKey"把这两行分别写进~/.zshrc或~/.bashrc,重开终端生效。这样 Claude Code 和 Codex 共用同一个 Key,只是读取方式不同:前者直接写在 settings.json 的 env 段,后者走环境变量。如果你更在意安全,也可以把 Claude 的 Key 同样改成环境变量引用,保持两套配置风格一致。
4. CC Switch 切换与一次请求验证连通性
配置写好后,用 CC Switch 在两个工具间切换。CC Switch 的作用是管理多套 CLI 配置档案,切换时把对应档案写入目标工具的配置路径。操作步骤是:先确认 CC Switch 已识别~/.claude/settings.json和~/.codex/config.toml两个目标,然后在档案列表里选中你刚建好的 TaoToken 档案,执行切换。切换完成后,两个工具的模型通道都指向 TaoToken,Key 是同一个。
验证连通性最直接的方式是发一次真实请求。先验证 Claude Code:
claude -p "用一句话说明当前使用的模型名称"如果配置生效,会返回模型生成的回答,而不是认证错误或连接超时。再验证 Codex:
codex exec "输出当前工作目录下的文件数量"Codex 会走 app-server 的线程和回合事件,命令输出、文件 diff 都会在终端里体现。两条命令都返回正常结果,说明统一 Key 和通道已经打通。
如果你在 cc-remote 的网页端操作,登录后新建会话时选择 Claude Code 或 Codex,确认工作目录,发送第一条消息即可。会话会显示真实模型、思考强度和上下文占用,工具审批请求也能回传。协议 v8 要求三层严格校验版本,如果 Web、relay、wrapper 版本不一致,会直接拒绝连接,而不是“看起来能连上、实际丢事件”。所以验证时如果网页端连不上,先检查三层版本是否一致。
5. 本篇常见错排查
接入过程中最容易踩的坑集中在认证和协议版本两类。下面按现象给出排查方向。
认证失败或 401:先确认 Key 没有多余空格,ANTHROPIC_AUTH_TOKEN和TAOTOKEN_API_KEY指向同一个有效 Key。Claude Code 的 base URL 是https://taotoken.net/api,Codex 是https://taotoken.net/api/v1,路径写错会直接 404 或认证异常。
模型名不可用:ANTHROPIC_MODEL和model必须是你账号下实际可用的模型名。填了不存在的模型,请求会被拒绝。先用模型对话页面确认可用模型列表,再回填配置。
Codex 读不到 Key:env_key指定的环境变量名必须和 shell 里 export 的完全一致。改完.zshrc后要重开终端,或者source一下,否则当前会话读不到新变量。
cc-remote 网页端连不上:检查 relay 和 wrapper 的协议版本是否都是 v8。新版要求三层严格校验,版本不一致直接拒绝连接。wrapper 只建立出站连接,确认它能主动连到 relay 地址。
终端占用导致网页只读:如果同一个会话正在被本机原生 CLI 驱动,网页会进入实时镜像状态,避免双写串台。这时可以主动接管,终端退出后会话会自动恢复为正常远程控制。
断线后事件缺失:协议 v8 支持按事件游标补流,Claude transcript 和 Codex rollout 历史按需分页读取。如果断线重连后历史有缺口,检查 wrapper 重连后是否恢复了会话注册表和运行状态。
提示:慢客户端超过背压限制会被断开,而不是静默丢帧。这是设计上的取舍,宁可断开也不让事件悄悄丢失。遇到频繁断开,先看网络质量,再看客户端队列容量。
6. 把统一 Key 接进你的日常链路
配置调通之后,日常使用就顺了:一台机器同时托管 Claude Code 和 Codex,多个项目、多个 Session 并行工作,手机和浏览器实时查看、审批、排队、打断与接管。模型通道共用一套 TaoToken Key,控制链路走 cc-remote 的自托管中继,两条链路互不干扰。
如果你还在验证阶段,想先确认模型可用性,可以直接在模型对话页面发一条消息试试。准备长期跑编码任务或 Agent 工作流,可以了解 Coding Plan,把统一 Key 的用量和额度管理起来。需要生成或轮换 Key,去 API Keys 页面操作。接入过程中遇到协议或配置问题,接入文档里有更细的字段说明。
把settings.json和config.toml这两份骨架存好,下次换机器或重装环境,改个 Key 就能恢复双工具的统一通道。