仓库github.com/zarazhangrui/feishu-claude-code-bridge
核心思路:用飞书机器人作为 Claude Code 的"远程终端"——在本地跑 Claude,把 IM 当作输入输出层。


一、为什么需要它?

Claude Code 默认是命令行工具,绑在本地终端。这带来几个真实痛点:

  • 离开电脑就失联——下班路上想让它继续改 bug?不行。
  • 没法让 AI 进项目群——你想让团队同事一起用 Claude 评审 PR?得每人本地装。
  • 没通知——长任务跑完你不知道。
  • 手机端体验差——Termius 之类的 SSH 客户端能用,但远不如原生 IM 顺手。

lark-channel-bridge(npm 包名 lark-channel-bridge)的设计很简洁:让飞书机器人成为 Claude Code 的前端。你在飞书发消息,bridge 把消息转给本地的 claude 进程;Claude 的输出再以消息形式回传。模型推理和会话状态完全留在本地,飞书只做"消息搬运工"。

二、安装

一行命令,全局装好:

npm i -g lark-channel-bridge
added 56 packages in 6s
13 packages are looking for funding
  run `npm fund` for details

零 Python 依赖、零 Docker 依赖。装完就一个可执行文件 lark-channel-bridge

三、首次配置:扫码搞定

第一次启动会自动进入"扫码创建飞书应用"向导:

lark-channel-bridge start
未检测到飞书应用配置,进入扫码创建向导。
请用飞书 App 扫描以下二维码完成应用创建:

在这里插入图片描述

二维码有效期:约 60 分钟
也可以直接在浏览器打开:
  https://open.feishu.cn/page/launcher?user_code=WKUR-NVW5&from=sdk&source=node-sdk&tp=sdk

3.1 扫码结果

✓ 应用创建成功
  App ID:  cli_XXXXXXXXXXXXXXXXX
  Tenant:  feishu
  Admin:   ou_XXXXXXXXXXXXXXX (你自己,已自动加入管理员名单)
配置已保存到 C:\Users\lgzhu\.lark-channel\config.json

App ID、App Secret 都自动写盘到 ~/.lark-channel/config.json,不用你手动复制粘贴。

3.2 去开放平台勾权限

自动建好的应用是个空壳,需要去飞书开放平台把权限和事件订阅勾上:

权限 scope

  • im:message —— 收发消息
  • im:message:send_as_bot —— 以 bot 身份发消息
  • im:resource —— 上传/下载图片、文件
  • im:chat —— 创建群(可选)
  • drive:drive —— 读写云文档评论

事件订阅(长连接模式)

  • im.message.receive_v1 —— 接收消息
  • card.action.trigger —— 卡片按钮回调
  • drive.notice.comment_add_v1 —— 云文档 @bot
  • im.message.reaction.created_v1 / deleted_v1(可选)
  • im.chat.member.bot.added_v1(可选)

⚠️ 关键点:事件订阅一定要用长连接(WebSocket)模式,不要选 webhook 回调。webhook 模式需要公网域名 + HTTPS 证书,对个人开发者极其不友好。长连接模式就是为这种场景设计的。

3.3 启动成功

✓ 已连接  bot: Win Claude (cli_a96e1e48d6f8dcef)  agent: Claude Code (claude)  进程: 49fd
正在监听消息。按 Ctrl+C 退出。

到这里,去飞书给这个 bot 发条消息,Claude 就开始干活了。

四、退出与重连

4.1 退出(两种方式)

(1) 在 bridge 控制台按 Ctrl+C —— 标准做法。

(2) 在飞书对话里发 /exit <ID> —— 远程场景用。先用 /ps 查进程 ID:

/ps

输出当前机器所有 start 起的进程,选中后回车确认。

4.2 重连

直接再跑一次:

lark-channel-bridge start
✓ 已连接  bot: Win Claude (cli_a96e1e48d6f8dcef)  agent: Claude Code (claude)  进程: 9c63
正在监听消息。按 Ctrl+C 退出。

