


















大家好,我是帅进超,曾参与并主导过 Apache APISIX 、CNCF APIOAK 、Orange 等 API 网关的开发。最近我在做一个新项目 — Nyro,一个专为 Agent 设计的原生 AI 网关。
OpenAI 、Anthropic 、Google 等各家一线 LLM 厂商都提供了自家的 AI Coding Agent —— Codex CLI 、Claude Code 、Gemini CLI 且迭代速度之快,几乎以周为单位在刷新,上周还是新功能,这周就已经全部成为了标配。
厂商不计成本的投入 Agent 的开发,这背后共同逻辑是:把开发者锁定在自家的模型生态内,完成从工具到模型的端到端闭环。而数据交互技术协议就是锁定工具与模型的一种重要手段,Claude Code 只走 Anthropic 协议,Codex CLI 绑定 OpenAI Responses API 协议,Gemini CLI 依赖 Google 自家的 GenerateContent 协议,工具越好用,对原厂模型的依赖就越深,迁移成本也越高。
虽然各大 LLM 厂商都提供了功能强大、生态完善的 CLI 工具,但国内开发者来说,带来了几个现实问题:
Anthropic 、OpenAI 、Google 在国内均无法直接访问,需要代理,Anthropic 更是对国内访问严格限制;原厂旗舰模型的 API 百万 Token 输出价格均在 20 美元左右,开发场景的高强度使用成本是必须要考虑的问题。相比之下,国内的 DeepSeek 、GLM 、Kimi 、MiniMax 在价格和访问上有明显优势,部分模型的性能已经相当可观。
好消息是,国内的 GLM (智谱)、Kimi (月之暗面)、MiniMax 都陆续跟进,提供了 OpenAI 兼容协议和 Anthropic 协议,接入 Claude Code 这类工具在技术上已经没有障碍。
坏消息是,各家推出的 Coding Plan 普遍有比较严格的限速和配额限制。真正重度使用下来,很容易碰到 429 报错、响应变慢、或者单日配额跑完等问题,用起来体验大打折扣。
Codex CLI 走 OpenAI Responses API,Gemini CLI 走 Google GenerateContent ——这两套都是各家相对较新的接口规范。而目前国内主流模型提供商( DeepSeek 、GLM 、Kimi 、MiniMax 等)只跟进实现了 OpenAI Chat Completions 兼容层。这意味着,即使你有这些模型的 API Key ,也无法直接把它们接入 Codex CLI 和 Gemini CLI 。
Claude Code 用 Anthropic 协议,Codex CLI 用 Responses API 协议,Gemini CLI 用 Gemini GenerateContent 协议。想把某个模型同时接入这三个工具,要么自己写协议转换程序,逐一修改各工具的配置文件 —— 格式不同、路径不同,换个模型还得重来一遍。
Nyro 是一个桌面原生的 AI 网关。 它让 Claude Code 、Codex CLI 、Gemini CLI 等任意 AI 工具,无需改动任何配置,就能无缝接入 100+ LLM 提供商。Nyro 实现了 OpenAI 、Anthropic 、Gemini 等主流协议的毫秒级协议重写和跨协议工具调用适配。在此基础上,还提供负载均衡、语义缓存、访问控制和用量监控等能力。
Claude Code · Codex CLI · Gemini CLI · OpenCode
OpenAI SDK · Anthropic SDK · Gemini SDK
Any HTTP API Client
↓
Nyro AI Gateway
(localhost:19530)
↓
OpenAI · Anthropic · Google · DeepSeek
MiniMax · xAI · Zhipu · Ollama · ...
GitHub: https://github.com/NYROWAY/NYRO
场景:把 DeepSeek V3 同时接入 Claude Code 、Codex CLI 、Gemini CLI
# 第一步:自己实现或找一个 Anthropic Messages → OpenAI Completions 的协议转换服务
# 第二步:改 Claude Code 配置
vim ~/.claude/settings.json
# 第三步:自己实现或找一个 OpenAI Responses → OpenAI Completions 的协议转换服务
# 第四步:改 Codex CLI 配置
vim ~/.codex/auth.json
vim ~/.codex/config.toml
# 第五步:自己实现或找一个 Google GenerateContent → OpenAI Completions 的协议转换服务
# 第六步:改 Gemini CLI 配置
vim ~/.gemini/.env
vim ~/.gemini/settings.json
# 三个工具,三套协议,五个配置文件,格式不同、路径不同,换个模型还得重来一遍。
第一步:Providers → New ,填入 DeepSeek 的 Base URL 和 API Key
第二步:Routes → New ,设置虚拟模型名,选择 DeepSeek 作为目标
第三步:Connect → 选择 Claude Code / Codex CLI / Gemini CLI ,点击 Sync
后续更换模型或提供商,只需在路由配置中修改目标即可,客户端无需做任何调整。
三个工具、三套协议、五个配置文件 → 三步操作、一次同步、客户端零改动。
macOS (推荐)
brew tap nyroway/nyro
brew install --cask nyro
其他平台
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/nyroway/nyro/master/scripts/install/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/nyroway/nyro/master/scripts/install/install.ps1 | iex
也可以直接从 GitHub Releases 下载对应平台的安装包,支持 macOS / Windows / Linux ,Intel 和 ARM 全覆盖。
安装完成后启动应用:

