飞书桥接 Claude Code / Codex 踩坑实录:从部署、魔改到重装

前言

最近发现了一个很有意思的项目 Claude-to-IM-skill,它可以把 Claude Code 或 OpenAI Codex 桥接到飞书、Telegram、Discord 等即时通讯平台。这样一来,你就能在手机上通过飞书与 AI 对话,让它帮你写代码、查日志、处理文件。

听起来很美好,但实际部署过程中踩了不少坑。本文记录了完整的踩坑、魔改、再踩坑的过程。


项目简介

Claude-to-IM-skill 本质上是一个 Bridge 服务,核心架构如下:

text

复制代码
飞书 App ←──WebSocket 长连接──→ Bridge 进程(运行在你的电脑上)
                                      ↓
                              Claude Code / Codex CLI

优点:

  • 无需公网 IP,通过 WebSocket 长连接通信

  • 支持多平台:飞书、Telegram、Discord、QQ、微信

  • 支持双运行时:可在 Claude Code 和 Codex 之间切换

缺点:

  • 官方文档对 Windows 支持不够完善

  • 会话系统与 Codex 原生会话不互通

  • 缺少运行时切换功能


踩坑记录

坑 1:Windows 路径大小写冲突

项目由两个 npm 包组成:

  • Claude-to-IM-skill(skill 包)

  • Claude-to-IM(核心库)

skill 包的 package.json 中,依赖路径写的是 file:../Claude-to-IM,但 Windows 文件系统大小写不敏感,导致 claude-to-im 和 Claude-to-IM 被视为同一个目录,npm 链接失败。

解决方案 :把核心库目录重命名为 claude-to-im-core,并相应修改 package.json:

json

复制代码
"claude-to-im": "file:../claude-to-im-core"

坑 2:daemon.ps1 启动脚本参数解析异常

Windows 版启动脚本 daemon.ps1 在 PowerShell 7 下会报错:

text

复制代码
A positional parameter cannot be found that accepts argument 'bridge.log'

原因:脚本中的日志重定向写法与 PowerShell 7 不兼容。

解决方案 :修改 supervisor-windows.ps1,改用 Start-Process 的 -RedirectStandardOutput 参数。

坑 3:飞书机器人无法接收消息

Bridge 启动成功了,但在飞书里发消息没有任何反应。

原因:飞书后台的「事件订阅」尚未配置。

解决方案:

  1. 进入飞书开放平台 → 事件订阅

  2. 选择「使用长连接接收事件」

  3. 添加事件:im.message.receive_v1

  4. 发布新版本

坑 4:无法给机器人发消息

飞书机器人页面上只有「查看消息」,找不到发送消息的输入框。

原因:飞书机器人需要先建立会话才能发消息。

解决方案:在群里 @ 机器人,或者在飞书后台配置好事件订阅后重新发布应用。


我提的 Issue

Issue #104:支持绑定 Codex 原生会话

问题描述:

