OpenClaw 接入 Claude 订阅:零污染 SDK 中转方案

OpenClaw 多 Agent 系统要调用 Claude,又不想把订阅账号、上下文和工具调用搞脏。这个 SDK 中转方案把 OpenAI 格式请求翻译给 Claude,再把响应翻译回来。

OpenClaw 接入 Claude 订阅的官网封面,展示 SDK 中转、OpenAI 兼容请求和多 Agent 系统调用 Claude 的链路

前几天的文章,翔宇介绍了 CLI 版中转方案——用 Claude 订阅跑 OpenAI 兼容 API,指纹干净,稳定运行两周多。

这篇是续集,SDK 版。

CLI 版翔宇一直在用,没什么问题。但翔宇的 Agent 系统在进化,开始需要更精确的工具调用、更干净的系统提示、真正的流式输出。

两个方案是互补关系。CLI 版的优势是指纹安全,SDK 版的优势是工具调用全面。一个管隐蔽,一个管精准,搭配使用最稳。

这篇文章读完,你会拿到三样东西:

一个零污染的中转方案——你传给 Claude 的系统指令是什么,Claude 就读什么,一个字都不多。

100% 可靠的工具调用——你让 Agent 搜索、查数据、发消息,每一步都精确到位,不再有「偶尔解析失败」。

一份复制即用的部署提示词——交给 Claude Code,五分钟跑起来。


先说一下背景。

翔宇订了 Claude 的 200 刀/月套餐,本来只能在终端里一问一答地用。但翔宇在本机跑了一个中转服务,把订阅变成了标准 API。10 个 Agent 随便调,额外费用 0 刀。

上一篇讲了 CLI 版中转(指纹最干净),这篇讲 SDK 版中转(功能最精准)。没看过上一篇也能看懂这篇。

⚠️ 风险声明:将 Claude 订阅通过中转转为 API 使用,不在 Anthropic 官方许可范围内。存在账号被限制或封禁的风险,请充分评估后决定。


1. 这个方案到底能做什么

一句话:把你的 Claude 订阅变成一个标准 API 接口,任何 AI 工具都能直接调用。

翔宇的 OpenClaw 有 10 个 Agent,每个都需要调用大模型。这个中转服务做的事情很简单:接收 OpenClaw 发来的 OpenAI 格式请求,翻译成 Claude 能理解的格式,拿到回答后再翻译回去。

OpenClaw 以为自己在调 OpenAI。

实际上背后是 Claude Opus 4.6 在干活。

翔宇用的是 Anthropic 官方的 Agent SDK,一个开发工具包,直接调用 Claude 的底层接口。和你在终端里手动问 Claude 走的是同一条路,只不过变成了程序自动问。

SDK 版有三个核心能力。

零污染——你传给 Claude 的系统指令是什么,Claude 就读什么。不会被偷偷塞进来一堆默认指令。

100% 工具调用——你让 Agent 搜索、查数据库、发消息,Claude 返回的是标准的结构化指令,不会丢、不会错。

真流式——Claude 边想边回答,你的客户端实时看到文字蹦出来,不用等它想完再一口气吐出来。

谁需要这个?如果你订了 Claude(100 刀或 200 刀/月),并且想让 OpenClaw 这样的多 Agent 系统调用 Claude 而不是额外花钱买 API 额度——这个方案就是给你准备的。

SDK 中转:订阅变 API 的桥梁

2. 零污染——系统提示完全由你控制

先解释一个概念。

系统提示,英文叫 System Prompt。

你在 ChatGPT 或 Claude 对话前,可以先给 AI 一段预设指令,比如「你是一个翻译官,只输出中文」。这段指令就是系统提示。系统提示越精准,AI 的回答越贴合你的需求。

问题来了。

Claude Code 有一套自己的系统提示。

当你通过 Claude Code 中转请求时,它会在你的系统提示前面,偷偷加上一大段默认指令。翔宇数了一下,大约 5000 个 token。你可以简单理解为 5000 个字符。

这些默认指令都写了啥呢?

「你是 Claude Code,你可以执行 Bash 命令。」

「你可以读写文件、搜索代码。」

「遇到权限问题要请求用户授权。」

「输出格式必须符合以下规则……」

还有很多很多。

