← 返回列表
未验证
让 Claude Code 免密钥调用 Zen 免费模型
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/22 · 已提供中文文档
使用 OpenCode Zen 的免费模型(Ox Alpha、Big Pickle……),即可从 Claude Code 和任何兼容 OpenAI 的客户端调用,无需 API 密钥。零依赖。
综合分
28.2
GitHub 分
28.2
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Dalailalama/zen-proxy该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
Buy Me a Coffee https://buymeacoffee.com/dawgog zen-proxy 从 Claude Code 以及任何兼容 OpenAI 的客户端(deepseek-harness、Cursor、Continue……)使用 OpenCode Zen 的免费模型——Ox Alpha(x-preview-f-free,100 万上下文)、Big Pickle,以及其他 -free 条目——无需 API 密钥、账户或每日限额。 单个文件,零依赖,Node 18+。 问题所在 Zen 的免费模型托管在 https://opencode.ai/zen/v1/chat/completions,并且完全无需身份验证即可使用。这也是问题所在:对于任何非空的 Authorization 请求头,该端点都会返回 401 Invalid API key——而几乎每个客户端都坚持要发送一个(pi-ai、OpenAI SDK、LiteLLM、claude-code-router……)。粘贴一个占位密钥就会得到 401;留空则客户端拒绝启动。 Claude Code 还有第二个问题:它只使用 Anthropic Messages API,而 Zen 仅以 OpenAI chat-completions 格式提供这些模型。 该代理的作用 Claude Code ──Anthropic /v1/messages──▶ zen-proxy ──OpenAI chat/completions,无 auth 请求头──▶ Zen OpenAI 风格客户端 ──/v1/chat/completions──▶ zen-proxy ──(剥离 Authorization,修复怪癖)──▶ Zen | 路由 | 发生的情况 | |---|---| | POST /v1/messages | 完整的 Anthropic ⇄ OpenAI 转换:流式事件、工具定义、tool_use/tool_result 往返、系统提示数组、剥离 cache_control、将 reasoning_content 呈现为思考块、映射用量 | | POST /v1/messages/count_tokens | 本地估算(Zen 没有计数端点) | | POST /v1/chat/completions | 透明直通,会丢弃 Authorization 请求头并重写 Zen 拒绝的内容:developer 角色 → system,max_completion_tokens → max_tokens,将 reasoning_effort 映射到唯一接受的值 low/high/max | | GET /v1/models | Zen 的目录,默认仅免费模型(MODELS=all 表示全部),外加 ox-alpha 别名 | /v1 前缀是可选的,且 CORS 是开放的,因此基于浏览器的客户端也能使用。 快速开始 git clone https://github.com/Dalailalama/zen-proxy cd zen-proxy node proxy.js # 监听 http://127.0.0.1:4040 或者使用 bin/ 中的启动器(如果代理未运行,则在后台启动它): | | Windows | macOS / Linux | |---|---|---| | 启动 / 停止代理 | bin\zen-proxy.cmd · bin\zen-proxy.cmd stop | bin/zen-proxy.sh · bin/zen-proxy.sh stop | | 在 Ox Alpha 上运行 Claude Code | bin\claude-ox.cmd [claude args] | bin/claude-ox.sh [claude args] | 将 bin/ 添加到你的 PATH,即可将 claude-ox 和 zen-proxy 作为命令使用。在 macOS/Linux 上,运行一次 chmod +x bin/.sh。 Claude Code claude-ox # 在 Ox Alpha 上进行交互式会话 claude-ox -p "explain this repo" claude-ox --permission-mode acceptEdits claude-ox 将每个模型别名(opus、sonnet、haiku、子代理、后台任务)都固定到 ox-alpha,这样就不会有任何内容泄漏到付费端点,同时告知 Claude Code 真实的 1M 上下文窗口 (CLAUDE_CODE_MAX_CONTEXT_TOKENS),并且不触碰普通的 claude —— 你正常的登录和 订阅继续正常工作。更喜欢按项目配置?将 examples/claude-code-settings.json 复制到 .claude/settings.local.json。 已在 Claude Code v2.1.205 上验证:工具调用(Write、Read、Bash)、流式传输、 上下文窗口显示以及 --permission-mode auto 均正常工作。请注意,在自动模式下, “分类器”调用由 Ox Alpha 自身通过代理来应答 —— 将其视为便利功能,而非 Anthropic 的安全分类器。/model 提供一个“Ox Alpha (Zen, free)”条目;你输入的任何其他 模型名称都会原样传递给 Zen(/model big-pickle)。 deepseek-harness 该 harness 的 LLM 层(pi-ai)无法直接与 Zen 的免费端点通信 —— 它总是发送 Authorization 头,并使用 developer 角色 / max_completion_tokens。启动 zen-proxy, 然后将 examples/deepseek-harness.settings.yaml 合并到 ~/.dsh/settings.yaml(或在 Settings → Models 中添加自定义提供商,基础 URL 为 http://127.0.0.1:4040/v1,协议为 openai-completions,任意占位密钥,模型为 x-preview-f-free)。已在 deepseek-harness 0.1.1-rc.2 上验证,包括无头配置文件。 任何 OpenAI 兼容客户端 Base URL : http://127.0.0.1:4040/v1 API key : anything non-empty (stripped before the request reaches Zen) Model : x-preview-f-free (GET /v1/models lists the other free ones) 配置 全部通过环境变量进行;默认值在方括号中。 | 变量 | 含义 | |---|---| | PROXY_HOST / PROXY_PORT | 绑定地址 [127.0.0.1] / 端口 [4040] | | UPSTREAM_URL | OpenAI 兼容端点 [https://opencode.ai/zen/v1/chat/completions] | | UPSTREAM_MODEL | ox-alpha 以及每个 claude-* id 映射到的模型 [x-preview-f-free] —— 当 stealth 预览轮换时,将其指向任何其他免费 Zen 模型 | | UPSTREAM_API_KEY | 对于 Zen 的免费模型留空;将其设置为通过同一代理使用付费 Zen 密钥 | | MODEL_ALIAS | Claude Code 使用的名称 [ox-alpha] | | REASONING_EFFORT | low / high / max,当客户端未发送时发送(Ox Alpha 无法禁用思考) | | IMAGES | strip [default] 将图像块替换为文本占位符;forward 发送它们(Zen 的免费端点在长时间挂起后返回 503) | | MODELS | free [default] 或 all 用于 GET /v1/models | | DEBUG | 1 将每个请求/响应 JSON 转储到 /zen-proxy/ | 测试 npm test 在端口 4041 上启动代理,并针对 Zen 运行两个实时测试套件(需要网络):Anthropic 转换(流式帧、双向工具使用、带图像和过期内容的工具结果 思考块、count_tokens、错误映射)以及 OpenAI 直通(占位密钥 被剥离、developer 角色、max_completion_tokens、流式传输、工具、CORS)。 已知限制 - 图像:Zen 的免费端点会拒绝它们(503),因此默认情况下会被剥离。 - Zen 的免费端点偶尔会返回 500/503 或空流;代理会在暴露可重试错误之前最多重试三次,因此客户端可能会看到暂停而不是失败。 - count_tokens 是估算值;每次响应都会报告实际用量。 - Claude Code 的费用显示使用 Anthropic 的价格——Zen 不收取任何费用。 - 网页搜索 / 抓取服务器工具由 Anthropic 托管,无法通过网关使用。 - 隐身预览是临时的:提供商可以随时重命名、限流或撤回该模型, 并且你的提示词会发送给匿名第三方。不要发送机密或你 无法分享的代码。 为什么不直接用 OpenRouter? 你可以——OpenRouter 以 Anthropic 格式暴露相同的模型(stealth/ox-alpha),因此 Claude Code 只需设置 ANTHROPIC_BASE_URL=https://openrouter.ai/api 和一个 OpenRouter 密钥即可工作。这个 代理适用于你不想创建账户,或触及免费层级请求限制的情况。 与 OpenCode、Anthropic 或 DeepSeek 无关联。MIT 许可。
扫码进群