Claude Code
Claude Code 是 ATM 一线接入对象之一。它使用 Anthropic Messages 协议,网关原生暴露在 /v1/messages。
ATM 自动检测什么
ATM 通过 ~/.claude/settings.json 识别 Claude Code。识别后会读取:
- Agent 的
model(如有)。 env块——尤其是ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_API_KEY、ANTHROPIC_MODEL。- 已安装的 prompts 和 skills。
~/.claude/projects/下的最近 transcript(用于用量归属)。
最简方案
- 签发 key。 在 Agents 页找到 Claude Code,点 Issue ATM key。ATM 创建
agentType: claude_code、policyId: direct的atm-…key。 - 把路由切到 ATM Gateway。 在 Providers 页给 Claude Code 选 ATM Gateway,点 Apply。
完事。ATM 会改写 ~/.claude/settings.json 里的相关字段:
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:4317",
"ANTHROPIC_AUTH_TOKEN": "atm-xxxxxxxxxxxx",
"ANTHROPIC_API_KEY": "atm-xxxxxxxxxxxx",
"ANTHROPIC_MODEL": "<your-model-id>"
}
}
- 重启 Claude Code。
cmd-Q完全退出再重启。
第一次请求之后,Overview → Recent Requests 应该能看到新 Agent,Usage 也会有新条目。
为什么同时写 ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY
ANTHROPIC_AUTH_TOKEN 是 Claude Code 的标准变量。ANTHROPIC_API_KEY 给老版本和第三方工具兜底。两者填同一个 atm-… 值。
切换模型
只改 ANTHROPIC_MODEL。不要 动 ANTHROPIC_BASE_URL 和 token。ATM 会按你的策略把请求路由到对应 Claude 家族模型。
Hooks
Claude Code 任务完成 Hook 会在 Agent 跑完时弹通知。从 Settings → Agent Hooks → Claude Code 安装。
Hook 纯展示用,不影响请求路由。
故障排查
| 现象 | 可能原因 | 处理 |
|---|---|---|
| Claude Code 报"API key not authorised" | 网关没启动,或换 key 后没重启 Claude Code。 | 启动网关;重启 Claude Code。 |
| 请求成功但 Usage 空 | 本地历史扫描器在上次批之后没跑过。 | 点 Rescan。 |
| 流式响应中途截断 | 早期 ATM 流式 reporter 的 bug。 | 升级到当前版本。 |