简单说,就是把 claude code 装在云服务器上,然后接入飞书。这样你就可以让它 7*24 为你开发了,因为 claude code 配合顶级的大模型开发能力已经足够强大(基本强于 985 研究生),所以就算你不懂开发也没问题,你就是老板,通过飞书下达指令,不管跟他讨论实现方案,还是让它给你出开发计划,抑或最终的开发实现、部署上线……你只需要用手机、飞书对话……懂不懂技术都没所谓。
即便你是编程老手,其实用这个模式也很有价值,你可以从电脑前彻底解放,随时随地……搭配上豆包语音输入,打字都不需要了……
🚀【2026.3.7】新增:每日自动备份,bridge 在指定时间自动将配置和会话记忆打包备份到本地,支持 /backup 命令随时手动触发
🚀【2026.3.5】新增:延迟消息(计划消息),/小时-分钟 “要延迟发送的消息” (xx 小时 xxx 分钟后,内容发给 claude code)
- 不需要 max/pro 订阅;
- 因为不需要订阅,因此可以用国内的第三方代理方案,也可以直接用 minimax 或者 kimi、glm、qwen 等 coding 套餐;
- 省不省钱的先不说,至少网络环境和账号这些麻烦不会存在了……
顺便推荐一下,Noin.ai 量大盘稳
至于云端服务器,2C4G 足够了,腾讯云首单一年 79……当然因为本项目不需要公网 IP,所以你搞台二手电脑装个 ubuntu 扔家里或者办公室也是可以的……硬件几乎零成本。
🌹 致敬:飞书连接桥方案来自:https://github.com/AlexAnys/feishu-openclaw
🎯 来自 https://github.com/affaan-m/everything-claude-code 的 claude code 强化插件
本项目会直接安装来自 Anthropic 黑客马拉松获胜者的完整 Claude Code 配置集合。让你的 claude code 直接继承十年程序员开发功力!
生产级代理、技能、钩子、命令、规则和 MCP 配置,经过 10 多个月构建真实产品的密集日常使用而演化。
同时经过 modified,更加符合中国网络环境。
飞书用户 ──WebSocket──▶ bridge.mjs ──stdin/stdout──▶ Claude Code CLI
│ │
ProjectManager ClaudeProcess
(多项目管理) (stream-json 协议)
- bridge.mjs — 单 Node.js 进程,同时服务多个飞书 bot + 多个 Claude Code 子进程
- ClaudeProcess — 通过
stream-json协议与 Claude CLI 通信,支持会话持久化和自动重启 - ProjectManager — 管理多项目生命周期,每个项目独立的 Claude 实例和飞书 bot
- Node.js 18+(推荐 22)
- Claude Code CLI —
npm install -g @anthropic-ai/claude-code - 飞书自建应用 — 需要 App ID + App Secret(详见下方配置步骤)
curl -fsSL https://raw.githubusercontent.com/bigbrother666sh/codes/main/deploy.sh | bash脚本会自动安装 Node.js、Claude Code CLI,引导配置飞书凭据,并创建 systemd 服务。
git clone https://github.com/bigbrother666sh/codes.git
cd codes
./backup.sh <ssh目标> [本地备份目录]示例:
./backup.sh incu
./backup.sh wukong@123.60.18.144 ./backups会下载以下内容到本地时间戳目录:
~/.codes(排除logs/和bridge-sessions.json)~/.claude.json~/.claude/settings.json~/.claude/projects/*/memory
git clone https://github.com/bigbrother666sh/codes.git
cd codes/bridge
npm installmkdir -p ~/.codes/secrets
cp bridge.example.json ~/.codes/bridge.json编辑 ~/.codes/bridge.json:
{
"projects": {
"myapp": {
"path": "/home/user/projects/myapp",
"feishu": {
"appId": "cli_xxx",
"appSecretPath": "~/.codes/secrets/myapp_secret"
}
}
},
"claudePath": "claude",
"debug": false
}将飞书 App Secret 写入 secret 文件:
echo -n "your-app-secret" > ~/.codes/secrets/myapp_secret
chmod 600 ~/.codes/secrets/myapp_secretnode bridge.mjs| 字段 | 说明 | 默认值 |
|---|---|---|
projects |
项目配置 map(alias → {path, feishu}) | 必填 |
projects.*.path |
项目代码仓路径 | 必填 |
projects.*.feishu.appId |
飞书 App ID | 必填 |
projects.*.feishu.appSecretPath |
Secret 文件路径 | 必填 |
thinkingThresholdMs |
thinking 状态提示阈值(ms) | 2500 |
claudePath |
Claude CLI 路径 | "claude" |
debug |
调试模式 | false |
backup.time |
每日自动备份时间(HH:MM) | "04:16" |
backup.dest |
备份目标目录 | "~/Backups" |
backup |
设为 false 可完全禁用自动备份 |
— |
bridge 内置每日定时备份,默认凌晨 04:16 将以下内容打包为 backup_YYYYMMDD_HHmm.tar.gz:
~/.codes(排除logs/和bridge-sessions.json)~/.claude.json~/.claude/settings.json~/.claude/projects/*/memory(跨项目记忆)
在 bridge.json 中配置:
{
"backup": {
"time": "04:16",
"dest": "~/Backups"
}
}设为 false 可完全禁用:
{
"backup": false
}也可在飞书发 /backup 随时手动触发一次。
参见 bridge/.env.example。可通过环境变量覆盖 bridge.json 中的值:
FEISHU_THINKING_THRESHOLD_MS=2500 # thinking 状态提示阈值
FEISHU_BRIDGE_DEBUG=1 # 调试模式
FEISHU_BRIDGE_MAX_LOCAL_FILE_MB=15 # 本地文件大小限制
FEISHU_BRIDGE_MAX_INBOUND_IMAGE_MB=12 # 入站图片大小限制
FEISHU_BRIDGE_MAX_INBOUND_FILE_MB=40 # 入站文件大小限制- 打开 飞书开放平台,登录
- 点击 创建自建应用
- 填写应用名称(随意,比如 "My AI Assistant")
- 进入应用 → 添加应用能力 → 选择 机器人
- 进入 权限管理,开通以下权限(推荐照抄,少踩坑):
im:message— 获取与发送消息im:message:send_as_bot— 以机器人身份发消息(避免 403)im:message.group_at_msg— 接收群聊中 @ 机器人的消息im:message.p2p_msg— 接收机器人单聊消息im:resource— 上传/下载图片与文件(收图/收视频必须)
或者选择“批量导入/导出权限”复制如下
{
"scopes": {
"tenant": [
"im:resource",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"im:message:readonly",
"im:message:send_as_bot"
],
"user": []
}
}-
进入 事件与回调 → 事件配置:
- 添加事件:
接收消息 im.message.receive_v1 - 请求方式选择:使用长连接接收事件(这是关键!)
坑点:此时要保证 codes 已在运行
- 添加事件:
-
发布应用(创建版本 → 申请上线)
-
记下 App ID 和 App Secret(在"凭证与基础信息"页面)
在飞书中向 bot 发送以下命令:
| 命令 | 说明 |
|---|---|
/start [alias|all] |
启动项目的 Claude Code |
/stop [alias|all] |
停止项目的 Claude Code |
/reset [alias] |
重置会话(清除历史,开始新对话) |
/interrupt [alias] |
打断当前正在处理的消息 |
/cost [alias] |
查看费用统计 |
/context [alias] |
查看会话信息 |
/status |
查看所有项目状态 |
/backup |
立即触发一次备份 |
/help |
显示帮助 |
其他 / 开头的消息会直接转发给 Claude Code(如 Claude 内置的 /compact 等)。
普通消息直接发送给对应项目的 Claude Code 处理。
当 Claude 正在处理上一条消息时,新发送的消息会自动排队(单槽设计,仅保留最新一条):
用户发 A → Claude 开始处理
用户发 B → "⏳ 消息已排队" → B 进入等待
用户发 C → "⏳ 消息已排队(替换)" → C 替换 B
A 处理完 → 回复 A 结果 → 自动开始处理 C
如需打断当前处理,发送 /interrupt:
用户发 A → Claude 处理中
用户发 /interrupt → 打断 A → 自动处理排队消息(如有)
/cost 和 /context 不受队列限制——Claude 忙碌时返回 bridge 记录的数据,空闲时透传给 Claude Code 返回详细信息。
/xx-dd 消息:xx 小时 dd 分钟后发送一次(例:/2-15 服务器维护)【意味着从发送起2 小时 15 分钟后,把“服务器维护”这句话发给 claude code) /scheduled [alias]:查看当前待发送定时任务 /unschedule <任务ID前缀> [alias]:撤回单个定时任务 /unschedule all [alias]:撤回该项目全部定时任务
curl -fsSL https://raw.githubusercontent.com/bigbrother666sh/codes/main/deploy.sh | bash脚本会自动安装 Node.js、Claude Code CLI,引导配置飞书凭据,并创建 systemd 服务。 第一次安装会自动配置 systemd 服务,后面会开启自启。
本项目安装部署时,会自动应用 claude_enhance 里面的来自everything-claude-code —— The performance optimization system for AI agent harnesses. From an Anthropic hackathon winner. 的最佳实践配置,不仅能让你的 claude code 发挥最大能力,还能有效降低 token(通过细腻的分层任务自动切换不同的模型,以及跨 session 的持久记忆)
但是原版的 mcp 过于庞杂,很多也不适合国内环境,因此我精简为五个:github、memory、context7、magic、jina,这五个应该是编程都需要的
其中 github 需要你的 PAT,获取方式为:
GITHUB_PERSONAL_ACCESS_TOKEN 是在 GitHub 里创建的个人访问令牌(PAT)。
打开 GitHub 的 Token 页面
https://github.com/settings/personal-access-tokens
选择创建方式
推荐:Fine-grained token(权限更细、更安全)
兼容旧工具:Tokens (classic)
按你的 MCP 用途勾权限
只读仓库:Contents: Read
需要提 Issue / PR:再加 Issues、Pull requests 的 Read and write
如果 classic token,常见最小是:repo(私有仓库)和 read:org(如需组织信息)
创建后复制 token 到 .claude.json 的 mcpserver-github 下
jina 需要获取 key,获取地址为:https://jina.ai/ 申请 api key,十分便宜
# 1. 安装 Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
# 2. 安装 Claude Code CLI
npm install -g @anthropic-ai/claude-code
# 3. 克隆并安装
git clone https://github.com/bigbrother666sh/codes.git ~/codes
cd ~/codes/bridge && npm install
# 4. 配置(参见上方「快速开始」)
# 5. 创建 systemd 服务
node setup-service.mjs
systemctl --user daemon-reload
systemctl --user enable codes-feishu-bridge
systemctl --user start codes-feishu-bridge# 查看状态
systemctl --user status codes-feishu-bridge
# 查看日志
journalctl --user -u codes-feishu-bridge -f
# 重启
systemctl --user restart codes-feishu-bridge| 症状 | 排查方法 |
|---|---|
| bridge 启动后无反应 | 检查 ~/.codes/bridge.json 格式,确认 secret 文件存在 |
| 飞书消息无响应 | 检查飞书应用权限,确认 WebSocket 模式已启用 |
| Claude 报错 | 确认 claude --version 可运行,检查 ~/.claude/settings.json 配置 |
| 进程重启后会话丢失 | 正常行为——bridge 会自动以 --resume 恢复上次会话 |
| 多项目配置不生效 | 确认每个项目的 feishu.appId 不同,每个 bot 对应一个项目 |
node bridge/bridge.mjs --selftest验证配置加载和基本功能,不会连接飞书。
MIT