你只想让 Claude 翻译一句话,它得先读完这一整页「我是谁、我能做什么」的自我介绍。

翔宇算了一笔账。

10 个 Agent 每天调 300 次,每次多读 5000 token。一个月下来,4500 万 token 花在读默认指令上。虽然不额外花钱——订阅包含了——但会挤占上下文窗口。留给你真正有用内容的空间就少了。

打个比方:你打电话给客服,本来想问一个简单问题。但每次接通后客服都要先背 3 分钟的免责声明,然后才听你说话。

SDK 版的解法很直接:告诉 SDK「什么都不要加载」。

四个配置参数,翔宇全部锁死。

不加载任何配置文件。不注册任何内置工具。不连接任何外部插件。系统提示完全由你定义。

效果:从大约 5000 token 降到大约 50 token。

你传什么,Claude 就读什么,一个字都不多。

零污染:从 5000 token 降到 50 token

3. 100% 可靠的工具调用

这是翔宇写 SDK 版的最大动力。

先解释一下什么是工具调用。英文叫 Tool Calling。

你让 OpenClaw 的 Agent 去「搜索今天的科技新闻」。Agent 不会自己上网搜——它把这个任务发给 Claude,Claude 分析后说:「我需要调用搜索工具,关键词是'科技新闻 2026-03-13'」。

这个「调用搜索工具」的指令,就是工具调用。

关键在于,Claude 返回的这个指令必须是格式标准的结构化数据——就像一张填好的表单——你的程序才能正确解析和执行。

CLI 版是怎么处理工具调用的?

CLI 版的 Claude 不支持直接返回结构化的工具调用指令。翔宇的做法是曲线救国:

先在对话开头告诉 Claude:「如果你想调用工具,请按下面这个格式输出。」

然后 Claude 在回复的文本里,按约定格式写出来。

最后用正则表达式——一种文本匹配规则——从回复中把工具调用提取出来。

这个链路有三个环节可能出错。Claude 可能不按格式输出。格式可能有微妙偏差。正则可能匹配不上。

实测可靠性大约 95%。日常使用够了,但跑 Agent 自动化时,那 5% 的失败就是 5% 的中断。

SDK 版完全不同。

SDK 版用的是 Claude 的原生工具调用机制。不需要教 Claude 「按什么格式输出」——Claude 天生就知道怎么返回结构化的工具调用指令,只不过走的是 Anthropic 自己的协议。

翔宇做的事情是格式翻译。

你的程序用 OpenAI 格式定义工具,翔宇的中转把它翻译成 Claude 能理解的格式,注册为内部工具。Claude 返回标准的结构化调用指令后,翔宇再把它翻译回 OpenAI 格式,返回给你的程序。

全程都是结构化数据在传递,不经过任何文本解析。

100% 可靠。

差距在什么时候最明显?同时调用多个工具的时候。

CLI 版用正则逐个匹配文本里的多个调用指令,格式稍有偏差就互相干扰。SDK 版的每个调用是独立的数据块,互不影响。

打个比方:CLI 版就像你用对讲机指挥工人,大多数时候听得清楚,但偶尔信号不好会听岔。SDK 版就像你发了一条带标准编号的工单,编号、物品、目标位置全部打印清楚,工人照着做就行。

工具调用:从 95% 到 100% 的跃迁

4. 真流式——Claude 边想边说

你在 ChatGPT 或 Claude 网页版聊天时,文字是一个一个蹦出来的。这就是流式输出。

CLI 版的做法不同——它收到完整回答后,在标点处切块逐段发送,模拟出流式效果。日常聊天体验很好,但对 OpenClaw 这种需要实时反馈的 Agent 系统来说,SDK 版的真流式更合适。

SDK 版是真流式。Claude 每想出一个词就立刻推送过来,OpenClaw 的 Agent 实时收到。和你在 Claude 网页版的体验一模一样。

还有一个重要的安全设计:Thinking 过滤

Opus 4.6 有一个叫「自适应推理」的能力。在回答之前,它会先在内心推演一遍。这个推演过程叫 thinking blocks。

问题是,thinking blocks 里可能包含你的系统提示原文。如果泄漏给最终用户,就相当于你的 Agent 内部指令被公开了。

