1. 单 Claude 入口后,计费先要拆成“聊天面”和“Cowork 面”
Claude 把 Cowork 与聊天合并成一个 Claude 后,Claude Code 的 settings.json 里两套凭证开始打架:ANTHROPIC_BASE_URL 指向同一个网关,Token 消耗却说不清谁是谁。要先把入口拆清楚,再到 TaoToken 官网(https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=single_claude_billing)获取 Key,并把 Base URL 统一到 https://taotoken.net/api。很多团队的报错不是 401,也不是模型不可用,而是月底对账时发现聊天和 Cowork 的消耗混在同一把 Key 里:聊天窗口里一次长对话,和 Cowork 里一次多步骤任务,都产生 Token,但归属不同。作为计费产品经理,我更关心的是:合并入口之后,如何用一套 TaoToken 凭证,把聊天面、Cowork 面、Claude Code 面、Codex 面拆成可对账的计量单元。下面从调用凭证、Base URL、配置示例和计费规则表四个角度落地。
合并入口意味着用户侧少了一个切换按钮,但不意味着后台计量可以合并。聊天面通常是单轮或多轮对话,计量重点是输入 Token、输出 Token、缓存读写;Cowork 面更像任务执行,计量重点除了对话 Token,还可能包含多轮工具调用、长上下文重复携带、任务重试。如果两者共用一把 Key、一个模型别名,账单上只会看到“总消耗”,无法回答“是聊天贵,还是 Cowork 贵”。
我建议把“一个 Claude”理解为前端统一入口,把“TaoToken”理解为后端统一计费入口。前端可以只有一个 Claude,后端至少拆出三个对象:凭证对象、计量对象、对账对象。凭证对象是 API Key,计量对象是模型与请求,对账对象是 Key 名称、模型 ID、时间窗口、会话或任务标识。三者对齐,才能做到聊天与 Cowork 共用 TaoToken 而不混淆消耗。
在具体操作上,先不要急着改 settings.json。先去 TaoToken 官网拿 Key、看模型列表、确认 Base URL。Base URL 用 https://taotoken.net/api,不要带查询参数,不要把 UTM 写进工具配置。Key 用 YOUR_API_KEY 占位,后续按聊天、Cowork、Codex 分 Key 命名。这样后面无论 Claude Code、Codex 还是 CC Switch,都只是替换凭证和模型 ID。
2. 在填写调用凭证前,TaoToken 侧先确认 Key 与 Base URL
在准备填写调用凭证前,打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=before_api_key 获取 Key。这是顺序问题:先拿 Key,再改配置,最后才对账。很多配置错误不是模型不支持,而是 Key 与 Base URL 不匹配,或者把聊天 Key 填到 Codex 的 config.toml 里,又把 ANTHROPIC_* 环境变量带到 Codex,导致请求头格式不对。
TaoToken 侧要确认三类字段:
第一类,Base URL。统一写: https://taotoken.net/api 注意,工具配置里的 Base URL 不要加 UTM,也不要写末尾斜杠,除非客户端文档明确要求。UTM 只用于官网链接,不用于 API 请求。
第二类,API Key。建议至少准备两把:一把 TaoToken-Chat,一把 TaoToken-Cowork。如果还要接 Claude Code 和 Codex,可以再加 TaoToken-ClaudeCode、TaoToken-Codex。Key 名称不要写“test”“default”,否则对账时无法区分。占位符统一用 YOUR_API_KEY,复制到本地后替换。
第三类,模型 ID。聊天面和 Cowork 面可以选同一个模型,也可以选不同模型。计费产品经理视角:如果希望先观察消耗差异,建议先用同一个模型,仅通过 Key 区分来源;如果已经知道 Cowork 任务上下文更长,可以给 Cowork 单独选更合适的模型,并在规则表中记录。
这里给一个 Key 命名建议表:
| Key 名称 | 用途 | 是否允许流式 | 建议模型 | 对账标识 |
|---|---|---|---|---|
| TaoToken-Chat | 聊天面、模型对话 | 是 | 按聊天场景选 | key=chat |
| TaoToken-Cowork | Cowork 任务 | 是 | 按任务复杂度选 | key=cowork |
| TaoToken-ClaudeCode | Claude Code CLI | 是 | 按代码场景选 | key=claude-code |
| TaoToken-Codex | Codex CLI | 视客户端 | 按代码场景选 | key=codex |
这张表不替代控制台账单,但它能让本地配置和账单字段对齐。创建 Key 的入口放在文末 CTA,先按这个命名规则准备,后面配置时直接替换。
3. 共用计费规则表:同一 Base URL,不同消耗归属
下面这张表是本文的可复现产出:Base URL 全部指向 https://taotoken.net/api,但聊天与 Cowork 用不同 Key、不同对账标识。你可以把它复制到本地文档,改掉 Key 名称即可。
| 消耗入口 | 建议 Key | Base URL | 调用方 | 计量重点 | 对账字段 | 备注 |
|---|---|---|---|---|---|---|
| 聊天面 | TaoToken-Chat | https://taotoken.net/api | Claude 聊天、模型对话 | 输入 Token、输出 Token、缓存 | key=chat、model、time | 不要把 Cowork 任务塞进此 Key |
| Cowork 面 | TaoToken-Cowork | https://taotoken.net/api | Cowork 任务、多步骤执行 | 长上下文、工具轮次、重试 | key=cowork、task_id、model | 任务 ID 尽量透传到日志 |
| Claude Code | TaoToken-ClaudeCode | https://taotoken.net/api | Claude Code CLI | 代码上下文、补全、重试 | key=claude-code、model | 用 ANTHROPIC_* 配置 |
| Codex | TaoToken-Codex | https://taotoken.net/api | Codex CLI | 代码上下文、补全、重试 | key=codex、model | 用 config.toml,不要用 ANTHROPIC_* |
这张表的关键不是“多建几个 Key”,而是“让每一笔 Token 有归属”。聊天和 Cowork 合并成一个 Claude 后,用户可能在同一窗口里既聊天又触发任务。如果所有请求都走同一把 Key,账单只能看到总量。把 Key 拆开,至少能回答三个问题:谁在用、用在哪、消耗多少。
如果你希望更细,可以在应用层再加请求头,例如:
X-TaoToken-Surface: chat X-TaoToken-Surface: cowork但前提是你的客户端或中间层能注入请求头。如果客户端不支持自定义请求头,就退回到 Key 区分。不要为了加请求头去改生产配置,先用 Key 做到可对账。
4. Claude Code:settings.json + ANTHROPIC_* 最小配置
Claude Code 读环境变量和 settings.json。目标是把请求指向 TaoToken,而不是让工具自己找默认端点。下面是最小可用示例,复制后替换 YOUR_API_KEY 和模型 ID。
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "ANTHROPIC_MODEL": "YOUR_CLAUDE_MODEL_ID", "ANTHROPIC_SMALL_FAST_MODEL": "YOUR_FAST_MODEL_ID" } }这个配置放在用户级 settings.json 或项目级 settings.json 中。项目级适合团队统一,用户级适合个人本机。注意两点:
- ANTHROPIC_BASE_URL 必须是 https://taotoken.net/api,不要加 UTM,不要加多余路径。
- ANTHROPIC_AUTH_TOKEN 用你在 TaoToken 创建的 Key,不要用聊天 Key 给 Codex 使用。
如果你更习惯环境变量,可以在本地 shell 中设置:
export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_AUTH_TOKEN="YOUR_API_KEY" export ANTHROPIC_MODEL="YOUR_CLAUDE_MODEL_ID" export ANTHROPIC_SMALL_FAST_MODEL="YOUR_FAST_MODEL_ID"设置后,Claude Code 的请求会走 TaoToken。对账时,如果 Claude Code 和聊天共用一把 Key,账单会混。建议 Claude Code 用独立的 TaoToken-ClaudeCode Key。这样在账单或日志中看到 key=claude-code,就知道不是聊天消耗,也不是 Cowork 消耗。
还有一个常见错误:把 ANTHROPIC_* 复制到 Codex。Claude Code 走 Anthropic 兼容字段,Codex 走自己的 config.toml。两者不要混。下一节单独写 Codex。
5. Codex:config.toml 只走 OpenAI 兼容字段
Codex 不使用 ANTHROPIC_BASE_URL。把 Claude Code 的配置复制到 Codex,通常会出现鉴权失败或模型不可用。Codex 用 config.toml 管理模型供应商。下面是一个最小示例,Base URL 仍然指向 https://taotoken.net/api,Key 通过环境变量传入。
model = "YOUR_CODEX_MODEL_ID" model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY" wire_api = "chat"本地环境变量:
export TAOTOKEN_API_KEY="YOUR_API_KEY"在这个配置里,TAOTOKEN_API_KEY 建议使用 TaoToken-Codex 这把 Key,不要与聊天、Cowork 共用。原因还是对账:Codex 的 Token 消耗模式与聊天不同,代码上下文通常更长,补全和重试也可能更多。如果共用聊天 Key,月底无法判断是聊天窗口用了很多,还是 Codex 用了很多。
如果你的 Codex 版本对字段名有差异,以你本地版本支持的字段为准,但原则不变:Base URL 指向 https://taotoken.net/api,Key 用 YOUR_API_KEY 替换,变量名不要照抄 ANTHROPIC_*。不要把 Claude Code 的 ANTHROPIC_AUTH_TOKEN 写成 Codex 的 env_key,这会让配置看起来像能跑,实际请求头格式不对。
配置完成后,查看本地日志或客户端输出,确认请求域名是 taotoken.net/api,而不是其他默认地址。如果日志里出现旧地址,说明还有一层配置覆盖了 config.toml,需要检查环境变量和项目级配置。
6. CC Switch 三件套:把聊天、Cowork、Codex 放到一个切换面板
如果你用 CC Switch 管理多个供应商,可以把 TaoToken 作为统一 Provider。所谓“三件套”,在配置层面就是三个必填项:Provider 名称、Base URL、API Key。更细一点,再加一个默认模型。下面给一个示例结构,字段名按你本地 CC Switch 版本为准,但三件套不要变。
{ "providers": [ { "name": "TaoToken-Chat", "base_url": "https://taotoken.net/api", "api_key": "YOUR_API_KEY", "model": "YOUR_CHAT_MODEL_ID" }, { "name": "TaoToken-Cowork", "base_url": "https://taotoken.net/api", "api_key": "YOUR_API_KEY", "model": "YOUR_COWORK_MODEL_ID" }, { "name": "TaoToken-Codex", "base_url": "https://taotoken.net/api", "api_key": "YOUR_API_KEY", "model": "YOUR_CODEX_MODEL_ID" } ], "current": "TaoToken-Cowork" }这个示例不是让你把同一把 Key 复制三次。实际使用时,TaoToken-Chat、TaoToken-Cowork、TaoToken-Codex 应该分别对应 TaoToken 控制台里创建的不同 Key。CC Switch 只负责切换 Provider,计费归属仍然由 Key 决定。Provider 名称写清楚,切换时不容易选错。
CC Switch 三件套的检查清单:
| 检查项 | 正确做法 | 常见错误 |
|---|---|---|
| Provider 名称 | 带用途后缀,如 TaoToken-Cowork | 只写 TaoToken |
| Base URL | https://taotoken.net/api | 带 UTM 或带多余路径 |
| API Key | 按用途分 Key | 聊天、Cowork、Codex 共用一把 |
| 默认模型 | 与 Provider 用途匹配 | Cowork 用了聊天小模型 |
| 当前选择 | 切换后确认 current 字段 | 以为切换了,实际没保存 |
在 CC Switch 里,聊天面和 Cowork 面可以都指向 TaoToken,但建议保留两个 Provider。这样做的好处是:当你想比较聊天和 Cowork 的消耗时,不需要翻账单里几万条请求,只需要看两个 Provider 对应的 Key 汇总。
7. 对账排障:如何判断一笔 Token 是聊天还是 Cowork
配置完成后,最常见的问题不是请求失败,而是“能跑,但算不清”。按下面顺序排查,基本能定位大部分混淆。
第一步,看 Base URL。所有客户端都应该指向 https://taotoken.net/api。如果某个客户端还指向旧地址,它不会进入 TaoToken 的计量体系。检查本地环境变量:
echo $ANTHROPIC_BASE_URL echo $TAOTOKEN_API_KEY注意,第二个命令会输出 Key,建议只在本地临时检查,不要把输出发到公开渠道。
第二步,看 Key 名称。聊天面用 TaoToken-Chat,Cowork 用 TaoToken-Cowork,Claude Code 用 TaoToken-ClaudeCode,Codex 用 TaoToken-Codex。如果你发现聊天面日志里出现 cowork 后缀的 Key,说明配置串了。
第三步,看模型 ID。聊天和 Cowork 可以共用模型,但如果你给 Cowork 选了长上下文模型,对账时看到高消耗,先确认是不是 Cowork 正常消耗,而不是聊天异常放大。
第四步,看会话或任务标识。聊天通常有 conversation id,Cowork 通常有 task id 或 job id。如果客户端支持透传,把它写进日志。如果没有,就在本地记录时间窗口,用 Key + 时间做粗粒度对账。
第五步,看错误类型。401 通常是 Key 无效或填错;403 可能是 Key 权限或模型权限;404 可能是 Base URL 路径不对;429 可能是限流或余额;模型不存在则检查模型 ID。不要一看到失败就改 Base URL,先确认请求头格式:Claude Code 用 ANTHROPIC_*,Codex 用 config.toml,二者不要互抄。
对账规则可以简化成一句话:Base URL 统一,Key 分开,模型按用途选,日志留时间窗口。这样即使 Cowork 和聊天合并成一个 Claude,TaoToken 侧仍然能把消耗拆开。
8. 从模型对话到 Coding Plan:文末 CTA 路径
如果你已经准备好把聊天、Cowork、Claude Code、Codex 都接到 TaoToken,建议按这个顺序走:
- 先打开模型对话,确认模型 ID 和返回格式:https://taotoken.net/models/detail/chat?utm_source=taotoken_aicg_blog_end&utm_content=cta_chat
- 再看 Coding Plan,确认代码场景的用量和套餐是否匹配:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=cta_coding_plan
- 然后创建 Key,按 TaoToken-Chat、TaoToken-Cowork、TaoToken-Codex 命名:https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=cta_api_keys
- 最后对照 Claude Code 文档,把 settings.json 或环境变量配好:https://taotoken.net/doc/ClaudeCodeAnthropic?utm_source=taotoken_aicg_blog_end&utm_content=cta_claude_code_doc
如果你还没拿 Key,先在准备填写调用凭证前打开 TaoToken 官网:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=cta_before_key。Base URL 继续用 https://taotoken.net/api,不要带 UTM。配置完成后,回到本文第 3 节的共用计费规则表,把聊天和 Cowork 的 Key 分别填进去,跑一天后看两把 Key 的消耗差异。这样你得到的不是一句“合并成一个 Claude”,而是一套能对账、能排障、能复现的 TaoToken 接入方案。