☰
deepclaude 远程控制揭秘:WebSocket 桥接与 DeepSeek API 双通道分流的原理
2026/10/7 6:40:12 网站建设 项目流程

deepclaude 远程控制揭秘:WebSocket 桥接与 DeepSeek API 双通道分流的原理

【免费下载链接】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 是一个开源的 Claude Code 加速省钱工具:它保留 Claude Code 完整的自主编码体验,把"大脑"换成 DeepSeek V4 Pro、OpenRouter 或任意 Anthropic 兼容后端,成本直接降到原来的 1/17。本文以--remote远程控制功能为主线,讲清楚 Anthropic WebSocket 桥接与 DeepSeek API 双通道分流的原理——为什么一条连接里要"劈成两半",以及本地代理是如何做到无感切换后端的。

双通道分流:远程控制为什么必须"劈开"

deepclaude --remote的卖点是:在任意浏览器(手机、平板都行)里打开一个 Claude Code 会话,用 DeepSeek 当大脑。运行后它会打印一条https://claude.ai/code/session_...链接。

要实现这件事,先要理解 Claude Code 远程控制的两条独立通道(详见 proxy/README.md):

通道走向特点
桥接(Bridge)wss://bridge.claudeusercontent.com的 WebSocket地址硬编码,必须走 Anthropic OAuth 认证
模型 APIHTTP 请求发往ANTHROPIC_BASE_URL可配置,可指向任意兼容后端

关键矛盾在于:桥接通道要求 Anthropic 身份登录,而如果你直接把ANTHROPIC_AUTH_TOKEN换成 DeepSeek 的密钥,桥接认证立刻失效,远程控制整个崩掉。

deepclaude 的解法:桥接通道原封不动走 Anthropic,模型 API 通道则重定向到本地代理http://localhost:3200,由代理决定这些请求最终发给谁:

claude remote-control ├── Bridge WebSocket → wss://bridge.claudeusercontent.com(Anthropic,硬编码) └── 模型 API 调用 → http://localhost:3200(本地代理) ├── /v1/messages → api.deepseek.com(DeepSeek 密钥) └── 其他所有请求 → api.anthropic.com(透明透传)

这就是"双通道分流"的全部含义:认证走贵的,思考走便宜的。

本地模型代理:分流发生在 localhost:3200

代理的核心逻辑全部在 proxy/model-proxy.js 中。它只做四件事:

1. 按路径分流。只有/v1/messages(模型调用)会被转发到 DeepSeek;其余所有请求透明透传给 Anthropic,桥接因此完全不受影响。

2. 模型名翻译。Claude Code 只会说 Anthropic 的"方言"。代理内置了一张映射表 MODEL_REMAP:claude-opus-4-6→deepseek-v4-pro、claude-sonnet-4-6/claude-haiku-4-5→deepseek-v4-flash,请求体里的模型名会被静默替换后再转发。

3. 兼容层修补。DeepSeek 的 SSE 流有时不带usage字段,会导致 Claude Code 直接崩溃。代理里的 UsageNormalizer 流式拦截每个事件并注入缺失的 token 统计;同时转发前会剥离历史消息中的 thinking 块(stripAllThinkingBlocks),因为 DeepSeek 会拒绝它自己没生成过的思考块。

4. 记账与实时切换。代理按各家价格(PRICING_PER_M)累计每个后端的 token 用量,并通过三个控制端点对外服务:

  • /_proxy/status— 当前模式、运行时长、请求数
  • /_proxy/cost— token 消耗、实际花费、对比 Anthropic 省了多少钱
  • POST /_proxy/mode— 免重启切换后端,并做了 Origin 白名单,只接受本机页面调用

实战:启动远程控制与免重启换脑

前提条件(README.md "Remote control" 一节):

  • 已登录 Claude Code(claude auth login)
  • 有 claude.ai 订阅(桥接是 Anthropic 的基础设施)
  • Node.js 18+(运行代理)

然后一条命令搞定:

deepclaude --remote # 远程控制 + DeepSeek deepclaude --remote -b or # 远程控制 + OpenRouter deepclaude --remote -b anthropic # 远程控制 + 原生 Anthropic

代理随会话自动启动、结束自动关闭,无需手动管理。启动脚本的完整逻辑在 deepclaude.sh 中:解析参数、按会话设置环境变量(退出后恢复原设置)、拉起代理并在进程退出时清理(cleanup_proxy)。

会话中途换脑:/deepseek 斜杠命令

最实用的特性是运行中切换后端,无需重启。把两个小文件放进~/.claude/commands/,之后在任意 Claude Code 会话里直接输入/deepseek或/anthropic即可。命令本质是让模型悄悄执行一次curl -X POST http://127.0.0.1:3200/_proxy/mode(配置模板见 README.md "Option 1: Slash commands" 一节)。

终端中执行 /deepseek 斜杠命令,模型代理即时切换到 DeepSeek 后端

同样的玩法也能嵌入 VS Code 的 Claude Code 扩展,一次思考后调用 Bash 完成切换:

VS Code 中 /deepseek 命令将请求路由切换至 DeepSeek

日常用法建议:80% 的常规任务用 DeepSeek(便宜),遇到需要强推理的 20% 复杂问题,一条/anthropic切回 Opus 硬扛,会话上下文全程不丢。

省钱效果:/cost 端点一键对账

切完之后,打开curl -s http://127.0.0.1:3200/_proxy/cost就能看到实打实的账单:每个后端各花了多少钱、等价的 Anthropic 价格是多少、savings省了多少钱。

原理小结

环节作用参考文件
Bridge WebSocket远程控制通道,固定走 Anthropic OAuthproxy/README.md
ANTHROPIC_BASE_URL重定向把模型调用引到本地 3200 端口deepclaude.sh
路径分流/v1/messages模型调用→DeepSeek,其余透传 Anthropicproxy/model-proxy.js
模型名映射 + usage 修补抹平两家 API 差异,保证 Claude Code 不报错model-proxy.js
/_proxy/mode控制端点免重启切换后端model-proxy.js

一句话总结:deepclaude 用"一个只监听 127.0.0.1 的本地代理 + 环境变量重定向"把 Claude Code 的流量劈成两半——认证归 Anthropic,思考归 DeepSeek。同一套代理在普通终端模式和远程控制模式下通用,所以无论你在命令行还是浏览器里,都能享受 17 倍的价差。

【免费下载链接】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),仅供参考

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

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

立即咨询