☰
deepclaude架构剖析:两个Shell脚本加一个本地代理如何“换掉“Claude Code的大脑
2026/10/7 8:14:18 网站建设 项目流程

deepclaude架构剖析:两个Shell脚本加一个本地代理如何"换掉"Claude Code的大脑

【免费下载链接】deepclaudeUse Claude Code's autonomous agent loop with DeepSeek V4 Pro, OpenRouter, or any Anthropic-compatible backend. Same UX, 17x cheaper.项目地址: https://gitcode.com/gh_mirrors/deepc/deepclaude

deepclaude 是一个极简的开源项目:只用两个 Shell 启动脚本加一个本地 Node.js 代理,就能把 Claude Code 的"大脑"从昂贵的 Anthropic 模型换成 DeepSeek V4 Pro、OpenRouter 等 Anthropic 兼容后端——同样的自主编程体验,成本最高降低 17 倍。本文带你完整拆解这套架构:脚本改了什么、代理拦了什么、流量如何分流。

📁 deepclaude 项目结构一览

整个仓库非常小,每个文件职责单一:

文件作用
deepclaude.shmacOS/Linux 启动脚本(约 278 行)
deepclaude.ps1Windows PowerShell 启动脚本
proxy/model-proxy.js本地代理核心:分流、重映射、记账
proxy/start-proxy.js代理启动入口(支持热切换模式)
proxy/README.md代理设计文档

🧠 核心思路:保留"身体",换掉"大脑"

Claude Code 的架构可以拆成两部分:CLI 本身是"身体"(工具循环、文件读写、bash 执行、git 操作),模型 API 是"大脑"(负责思考和决策)。deepclaude 的哲学就是"身体不动,只换大脑":

你的终端 └── Claude Code CLI(工具循环、文件编辑、bash、git —— 完全不变) └── API 调用 → DeepSeek V4 Pro($0.87/M)而非 Anthropic($15/M)

这可行的前提是:Claude Code 允许通过环境变量指定 API 地址和模型名,而 DeepSeek 恰好提供了 Anthropic 协议兼容端点。于是"换模型"退化成了一次环境变量重定向,完全不用改 Claude Code 一行代码。

⚙️ Shell 脚本架构:只做三件事

以 deepclaude.sh 为例,它的全部工作流只有三步:

1️⃣ 解析参数—— 支持--backend(ds/or/fw/anthropic)、--remote、--status、--cost、--benchmark、--switch等选项。

2️⃣ 设置会话级环境变量—— 这是"换大脑"的关键动作:

环境变量作用
ANTHROPIC_BASE_URL把 API 请求指向 DeepSeek / OpenRouter / Fireworks
ANTHROPIC_AUTH_TOKEN对应后端的 API Key
ANTHROPIC_DEFAULT_OPUS_MODEL/_SONNET_MODEL/_HAIKU_MODEL各档位任务使用的模型名
CLAUDE_CODE_SUBAGENT_MODEL子代理(subagent)使用的模型

3️⃣ 启动并交接—— 用exec claude直接把进程替换成 Claude Code(见 deepclaude.sh 启动逻辑),退出即结束;Windows 版则会在会话结束后显式清理这些变量,保证你的原始配置不被污染。

默认后端 DeepSeek 的映射规则在 resolve_backend 中:Opus/Sonnet 档位都映射到deepseek-v4-pro,Haiku 档位和子代理映射到更快的deepseek-v4-flash。

📡 本地代理架构:为什么还需要一个 proxy?

普通启动模式其实只靠脚本就够了——但远程控制模式(--remote,用手机浏览器操作 Claude Code)有个特殊问题:它存在两条独立通道:

  • Bridge 通道:WebSocket 硬编码连向 Anthropic,必须走 Anthropic 的 OAuth 登录;
  • 模型 API 通道:通过ANTHROPIC_BASE_URL可配置。

如果直接把认证 Token 换成 DeepSeek 的 Key,Bridge 就会断掉。所以 deepclaude 启动了一个监听在127.0.0.1:3200的本地代理来拆分流量(设计说明见 proxy/README.md):

claude remote-control ├── Bridge WebSocket → Anthropic(保持 OAuth 登录) └── 模型 API 调用 → localhost:3200(本地代理) ├── /v1/messages → DeepSeek($0.87/M) └── 其他一切 → Anthropic(透明透传)

代理由 start-proxy.js 拉起,端口被占用时会自动尝试+1顺延,会话结束时由脚本的退出钩子(cleanup_proxy)自动关闭,不残留任何进程。

