← 返回列表
未验证
把 Claude 订阅额度接入模型路由,按套餐计费
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/31 · 已提供中文文档
将 Claude Pro 或 Max 订阅用作 DeepSeek Harness 模型提供方,通过 Claude Code CLI 实现。
综合分
28.3
GitHub 分
28.3
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add shaneconner/dsh-claude-bridge该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-claude-bridge 通过 Agent SDK 驱动 Claude Code CLI,将 Claude Pro 或 Max 订阅用作 DeepSeek Harness 模型提供方。 安装 dsh plugin --profile web add dsh-claude-bridge 重启 dsh。它会注册一个提供方路由 claude-bridge,并且不会禁用任何东西:它与其他提供模型的组件并存,并按提供方 id 为每个 agent 选择。 你需要已经登录 Claude Code。此桥接不进行身份验证:它运行一个 CLI,该 CLI 读取 claude 登录写入的凭据,位于 ~/.claude/.credentials.json(或 $CLAUDE_CONFIG_DIR/.credentials.json)。在终端中用 claude 登录,然后在那里执行 /login。 它运行的 CLI 是 Agent SDK 捆绑的那个,而不是你 PATH 上的 claude;不会查询 PATH。只有凭据文件是共享的。设置 pathToClaudeCodeExecutable 可以运行不同的二进制文件。 设置不会从磁盘读取。子进程不加载任何用户、项目或本地 settings.json,因此你自己的 hooks、插件和技能都不会进入其中,散落的 env 块也无法让路由脱离你的套餐。 为什么不直接登录 Anthropic harness 已经可以做到这一点,而且它有效。dsh-provider-login 会进入 harness 注册的、标记为“Anthropic (Claude Pro/Max)”的 OAuth 流程。 区别在于计费,而不是能力。根据 Pi 对同一底层库的文档,通过该路由使用第三方 harness 会消耗额外用量并按 token 计费,而不是计入 Claude 套餐限额。通过 Agent SDK 驱动 CLI 才是让用量计入套餐的机制。 这一点尚未完全尘埃落定:Anthropic 宣布后又撤销了对 Agent SDK 用量计费方式的更改。在你依赖它之前,请了解这一点。 这种方法并非原创。它与 Eli Dickinson 为 Pi agent 采用的 pi-claude-bridge 相同,这里的设计正来源于此。 哪些可用,哪些不可用 可用。 流式文本和推理;工具调用,包括多轮对话;带缓存读取和写入的 token 用量;结束原因;模型列出和解析;推理强度;以及作为可选启用的一百万 token 窗口。 工具是有趣的部分,因为双方对谁阻塞存在分歧。harness 将一次工具轮次视为两次调用:stream() 以 tool-calls 结束原因结束,harness 运行工具,然后它再次调用 stream() 并附加结果。CLI 将同一轮次视为一次从未结束的调用:它调用一个工具,其查询就阻塞在该处理程序内部。 因此,当第一个 stream() 返回时,查询并未关闭。它被挂起,处理程序仍在等待,并在结果到达时恢复。harness 的工具通过一个进程内 MCP 服务器到达 CLI,其 JSON Schema 被原样提供,而不是通过 Zod 往返转换——后者会丢失顶层以下的所有内容。调用通过 CLI 在每个请求上打上的 tool-use id 与结果配对,因为调用顺序并不保证与块发出的顺序一致。 结果也可能在 CLI 还没来得及请求它之前就到达,因此投递和等待是解耦的:无论哪个后到,都会找到另一个。假设存在某种顺序会导致这对死锁。 一个挂起的轮次所等待的,是适配器向 harness 报告的那组调用,而不是子进程已派发的那组。这两者在每个并行轮次上都不相同,因为子进程一次派发一个调用,而 harness 在一条消息中回答所有调用。以已派发集合作为门控会丢弃其余调用的答案,而且没有任何东西会再次携带它们。 关于历史的一个明确限制。 CLI 拥有自己的会话历史,将对话忠实带入其中的方式是写入其会话文件并恢复。此构建改为在提示中内联陈述各轮次。模型看到整个对话,但 CLI 的前缀缓存在每一轮都会看到一个新的:正确,且昂贵,顺序如此。在单个工具轮次内,查询保持打开,因此该轮次确实复用了缓存。 取消。 harness 通过放弃流来取消,因此子进程正是在那里被结束:中止直接到达它,而不是仅通过一个它必须足够健康才能应答的控制请求,并且未在五秒内被确认的中断将不再被等待。否则,被取消的轮次会继续运行至完成,记在你的账上。 并发。 会话按 harness 会话 id 持有,但不提供任何工具的调用从不占用会话:没有 MCP 服务器它就无法挂起,因此它分离运行,并且无法驱逐在同一 id 下挂起的轮次。随附的会话标题提供程序正是发出该调用,并发地,在活动轮次自己的 id 下。 配置 - id: claude-bridge name: 'dsh-claude-bridge' config: Ask for the 1M window. Off by default: outside a Max plan it draws extra usage, which is the exact thing this bridge exists to avoid. longContext: false Run a different claude binary. PATH is not consulted; left unset, the SDK runs the one bundled in its own dependency. pathToClaudeCodeExecutable: /home/you/.local/bin/claude Working directory for the CLI child. Defaults to the harness process's. cwd: /home/you/project 有些决定是替你做出的,不是可选项。CLI 子进程运行时带有 ENABLE_CLAUDEAI_MCP_SERVERS=0 和 DISABLE_AUTO_COMPACT=1,其预设被设定为排除 CLAUDE.md 和 .claude/rules,并且完全不加载任何设置文件。每一项都把 CLI 原本会自行做出的决定交还给 harness:工具发现、压缩和上下文文件都由 harness 掌控。 那些会让子进程切换到其他账户的变量——ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_BASE_URL、CLAUDE_CODE_USE_BEDROCK 和 CLAUDE_CODE_USE_VERTEX——会从它的环境中移除,而不是转发。harness 会在任何插件加载之前,将 /.env 和 $DSH_HOME/.env 物化到自己的环境中,因此如果这些变量中有一个留在某个 .env 里供其他工具使用,否则就会到达子进程并按 token 计费。 开发 npm run check # typecheck npm test # the gate suite npm run build # emit lib/ 该测试套件覆盖了双方可能出现的各种到达顺序,而这里每一个真实缺陷都出在这些顺序上。适配器测试替换了 CLI,但没有替换它的工具调用:一个真正的 MCP 客户端驱动适配器所构建的服务器,经过与 CLI 相同的处理程序和相同的工具使用 id 配对。 许可证 MIT
同作者(shaneconner)的其他插件
扫码进群