将 Claude Max 订阅转换为标准 Anthropic API 接口的本地代理网关。
让你的第三方工具(如 Cursor、OpenClaw 等)通过 Claude Max 订阅额度调用 Claude API,无需额外付费购买 API credits。
请低调使用,不要大范围宣传。
第三方客户端 → localhost:5678 → [请求处理] → api.anthropic.com
↓
- OAuth 认证注入
- 工具名称映射 (双向)
- System Prompt 迁移
- CCH 签名计算
代理读取 Claude Code CLI 本地保存的 OAuth token,将请求伪装为 Claude Code CLI 发出,从而使用订阅额度而非 API credits。
- Python 3.10+
- Claude Code CLI 已安装并登录(
claude命令可用) - Claude Max / Pro 有效订阅
# 克隆项目
git clone https://github.com/zhangbinhui/claude-max-proxy.git
cd claude-max-proxy
# 创建虚拟环境并安装依赖
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 启动代理
python3 proxy.py启动后代理监听 http://localhost:5678,兼容标准 Anthropic Messages API。
通过环境变量配置:
| 变量 | 默认值 | 说明 |
|---|---|---|
PORT |
5678 |
监听端口 |
DEBUG |
空 | 设为 1 开启调试模式(请求 dump 到 /tmp/) |
示例:
PORT=8080 python3 proxy.py
DEBUG=1 python3 proxy.py将 API Base URL 设置为 http://localhost:5678,API Key 随意填写(代理会忽略并使用本地 OAuth token)。
本项目的主要目的是让第三方工具用上 Claude Max/Pro 的订阅额度,因此建议在 claude.ai/settings/usage 中关闭 Extra Usage,避免产生额外费用。
如果遇到 You're out of extra usage 报错,说明该请求被 Anthropic 判定为第三方客户端,强制走 Extra Usage 计费。
代理通过 tool_name_mapping.json 对工具名进行双向映射:
- 请求方向:第三方客户端的工具名 → Claude Code 原生工具名(如
exec→Bash,read→Read) - 响应方向:Claude Code 返回的工具名 → 第三方客户端工具名(自动反向映射)
- 移除不支持的工具:
_remove列表中的工具会被直接丢弃(如canvas、browser等 Claude Code 不存在的工具)
映射表分三类:
direct:功能直接对应的工具(如read↔Read)borrowed:借用 Claude Code 已有工具名的映射(如memory_search→Glob),保留原始 schema 不变_padding:当 Claude Code 新增了工具但暂时没法和第三方客户端对应时,把 CC 工具名加到这里,代理会从cc_tools_baseline.json取真实 schema 注入,让请求工具集更接近真实 Claude Code(第三方客户端不会调用这些工具,纯粹补齐指纹)。如果之后能找到对应的第三方工具,把它从_padding移到borrowed即可
如需自定义,编辑 tool_name_mapping.json 即可。Claude Code 升级后如果工具集发生变化,可能需要重新抓取 baseline 并调整映射。
Anthropic 通过 system 参数检测第三方应用。代理将原始 system prompt 迁移到第一条 user message 中(包裹在 <system_instructions> 标签内),system 参数只保留标准 Claude Code 格式(billing header + identity),从而绕过检测。
| 文件 | 说明 |
|---|---|
cc_tools_baseline.json |
Claude Code 原生工具定义快照,用于对照映射 |
cc_system_baseline.json |
Claude Code 原生 system prompt 快照,用于对照格式 |
tool_name_mapping.json |
工具名称映射配置 |
- 本项目仅供学习和研究用途
- Token 依赖 Claude Code CLI 的本地凭证,请勿泄露
~/.claude/.credentials.json - Token 过期时代理会自动通过
claude --print刷新 - CC 版本号从本地
claude --version自动检测,build 号可通过.cc_build文件缓存 - 本项目由 Claude Opus 4.6 编写,遇到问题请咨询 AI