🔍 代理内部细节:四个关键机制

model-proxy.js 看似只有一个文件,却藏着四个让"换脑"真正可用的工程细节:

  1. 模型名重映射:Claude Code 请求claude-opus-4-6,代理在转发前改写成deepseek-v4-pro(见 MODEL_REMAP),对 CLI 完全透明。
  2. 清洗 thinking 块:DeepSeek 会拒绝它没生成过的思考块,代理会把请求体里的 thinking 内容块剥掉,避免上游返回 400。
  3. 补齐 usage 字段:DeepSeek 的流式响应可能缺少 token 用量字段,会导致 Claude Code 崩溃,代理里的UsageNormalizer流式转换器会即时补上(见 UsageNormalizer)。
  4. 成本记账:每路请求的 input/output token 都被记录,访问/_proxy/cost即可拿到真实花费、Anthropic 等价花费和节省金额。

此外还有/_proxy/mode(热切换后端)和/_proxy/status(当前模式与运行时长)两个控制端点,且/mode端点会校验请求来源仅限本机,防止被外部调用。

🔄 实测:会话中热切换模型后端

得益于/_proxy/mode端点,你可以在不重启Claude Code 的情况下随时换后端——在终端或 VS Code 插件里输入/deepseek斜杠命令即可:

deepclaude 在终端中通过本地代理热切换 DeepSeek 模型后端

日常任务跑 DeepSeek 省钱,遇到复杂推理难题时切回 Anthropic Opus 兜底,--backend anthropic或/anthropic命令一键完成。

💰 deepclaude 成本对比

DeepSeek 的自动上下文缓存(命中价 $0.004/M,比未缓存便宜 120 倍)让多步 Agent 循环变得极其便宜:

使用强度Anthropic Maxdeepclaude (DeepSeek)节省
轻度(10 天/月)$200/月(有上限)约 $20/月90%
重度(25 天/月)$200/月(有上限)约 $50/月75%
带自动循环$200/月(有上限)约 $80/月60%

四个后端的价格与定位:DeepSeek(默认,支持自动缓存)、OpenRouter(最便宜)、Fireworks(最快)、Anthropic(难题兜底)。

🌐 远程控制:浏览器里跑 DeepSeek 版 Claude Code

deepclaude --remote会打印一个claude.ai/code/...链接,用手机、平板或任意浏览器打开即可操作本机会话——而模型调用走的是本地代理转发到 DeepSeek:

前提条件:已登录 Claude Code、有 claude.ai 订阅(Bridge 依赖 Anthropic 基础设施)、Node.js 18+。

⚖️ 适用场景与已知局限

正常工作 ✅受限功能 ⚠️
文件读写、bash 执行、Glob/Grep 搜索图像/视觉输入(DeepSeek 端点不支持)
多步自主工具循环、子代理MCP 服务器工具
Git 操作、/init项目初始化Anthropic 的cache_control缓存标记被忽略

官方给出的定位很诚实:约 80% 的常规编码任务DeepSeek V4 Pro 与 Claude Opus 表现相当;剩下约 20% 的复杂推理任务建议切回--backend anthropic。

🚀 快速上手(2 分钟)

  1. 获取一个 DeepSeek API Key;
  2. 克隆仓库:git clone https://gitcode.com/gh_mirrors/deepc/deepclaude
  3. 设置环境变量:export DEEPSEEK_API_KEY="sk-你的Key"(Windows 用setx DEEPSEEK_API_KEY)
  4. 赋予执行权限并启动:chmod +x deepclaude.sh && ./deepclaude.sh
  5. 用deepclaude --status检查后端状态,--cost查看价格对比,--benchmark测各家延迟

更完整的选项说明见 README.md 与 deepclaude.sh 帮助信息。

总结

deepclaude 用不到 1000 行代码演示了一个优雅的技巧:利用 Claude Code 的环境变量扩展点做"无侵入换脑",再用一个轻量本地代理解决协议兼容性和远程控制的双通道问题。如果你的日常是常规编码任务而非极限推理,这套"两个脚本 + 一个代理"的方案值得放进工具箱。

【免费下载链接】deepclaudeUse Claude Code's autonomous agent loop with DeepSeek V4 Pro, OpenRouter, or any Anthropic-compatible backend. Same UX, 17x cheaper.项目地址: https://gitcode.com/gh_mirrors/deepc/deepclaude

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询