92 lines
3.4 KiB
Markdown
92 lines
3.4 KiB
Markdown
# CLI-Switch:Agent 调用 Claude Code / Codex 的正确姿势
|
||
|
||
**来源:** [微信公众号 - WilleAi笔记](https://mp.weixin.qq.com/s/_lFBObJClMx74DuJVegAaw)
|
||
**作者:** 上心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 搞定
|
||
|
||
```bash
|
||
npm install -g cli-switch
|
||
```
|
||
|
||
配一个环境变量:
|
||
|
||
```bash
|
||
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:**
|
||
```bash
|
||
cli-switch run "给 src/auth.ts 补单元测试" --agent claude-code
|
||
```
|
||
|
||
**调 Codex:**
|
||
```bash
|
||
cli-switch run "重构 utils 模块" --agent codex
|
||
```
|
||
|
||
**写完自动跑测试,不过就修(最多循环 5 次):**
|
||
```bash
|
||
cli-switch run "实现登录功能" --strategy write_test_fix
|
||
```
|
||
|
||
**路由预览,不花 Token:**
|
||
```bash
|
||
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 注入和模型选择。
|