Claude和Codex如何切换?Claude-to-IM-skill的CTI_RUNTIME三种运行模式完全指南
【免费下载链接】Claude-to-IM-skillBridge Claude Code / Codex to IM platforms — chat with AI coding agents from Telegram, Discord, or Feishu/Lark.项目地址: https://gitcode.com/gh_mirrors/cl/Claude-to-IM-skill
📱Claude-to-IM-skill是一款把 Claude Code / Codex 接入 Telegram、Discord、飞书、QQ、微信的桥接工具,让你直接用手机 IM 指挥 AI 写代码。它通过一个环境变量CTI_RUNTIME决定背后由哪个 AI 引擎驱动,支持claude、codex、auto三种运行模式。这篇指南将带你看懂三种模式的区别、各自的前置条件,以及一键切换 Codex 或 Claude 的完整步骤。
为什么需要切换 AI 引擎?
Claude-to-IM-skill 的核心架构是一条"消息管道":
你 (Telegram/Discord/飞书/QQ/微信) ↕ Bot API 后台守护进程 (Node.js) ↕ Claude Agent SDK 或 Codex SDK(由 CTI_RUNTIME 决定) Claude Code / Codex → 读写你的代码库同一个 IM 机器人、同一套权限审批按钮、同一流式回复体验,底层引擎却可以自由选择:
- Claude Code:Anthropic 的编码智能体,功能成熟、工具调用丰富
- Codex:OpenAI 的编码智能体,适合已有 OpenAI 生态的用户
好消息是:切换引擎不需要改任何 IM 配置,只需改一行配置。这就是CTI_RUNTIME的价值。
三种运行模式一览
| 模式 | 值 | 使用的引擎 | 前置条件 | 适用场景 |
|---|---|---|---|---|
| Claude 模式 | claude(默认) | Claude Code CLI + Claude Agent SDK | 已安装并登录claudeCLI | 主力用 Claude 的用户 |
| Codex 模式 | codex | Codex SDK (@openai/codex-sdk) | 已安装codexCLI 并完成鉴权 | 主力用 OpenAI 的用户 |
| 自动模式 | auto | 先试 Claude,失败回退 Codex | 两者装一个即可 | 双引擎都装、想要容错 |
完整配置项说明见 config.env.example:
# Runtime backend: claude | codex | auto # claude (default) — uses Claude Code CLI + @anthropic-ai/claude-agent-sdk # codex — uses @openai/codex-sdk (auth: codex auth login, or OPENAI_API_KEY) # auto — tries Claude first, falls back to Codex if CLI not found CTI_RUNTIME=claude💡 配置统一存放在~/.claude-to-im/config.env(权限chmod 600),守护进程启动时由 src/config.ts 读取并校验,非法值会自动回退为claude。
claude 模式:默认选择,启动即校验
claude是缺省模式,也是默认写入配置文件的值。启动时守护进程会做两件事(见 src/main.ts 的resolveProvider()):
- 查找 Claude CLI:依次尝试
CTI_CLAUDE_CODE_EXECUTABLE环境变量、/usr/local/bin/claude、/opt/homebrew/bin/claude等常见路径 - Preflight 预检:运行
claude --version验证版本 ≥ 2.x,并检查--help中是否包含 SDK 所需的关键参数
⚠️ 关键点:在claude模式下,CLI 找不到或预检失败会直接让守护进程退出,而不是等到第一条消息才报错——这样错误更容易诊断。如果报"找不到claude",你可以:
- 安装 Claude Code CLI 并执行
claude auth login登录 - 或者把
CTI_RUNTIME改成codex/auto
如果你同时存在多个版本的claude(比如 npm 装的 1.x 和原生 2.x),可以用CTI_CLAUDE_CODE_EXECUTABLE=/path/to/claude显式指定。
codex 模式:切换 OpenAI 引擎的完整步骤
想完全用 Codex 驱动,按下面三步走:
① 安装 Codex CLI
npm install -g @openai/codex② 完成鉴权(二选一)
codex auth login # 交互式登录(推荐)或在config.env中配置 API Key,优先级为CTI_CODEX_API_KEY>CODEX_API_KEY>OPENAI_API_KEY:
# CTI_CODEX_API_KEY= # CTI_CODEX_BASE_URL=③ 修改配置并重启桥接
CTI_RUNTIME=codex然后重启守护进程使配置生效:
- Claude Code 中:
/claude-to-im stop→/claude-to-im start - Codex 中:直接说"stop bridge",再说"start bridge"
⚙️ 两个 Codex 专属开关值得了解(实现见 src/codex-provider.ts):
CTI_CODEX_SKIP_GIT_REPO_CHECK=true:允许 Codex 在非受信 Git 仓库目录运行(默认关闭,出于安全考虑建议保持关闭)CTI_DEFAULT_MODEL在 Codex 模式下默认不透传给 Codex CLI,它使用自己的默认模型
另外 Codex 会把桥接的权限模式映射为审批策略:code模式 →on-failure(自动批准大部分操作),plan/ask模式 →on-request(执行前询问),审批入口依然是你 IM 里的按钮或/perm命令。
auto 模式:智能容错,双引擎自动切换
auto是"两边都装、谁好用谁"的省心模式,也是官方在 claude 模式报错时推荐的排障出路。它的决策逻辑(src/main.ts 中第 43-62 行):
- 先解析 Claude CLI 路径
- 找到后执行 preflight 预检
- 预检通过→ 使用 Claude,日志打印
Auto: using Claude CLI at ... - CLI不存在或预检失败→ 打印警告并回退到 Codex,而不是"静默使用一个坏掉的 CLI"
这种设计让auto模式在团队共用场景很实用:有人电脑上只装了 Codex,桥接依然能跑。
如何切换?一条 reconfigure 搞定
切换引擎的最快方法是用交互式重配置,而不是手动改文件:
| 环境 | 命令 |
|---|---|
| Claude Code | /claude-to-im reconfigure |
| Codex | "reconfigure" / "修改配置" |
向导会显示当前配置表(密钥脱敏到后 4 位),只需回答 Runtime 这一项,选择claude/codex/auto,然后原子更新配置文件并重新验证。
⚠️ 改完记得:先stop再start,守护进程不会热加载新运行时。首次配置则用/claude-to-im setup向导,Runtime 也是其中一步(见 SKILL.md Step 3)。
切换后怎么验证?doctor 一键体检
切换引擎后建议跑一次诊断,它会根据当前CTI_RUNTIME只检查对应引擎的依赖(逻辑见 scripts/doctor.sh):
claude/auto模式:检查 Claude CLI 版本、Claude Agent SDK 的cli.js是否存在codex/auto模式:检查codexCLI 是否在 PATH、@openai/codex-sdk是否安装、鉴权是否可用(API Key 或codex auth status显示已登录)
/claude-to-im doctor # Claude Code doctor / 诊断 # Codex一个贴心的细节:auto模式下,某一边缺依赖只会显示"OK for auto/xxx mode",不会误报失败——因为它只作备用。
| 切换后常见症状 | 原因 | 解决 |
|---|---|---|
| 守护进程直接退出 | 目标引擎 CLI 缺失/预检失败 | 按错误提示安装 CLI 或改回auto |
| Codex 报 SDK 未安装 | 缺少@openai/codex-sdk | 在 skill 目录执行npm install |
| Codex 鉴权失败 | 未登录且无 API Key | codex auth login或配置OPENAI_API_KEY |
| Codex 拒绝在工作目录运行 | 非受信 Git 仓库 | 确认目录正确,或显式设CTI_CODEX_SKIP_GIT_REPO_CHECK=true |
📎 更多排障步骤参考 references/troubleshooting.md,日常使用命令见 references/usage.md。
三种模式怎么选?决策清单
✅只用 Claude→claude(默认,校验最严格,问题暴露最早)
✅只用 OpenAI / Codex→codex(记得完成codex auth login)
✅不确定、或团队环境参差不齐→auto(有 Claude 用 Claude,没有自动切 Codex,容错性最强)
✅临时排障→ 若claude模式报 CLI 错误且暂时装不好,先切auto让 Codex 顶班,不中断桥接服务
小结
CTI_RUNTIME是 Claude-to-IM-skill 中最值得先搞懂的配置项:一行claude/codex/auto决定你的 IM 机器人背后是哪颗"AI 大脑"。记住三个要点——
- 改配置要重启:
stop→ 修改 →start - 切完先体检:
doctor会按当前模式精准检查依赖 - 拿不准选
auto:自动预检 + 优雅回退,是省心之选
配置好之后,从手机发一句"帮我重构这个函数",你的 AI 编码智能体就开始干活了。🚀
【免费下载链接】Claude-to-IM-skillBridge Claude Code / Codex to IM platforms — chat with AI coding agents from Telegram, Discord, or Feishu/Lark.项目地址: https://gitcode.com/gh_mirrors/cl/Claude-to-IM-skill
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考