点击 提供商 → 新增提供商,通过快捷选项选择目标提供商。可选供应商已预设基础配置,只需填写名称和 API Key,点击创建即可。
如果厂商的 Base URL 需要代理访问,可以在「系统设置 → 代理」中开启代理转发。

完成提供商创建后,点击 路由 → 新增路由,填写名称、虚拟模型 ID,选择目标提供商,点击创建即可。
路由支持以下进阶能力:

完成路由创建后,点击 接入 → 工具接入 → 选择工具 → 同步配置。
Nyro 会自动检测本机已安装的 AI 工具,生成对应的配置文件并写入正确路径,原配置自动备份。

同步完成后,打开终端启动对应工具,可以看到模型 ID 已更新为 Nyro 虚拟模型 ID ,Vibe Coding 开始。

如果你是通过 SDK 或 HTTP 直接调用,点击 接入 → 代码接入 → 选择协议 → 选择路由 → 复制代码,即可获取对应语言的示例代码。

打开终端 -> 粘贴代码,即可进行验证。

Nyro 除桌面客户端外,同时支持服务器端部署,适合团队共享或生产环境使用。
从 GitHub Releases 下载对应平台架构的二进制文件:

./nyro-server-linux-x86_64 \
--storage-backend postgres \
--postgres-dsn "postgres://user:pass@host:5432/db"
启动后通过 http://127.0.0.1:19531 访问控制台,通过 http://127.0.0.1:19530 访问接入端点。
# config.yaml
providers:
- name: openai
endpoints:
openai:
base_url: https://api.openai.com/v1
api_key: sk-xxx
routes:
- name: gpt-4o
vmodel: gpt-4o
targets:
- provider: openai
model: gpt-4o
./nyro-server-linux-x86_64 --config config.yaml
Standalone 模式不启动控制台,启动后直接通过 http://127.0.0.1:19530 访问接入端点。
启动后可通过以下方式验证三种协议均已正常工作:
OpenAI Completions
curl http://localhost:19530/v1/chat/completions \
-H "Authorization: Bearer sk-00000000000000000000000000000000" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Hello"}]
}'
Anthropic Messages
curl http://localhost:19530/v1/messages \
-H "x-api-key: sk-00000000000000000000000000000000" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello"}]
}'
Google GenerateContent
curl http://localhost:19530/v1beta/models/gpt-4o:generateContent \
-H "x-goog-api-key: sk-00000000000000000000000000000000" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"role": "user", "parts": [{"text": "Hello"}]}]
}'
Nyro 目前还处于早期阶段,还有很多功能想做、还有很多细节值得打磨。
如果你在使用过程中遇到了问题,或者对 AI 网关有任何想法和建议,欢迎直接来留言评论或者去 GitHub 提 Issue 都行,我都会认真看并回复。
如果觉得这个工具对你有帮助,去 GitHub 点个 Star 是对开发者最直接的支持。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。