Files
obsidian-notes/InBox/CLI-Switch-Agent调用ClaudeCode-Codex的正确姿势.md
Build Bot f7310caea0 同步
2026-05-18 01:20:38 +08:00

3.4 KiB
Raw Blame History

CLI-SwitchAgent 调用 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.jsnpm 安装,聚焦只做一件事:

让 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_KEYOPENAI_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 注入和模型选择。