Bridge 的会话系统与 Codex 原生会话系统是彼此独立的:

  • Bridge 会话存储在 ~/.claude-to-im/data/sessions.json

  • Codex 原生会话存储在 ~/.codex/sessions/*.jsonl

这导致用户无法在飞书里继续之前在 Codex CLI 中进行的对话。

Issue 链接 :https://github.com/op7418/Claude-to-IM-skill/issues/104


自己做的改进

1. 添加 /import 命令

在飞书里可以直接导入 Codex 原生会话:

text

复制代码
/import              # 列出所有 Codex 会话
/import <session_id> # 导入指定会话

2. 添加 /runtime 命令

可以在飞书里直接切换运行时:

text

复制代码
/runtime             # 查看当前运行时
/runtime claude      # 切换到 Claude Code
/runtime codex       # 切换到 Codex
/runtime auto        # 自动选择

注意:切换时会重启 Bridge,有 5--10 秒的短暂断连。

3. 改进 /sessions 命令

显示会话列表时加入标题信息:

text

复制代码
Sessions:

Bridge Sessions:
✅ 497061b7... D:\files\HomeSense Stdio

Codex Sessions (use /bind <id> to import):
019d6b62... 阅读 HomeSense 契约与职责范围 2026/4/8
019de747... 概述微服务架构项目 2026/5/2

4. 添加 CTI_CODEX_SKIP_GIT_REPO_CHECK 环境变量

Codex 默认要求在 Git 仓库中运行,添加此环境变量可跳过检查:

text

复制代码
CTI_CODEX_SKIP_GIT_REPO_CHECK=true

发现的问题

问题 1:Codex SDK 版本不匹配

Bridge 使用的 @openai/codex-sdk 版本与 Codex CLI 版本不一致,导致调用失败:

text

复制代码
Error: Codex Exec exited with code 1: Reading prompt from stdin

解决方案:更新 SDK 到最新版本:

powershell

复制代码
npm install @openai/codex-sdk@latest

问题 2:第三方 API 代理不稳定

Codex 配置了第三方代理 api.pie-xian.com,经常返回 503 错误:

text

复制代码
ERROR: unexpected status 503 Service Unavailable: No available channel for model deepseek-v4-pro

问题 3:Codex CLI 无法调用工具

最终发现是 Codex CLI 本身出了问题:

  • 无法调用工具

  • 看不到工作区

  • 一直卡在 "Reconnecting..."


最终解决方案:重装 Codex

powershell

复制代码
# 1. 卸载旧版本
npm uninstall -g @openai/codex

# 2. 重新安装
npm install -g @openai/codex

# 3. 验证版本
codex --version

# 4. 重新登录
codex login

重装前的建议:

  • 备份配置文件:~/.codex/config.toml

  • 备份会话目录:~/.codex/sessions/


总结

这个项目的想法很好,但目前还不够成熟,尤其是对 Windows 用户而言:

方面 评分
功能设计 ⭐⭐⭐⭐
文档完善度 ⭐⭐
Windows 支持 ⭐⭐
稳定性 ⭐⭐⭐

建议:

  1. 如果你主要用 Claude Code,可以考虑 feishu-claude-code(Python 版,更加成熟)

  2. 如果想同时使用 Codex 和 Claude Code,需要自己动手魔改,或等待官方支持

  3. Windows 用户要做好踩坑的心理准备


相关链接


启动命令速查

powershell

复制代码
# 启动 Bridge
powershell -NoProfile -ExecutionPolicy Bypass -File "D:\files\claude-to-im\skill\scripts\daemon.ps1" start

# 停止 Bridge
powershell -NoProfile -ExecutionPolicy Bypass -File "D:\files\claude-to-im\skill\scripts\daemon.ps1" stop

# 查看状态
powershell -NoProfile -ExecutionPolicy Bypass -File "D:\files\claude-to-im\skill\scripts\daemon.ps1" status

# 查看日志
powershell -NoProfile -ExecutionPolicy Bypass -File "D:\files\claude-to-im\skill\scripts\daemon.ps1" logs 100
相关推荐
新知图书2 小时前
1.3 启动第一个机器人
人工智能·机器人
明志数科3 小时前
自主探索范式下机器人示教数据的工程定位:少量示范为何对质量更敏感
人工智能·机器学习·机器人
新知图书5 小时前
【新书介绍】《ROS 2机器人系统开发实践(视频教学版)》
机器人
别动我齐刘海8 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
不爱学英文的码字机器9 小时前
REMAC 论文解读:新动作算出来时,机器人已经走了两步
人工智能·机器人
摘星编程9 小时前
启元 Q1 模型微调实战:强化学习训练抗推平衡策略
机器人·实战·atomgit·启元·机器人训练
荆棘鸟智能9 小时前
短历时洪水预报算法实践:水文模型与 LightGBM 残差订正融合
人工智能·算法·机器人
天空属于哈夫克311 小时前
企业微信 RPA 自动化开发实践:打通客户管理与业务任务处理流程
机器人·自动化·企业微信·rpa
kyle~11 小时前
时间同步 --- PTP 与 Scheduled Action Command
c++·数码相机·机器人·传感器
沉下心来学鲁班12 小时前
具身智能进阶:让 MicroDuck 踩着高跷走路
人工智能·python·机器人