Logo Vincent
返回文章列表

我做了个机器人,让团队在飞书里用 Claude Code

Claude
我做了个机器人,让团队在飞书里用 Claude Code

为什么要做这个

用过 Claude Code 的人都知道,它很强——能读代码、改代码、跑命令、做重构。但有个问题:你得开着终端才能用它。

这意味着你只能坐在电脑前,打开 terminal,才能和 Claude Code 对话。出门在外、手机上、或者想让团队其他人也能用?没门。

我就想:能不能把 Claude Code 接到飞书里,变成一个群聊机器人?

在群里 @一下,它就能帮你改代码、查问题、跑测试。不需要打开终端,不需要 SSH,手机上也能用。

这就是 CCBot 的由来。

OpenClaw:灵感来源

在做 CCBot 之前,我研究了一个叫 OpenClaw 的开源项目。

OpenClaw 是一个自托管的个人 AI 助手,由 PSPDFKit 创始人 Peter Steinberger 开发,MIT 协议。它的核心理念很简单:AI 应该跑在你自己的设备上,通过你日常用的聊天工具来交互。

它做的事情比 CCBot 宏大得多:

  • 20+ 消息渠道:WhatsApp、Telegram、Slack、Discord、飞书、微信、iMessage……几乎你能想到的聊天工具它都支持
  • 多模型支持:OpenAI、Anthropic、Google、Ollama(本地模型)、DeepSeek 等十几个 AI 供应商
  • 原生 App:macOS 菜单栏应用、iOS App、Android App,都能作为助手的”节点”,提供设备独有的能力(摄像头、屏幕录制、语音等)
  • 浏览器控制:通过 Playwright 控制一个独立的 Chrome 实例,能帮你浏览网页、填表、截图
  • 语音交互:唤醒词检测、连续语音对话、文字转语音
  • Live Canvas:一个 AI 驱动的可视化工作区,AI 可以实时渲染和操控画面
  • 自动化:定时任务、Webhook、Gmail 订阅、轮询
  • 插件系统:核心保持精简,70+ 扩展包通过插件加载
  • 记忆系统:基于 LanceDB 的向量存储,以及工作区记忆文件

技术栈上,OpenClaw 用 TypeScript + Node.js,pnpm monorepo 管理,Hono 做 Web 网关,Lit 做控制面板 UI,SQLite + sqlite-vec 做数据存储和向量检索。部署方式灵活——Docker、Fly.io、Nix、裸机都行。

安全方面,它采用单操作者信任模型——每个网关实例只有一个受信用户,通过 DM 配对、白名单、沙箱、执行审批等机制保障安全。它不是一个多租户平台,就是你的个人助手。

OpenClaw 给我最大的启发是:AI 助手不应该被限制在某个特定的界面里,它应该出现在你日常使用的工具中。

但 OpenClaw 的定位是通用 AI 助手,而我想要的更聚焦——专门把 Claude Code 的编程能力带到飞书里。 不需要支持 20 个渠道,不需要多模型切换,就做好”飞书 + Claude Code”这一件事。

于是就有了 CCBot。

CCBot 是什么

CCBot 是一个开源的飞书机器人,把 Claude Code 的编程能力直接搬到飞书群聊里。

一句话概括:在飞书里 @CCBot,就等于在终端里用 Claude Code。

核心特性:

  • 飞书 WebSocket 长连接——不需要公网 IP,不需要配置回调地址
  • Claude Code --print 模式——带会话上下文,支持多轮对话
  • PM2 进程管理——后台守护,一键启停
  • 用户级消息队列——多人同时使用不冲突
  • 长消息自动拆分——Claude 的长回复自动切割成多条飞书消息
  • 飞书 Markdown 渲染——代码块、列表、加粗等格式正确显示

怎么用

安装

npm install -g @ccbot/cli

配置飞书机器人

  1. 飞书开放平台创建一个自建应用
  2. 添加”机器人”能力
  3. 事件订阅 → 设置为”长连接”模式
  4. 添加事件:im.message.receive_v1
  5. 开通权限:
    • im:message.p2p_msg:readonly(接收私聊消息)
    • im:message.group_at_msg:readonly(接收群聊 @消息)
    • im:message:send_as_bot(以机器人身份发送消息)
  6. 发布应用,记下 App ID 和 App Secret

启动

进入你的项目目录,运行:

ccbot start

首次启动会提示你输入配置:

? Claude Code path: claude
? Anthropic Base URL: https://api.anthropic.com
? Anthropic Auth Token: sk-xxx
? Feishu App ID: cli_xxx
? Feishu App Secret: ***
? Timeout in ms: 300000

配置保存在当前目录的 ccbot.json 里,后续启动自动读取。

使用

在飞书群聊或私聊中:

  • 直接发消息或 @CCBot,它就会调用 Claude Code 处理你的请求
  • 发送 /new 重置会话
  • 发送 /stop 停止当前请求
  • 发送 /status 查看会话状态
  • 发送 /version 查看版本

管理

ccbot stop      # 停止
ccbot restart   # 重启
ccbot status    # 查看状态
ccbot logs      # 查看日志
ccbot delete    # 从 pm2 中删除

技术实现

架构很简单:

飞书消息 → CCBot Server → Claude Code CLI (--print) → 飞书回复

CCBot 通过飞书的 WebSocket 长连接接收消息,然后调用本地的 claude --print 命令处理,最后把结果发回飞书。

几个关键设计:

  1. WebSocket 长连接:不像传统飞书机器人需要公网 IP 和回调 URL,CCBot 用长连接模式,跑在内网机器上就行
  2. 会话管理:每个用户有独立的会话上下文,多轮对话是连贯的
  3. 消息队列:同一个用户的请求排队处理,避免并发冲突
  4. PM2 守护:用 PM2 管理进程,崩溃自动重启,日志自动轮转

项目本身是一个 Lerna + Nx 的 monorepo,包含两个子包:

  • @ccbot/cli:核心 CLI 工具
  • @ccbot/index:官网(ccbot.dev)

适用场景

  • 个人开发者:手机上也能让 Claude Code 帮你改代码
  • 小团队:在飞书群里共享一个 Claude Code 实例,大家都能用
  • 远程办公:不用 SSH 到开发机,在飞书里直接操作
  • 代码审查:把代码片段发到群里,让 CCBot 帮忙审查

CCBot vs OpenClaw

维度CCBotOpenClaw
定位Claude Code 飞书机器人通用个人 AI 助手
消息渠道飞书20+ 渠道
AI 后端Claude Code CLI多模型支持
部署复杂度npm install -g 一行搞定Docker/Fly.io/Nix
原生 AppmacOS/iOS/Android
插件系统70+ 扩展包
适合谁用飞书 + Claude Code 的开发者想要全能 AI 助手的极客

简单说:CCBot 是一把瑞士军刀里的螺丝刀——只做一件事,但做得够好。OpenClaw 是整把瑞士军刀。

如果你只是想在飞书里用 Claude Code,CCBot 五分钟就能跑起来。如果你想要一个能连接所有聊天工具、支持语音、能控制浏览器的全能 AI 助手,去看看 OpenClaw。

链接

© 2026 vincentqiao.com . 保留所有权利。