3.4 KiB
CLI-Switch:Agent 调用 Claude Code / Codex 的正确姿势
来源: 微信公众号 - WilleAi笔记 作者: 上心12138 日期: 2026年5月13日 02:05 标签: #cli-switch #ClaudeCode #Codex #Agent #AI #开发工具
从工具箱到手术刀
三个月前作者发过一篇文章介绍 cli-switch,定位是"Agent 的 CLI 工具箱"——支持多个编码 Agent,能调很多模型。跑了一段时间后发现:做得太多,反而没有一个做得够好。
Claude Code 和 Codex 在编码场景的领先优势越来越明显,其他工具逐渐边缘化。所以整个项目重构了。
v1.0.0 换成了 TypeScript / Node.js,npm 安装,聚焦只做一件事:
让 Agent 正确调用 Claude Code 和 Codex,并知道选对应的什么模型。
重构带来的关键变化
- 更干净:砍掉了不必要的 Agent 支持,专注 Claude Code + Codex
- 环境隔离:每次调用起独立子进程,不碰全局配置
- 策略引擎:4 种执行策略——single(单步)、write_review(写完审查)、write_test_fix(写完跑测试、不过就修)、high_quality(全程 premium 模型)
- Skill 系统:给 Agent 操作手册,自动识别 8 种能力(写代码、代码审查、重构、修 bug、分析、写测试、跑测试、解释代码)
两个人的电脑(核心痛点)
Claude Code 只有一份全局配置。Agent 没法单独指定模型,只能用全局配的那个。就像两个人共用一台电脑,谁改了设置另一个都受影响。
Codex 也一样。每次调 Codex 要手动设 OPENAI_API_KEY 和 OPENAI_BASE_URL,用完还得改回来。
一行安装,一个 Key 搞定
npm install -g cli-switch
配一个环境变量:
export SWITCH_API_KEY=your-gateway-key
export SWITCH_BASE_URL=https://your-relay.example.com/v1
Agent 调 Claude Code 时自动注入为 ANTHROPIC_API_KEY,调 Codex 时注入为 OPENAI_API_KEY。不碰全局配置,通过子进程临时环境变量注入,用完即焚。
使用示例
调 Claude Code:
cli-switch run "给 src/auth.ts 补单元测试" --agent claude-code
调 Codex:
cli-switch run "重构 utils 模块" --agent codex
写完自动跑测试,不过就修(最多循环 5 次):
cli-switch run "实现登录功能" --strategy write_test_fix
路由预览,不花 Token:
cli-switch run "重构 auth 模块" --dry-run
对比表
| 之前 | 之后 | |
|---|---|---|
| 调 Claude Code | 手动设环境变量,担心改全局配置 | 一条命令,自动注入 |
| 调 Codex | 又得手动设一套 OpenAI 的变量 | 同一条命令,换 --agent codex |
| Key 管理 | 中转站 Key 要手动塞给每个工具 | 配一次,两个工具都能用 |
| 模型切换 | 改全局配置,影响自己正在用的 | Agent 用自己的,互不影响 |
| 执行隔离 | 直接在项目里改,改坏了就麻烦 | worktree 或临时副本,随便折腾 |
与 Hermes Agent 的关联
这个工具直接解决了 Hermes Agent(以及类似 AI Agent)在调用 Claude Code / Codex 时的环境变量冲突和配置隔离问题。Hermes 的 delegate_task 工具配合 acp_command 参数可以调用 Claude Code 和 Codex,而 cli-switch 进一步简化了 Key 注入和模型选择。