注意进程 ID 每次都变(49fd → 9c63),这是每次启动随机生成的 session id。

五、CLI 命令速查

lark-channel-bridge start [-c <config>]   # 启动 bot
lark-channel-bridge ps                      # 列出本机所有 start 进程
lark-channel-bridge stop <id|#>            # 终止指定进程(SIGTERM,2s 后 SIGKILL)
lark-channel-bridge --help                 # 列所有命令

5.1 多开同一 App 的处理

飞书会把同一个 App 的事件随机分发给所有长连接。如果你在本机起了两个 start(比如测新配置),消息会被分走。

start 启动时会先检测同 App 已有的进程:

  • TTY(终端)下:交互式三选一
    • [c]ontinue —— 当前进程继续跑,事件分给两个
    • [k]ill old —— 干掉旧的,新进程独占
    • [a]bort —— 退出,什么也不做
  • 非 TTY(后台/服务)下:只 warn 一行然后继续

其他子命令(status / doctor / handover / workspace / service)目前是占位,后续版本补。

六、飞书里的斜杠命令与消息路由

bridge 在飞书里支持一套斜杠命令(卡片式菜单),核心的几个:

  • /config —— 打开配置面板
  • /ps —— 列出本机进程
  • /exit <ID> —— 远程结束进程
  • /reconnect —— 重连(修改配置后用)

6.1 默认消息策略

场景 行为 触发条件
私聊 ✅ 任何消息都回 无需 @
群聊 / 话题群 ✅ 默认要 @bot 不 @ 时完全沉默
@全员(@all) ❌ 永远不响应 避免误触发
云文档评论 ✅ 必须 @bot 评论里 @ 才回

这是 0.1.22 起的"新默认"。要恢复"群里不强制 @"的老行为:

/config → "群里需要 @ bot" → 选"否"

七、/config 配置面板深度用法

/config 是飞书卡片式的配置面板,所有控制项都在这里调。

7.1 关键规则

  • 改完下一条消息就生效——不需要重启 bridge。
  • 空字符串 = 不限制(不是"一个都不允许")。把"群白名单"清空 = 允许所有群。
  • 从受限状态回到"完全开放":把对应栏目清空再提交。

7.2 私聊是"逃生通道"

设计上故意保留一个口子:私聊永远不受"群白名单"约束

万一你手滑把所有群都锁死了,私聊里发 /config 就能解锁。这个 fallback 是必须的,不是漏洞。

八、高级:直接改配置文件

/config 背后写的是 ~/.lark-channel/config.jsonpreferences.access 段:

{
  "appId": "cli_a96e1e48d6f8dcef",
  "appSecret": "***",
  "preferences": {
    "access": {
      "groups": [],
      "users": [],
      "requireMentionInGroup": true
    }
  }
}

手改完之后两种方式生效:

  • 重启 bridge —— 简单粗暴
  • 找一个被允许的会话发 /reconnect —— 不中断服务

日常调整还是用 /config 表单更省事;手改文件主要用在"部署脚本里预填"这种场景。

九、典型工作流

  1. 日常开发:本地 IDE + Claude Code 正常用,不影响。
  2. 通勤/碎片时间:手机飞书发消息,让它接着改。
  3. 团队协作:把 bot 拉进项目群,@ 它做 code review、跑测试、生成 PR 描述。
  4. 长任务:不用守着,bridge 把进度以流式消息推回飞书。
  5. 紧急止血:发现自己把规则改死了?私聊发 /config,三秒恢复。

十、适用人群

  • 个人开发者:想利用通勤/碎片时间继续让 AI 干活。
  • 小团队:想让 AI 进群做 review、回答新人问题。
  • DevOps:CI 失败时,飞书里直接发 /fix 看一下 build #1234
  • 不想自建 Web 服务的人:不用租服务器、不用搞 OAuth 回调——长连接模式零运维。

整个工具几秒就能装完、零运行时重依赖。"轻前端 + 重本地"的设计,对个人开发者和小团队都非常友好。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