SDK 版在流式转发时自动过滤所有 thinking 事件。Claude 的思考过程不会到达客户端。


5. 代价:指纹没那么干净了

翔宇不回避代价。

上一篇讲过,Anthropic 后台不只看你发了什么请求,还能看到请求的「行为特征」。用什么工具发的、请求头什么样、调用频率什么模式。这些特征加起来,就是 API 指纹

CLI 版的指纹非常干净。每个请求都是启动一个真实的 Claude Code 命令行进程,Anthropic 后台看到的和你手动在终端里用 Claude Code 完全一样。

SDK 版的指纹有暗伤。

因为「什么配置都不加载、什么工具都不注册」这个组合,在正常用户中几乎不会出现。相当于告诉 Anthropic:「我是自动化调用。」

打个比方:CLI 版是穿便装进银行,和普通客户没区别。SDK 版是穿制服进银行,你确实是来办业务的,但所有人都看得出你不是普通客户。

翔宇的实际用法:两套方案同时跑。

CLI 版跑在端口 3457,做主力。指纹干净,长期在线。

SDK 版跑在端口 3456,做备份。工具调用 100% 可靠,主力挂了自动切过来。

一套方案是风险,两套方案是保险。

目前翔宇跑了两周多,两套方案都没有收到 Anthropic 的警告。但这不代表未来不会。Anthropic 的检测策略随时可能更新,翔宇的经验仅供参考。

双方案互补:CLI 管隐蔽,SDK 管精准

6. 一键复刻

准备三样东西。

Claude Max 订阅——100 刀或 200 刀/月,去 claude.ai 订阅。

Claude Code CLI——已安装并登录,终端安装后执行 claude auth login

Node.js 20 以上——macOS 用 Homebrew 安装即可。

然后,把下面这段提示词复制给 Claude Code:

帮我搭建一个 Claude SDK Proxy,通过 Agent SDK 的 query() 函数中转请求,对外暴露 OpenAI 兼容 API。端口 3456,TypeScript + Express。

核心要求:零污染隔离(settingSources: []、tools: []、mcpServers 仅注入请求自带工具、systemPrompt 完全自定义)。原生 Tool Calling(OpenAI tools 转 Zod Schema 注册为 SDK MCP Server,maxTurns: 1 只生成调用不执行)。真流式(AsyncGenerator 逐事件转 SSE,自动过滤 thinking blocks)。多模态路由(图片/音频/视频自动走 Gemini API)。Watchdog 守护(崩溃自动重启,5 分钟内崩 5 次停止)。p-queue 并发队列(默认 4 路)。

Claude Code 会自动生成全部代码、安装依赖、编译、启动。

完成后访问 127.0.0.1:3456/health,看到响应就说明跑起来了。

最后一步,在 OpenClaw 的 Provider 配置中填入:

Base URLhttp://localhost:3456/v1

API Key:随便填,本地不鉴权

Model:claude-opus-4

OpenClaw 的 10 个 Agent 就能直接通过这个中转调用 Claude 了。Cursor、Cherry Studio 等 OpenAI 兼容客户端也能用同样的配置接入。

五分钟部署:复制提示词一键跑起来

翔宇花了一个月趟完四条中转路线。

CLI 版是「最笨但指纹最干净」的那条。SDK 版是「最精准但指纹有暗伤」的那条。

没有完美方案,只有适合你场景的组合。

如果你的 Agent 只需要简单对话——CLI 版够用,指纹干净。

如果你跑 OpenClaw 需要精确的工具调用——SDK 版是正解。

如果你和翔宇一样两个都要——那就两个都跑,互为保险。


CLI Proxy 和 SDK Proxy 都是「AI 编程实操课」中 Claude 订阅系列的实战项目。在课程中,你还会学到:OpenClaw 多 Agent 组织架构设计、Claude Code Skill 入门、syncthing 四机配置同步、以及从零搭建 10 Agent 自动化军团的完整流程。如果你想获取完整源码、系统学习 AI Agent 自动化工作流,欢迎加入翔宇工作流:AI 编程实操课

订阅成功!请到邮箱查收确认链接。

订阅成功!请到邮箱查收确认链接。

订阅成功!请到邮箱查收确认链接。

订阅成功!请到邮箱查收确认链接。

操作成功。

操作已取消。