乐于分享
好东西不私藏

CC-Connect:让 AI 编程助手接入飞书,随时随地掌控本地 Agent

CC-Connect:让 AI 编程助手接入飞书,随时随地掌控本地 Agent

在 AI 编程工具爆发的今天,Claude Code、Codex、Gemini CLI 这类本地 Agent 已经可以替我们完成大量复杂任务。但有一个痛点始终存在:这些工具只能坐在电脑前使用。出门在外想确认一下进度?不行。用手机给 Agent 下个新任务?也不行。

CC-Connect[1] 就是为了解决这个痛点而生的。

1. CC-Connect 是什么

CC-Connect 是一个开源的"桥接层",它运行在本地,将你的 AI 编程 Agent 连接到各种即时通讯平台。你可以在飞书、Telegram、Discord、Slack 甚至微信上直接和 Agent 对话,就像和同事聊天一样下达指令、查看输出。

核心特性一览:

  • 支持 10+ AI Agent:Claude Code、OpenAI Codex、Gemini CLI、Cursor Agent、Kimi CLI,以及任何兼容 ACP(Agent Client Protocol)标准的 Agent
  • 覆盖 11 个平台:飞书、钉钉、Slack、Telegram、Discord、企业微信、微博、LINE、QQ,以及通过 ilink 技术接入的个人微信
  • 大多数平台无需公网 IP:飞书通过 WebSocket 长连接,不暴露服务器即可使用
  • 会话管理:支持创建、切换会话,管理工作目录,设置权限模式
  • 计划任务:用自然语言描述定时任务(如"每天早上 9 点提交日报")
  • Web 管理界面:v1.3.0 起内置 Web UI,支持中英等 5 种语言,可视化配置和直接对话

项目目前在 GitHub 拥有 9200+ Star,使用 Go 编写(占 92.6%),MIT 开源协议。

2. 快速上手

2.1 安装

CC-Connect 提供多种安装方式:

# npm 安装(推荐,跨平台)npm install -g cc-connect# macOS Homebrewbrew install cc-connect# 或直接下载二进制包# 访问 https://github.com/chenhg5/cc-connect/releases

2.2 飞书集成配置

飞书是国内最常用的企业协作平台,CC-Connect 对其支持非常完善,通过 WebSocket 连接,完全不需要公网 IP。

配置步骤大致如下:

  1. 创建飞书自建应用:在飞书开放平台[2]创建企业自建应用,获取 App ID 和 App Secret
  2. 开启机器人能力:在应用设置中开启"机器人"功能
  3. 配置 WebSocket 长连接:在事件与回调中选择"使用长连接接收事件",无需填写回调地址
  4. 配置 CC-Connect:通过 cc-connect web 启动管理界面,在飞书平台配置中填入 App ID 和 App Secret
  5. 订阅消息事件:添加 im.message.receive_v1 事件订阅权限

启动服务后,在飞书中给机器人发消息,消息就会转发给本地 Agent 处理,响应内容也会回传到飞书会话中。

2.3 常用指令

在飞书中,你可以通过 / 指令控制 Agent:

指令
功能
/model claude
切换 Agent 类型
/dir /path/to/project
切换工作目录
/session new
创建新会话
/cron 0 9 * * * 提交日报
设置定时任务

3. 飞书卡片回调通信机制

CC-Connect 与飞书的深度集成,依赖飞书的卡片回调通信机制(官方文档[3])。

当用户点击飞书消息卡片上的交互组件(按钮、下拉框、表单等)时,飞书会向应用的回调地址发送一个类型为 card.action.trigger 的 POST 请求。

关键约束:业务服务器必须在 3 秒内响应。 响应内容可以是:

  • 更新卡片内容(type: "raw" 或 type: "template")
  • 显示 Toast 提示(支持 info / success / error / warning 类型)
  • 维持当前状态(空响应)

回调请求包含以下核心信息:

{"header":{"event_id":"...","token":"...",// 用于验证请求合法性"app_id":"..."},"event":{"operator":{"user_id":"...","open_id":"..."},"action":{"value":{},// 组件绑定的业务数据"form_value":{}// 表单提交时的字段值},"context":{"message_id":"...","chat_id":"..."}}}

对于 CC-Connect 的场景,这套机制主要用于:用户在飞书卡片上点击"停止任务"、"批准操作"等按钮时,触发对本地 Agent 的控制指令。

4. 实际使用中遇到的问题

4.1 会话匹配紊乱(Issue #830)

在 v1.3.2 版本中,有用户报告了一个严重的 Bug #830[4]:在飞书中与 Codex Agent 对话时,CC-Connect 会在未经用户操作的情况下自动创建新会话,导致上下文断裂,Agent 响应内容消失不见。

具体症状:

  • Codex 调用了 41 次工具后突然"冻结"
  • 查看会话发现已切换到一个新会话
  • 原会话的对话记录和上下文全部丢失
  • 飞书侧看不到 Agent 的任何响应输出

问题根因:平台层面未能维持消息和后端 Agent 会话之间的稳定映射,在长时间运行的任务中出现了会话 ID 漂移。这在 Codex 这类需要频繁调用工具的 Agent 上尤为明显。

影响范围:Windows + npm 安装 + Feishu 平台 + Codex Agent 的组合,长任务执行场景下必现。

当前状态:该 issue 标记为 Bug,等待官方修复。在此之前,建议:

  • 尽量避免在单次会话中执行工具调用次数过多的任务
  • 定期手动保存重要的上下文信息
  • 关注项目 Release,及时升级修复版本

4.2 其他注意事项

  • 飞书应用审核:企业自建应用需要管理员审批,个人开发测试可在"测试企业"环境中绕过审核
  • 消息长度限制:飞书单条消息有长度上限,CC-Connect 会自动分片发送,但超长输出可能出现排版问题
  • 网络稳定性:WebSocket 长连接在网络抖动时会重连,偶发消息延迟属正常现象

5. 总结

CC-Connect 填补了"本地 AI Agent 离不开电脑"的空白,对于重度使用 Claude Code 或 Codex 的开发者来说,能在飞书上随时下达指令、查看进度,极大提升了工作灵活性。

飞书集成的 WebSocket 方案是一大亮点——免去了公网 IP 和内网穿透的折腾。会话紊乱问题目前是使用中最明显的痛点,建议关注官方的修复进展。

如果你的团队以飞书为主力协作工具,不妨一试。


参考资料

  • CC-Connect GitHub 仓库[5]
  • Issue #830:会话匹配紊乱[6]
  • 飞书卡片回调通信官方文档[7]
  • 飞书开放平台[8]

引用链接

[1]CC-Connect: https://github.com/chenhg5/cc-connect

[2]飞书开放平台: https://open.feishu.cn/

[3]官方文档: https://open.feishu.cn/document/feishu-cards/card-callback-communication

[4]Bug #830: https://github.com/chenhg5/cc-connect/issues/830

[5]CC-Connect GitHub 仓库: https://github.com/chenhg5/cc-connect

[6]Issue #830:会话匹配紊乱: https://github.com/chenhg5/cc-connect/issues/830

[7]飞书卡片回调通信官方文档: https://open.feishu.cn/document/feishu-cards/card-callback-communication

[8]飞书开放平台: https://open.feishu.cn/

相关学习资料