本文档介绍如何将 cc-connect 接入飞书,让你可以通过飞书机器人远程调用 Claude Code。
- 飞书账号(个人或企业均可)
- 一台可运行 cc-connect 的设备(无需公网 IP)
- Claude Code 已安装并配置完成
💡 优势:使用长连接模式,无需公网 IP、无需域名、无需反向代理(ngrok/frp)
访问 飞书开放平台 并登录你的飞书账号。
- 点击右上角「控制台」进入开发者后台
- 点击「创建企业自建应用」
💡 个人用户也可以创建:飞书开放平台支持个人开发者创建应用,无需企业认证。
| 字段 | 填写建议 |
|---|---|
| 应用名称 | cc-connect 或你喜欢的名称 |
| 应用描述 | Claude Code 远程助手 |
| 应用图标 | 上传一个喜欢的图标 |
在应用详情页,左侧导航栏点击 「凭据与基础信息」。
你会看到以下信息:
App ID: cli_axxxxxxxxxxxx
App Secret: QhkMpxxxxxxxxxxxxxxxxxxxx
⚠️ 重要:请妥善保存这两个凭证,后续配置 cc-connect 时需要用到。App Secret 只会显示一次,如果忘记了需要重置。
将凭证配置到 cc-connect 的 config.toml 中:
[[projects]]
name = "my-project"
[projects.agent]
type = "claudecode"
[projects.agent.options]
work_dir = "/path/to/your/project"
mode = "default"
[[projects.platforms]]
type = "feishu"
[projects.platforms.options]
app_id = "cli_axxxxxxxxxxxx"
app_secret = "QhkMpxxxxxxxxxxxxxxxxxxxx"- 左侧导航栏点击 「应用能力」 → 「机器人」
- 点击「启用机器人」
| 配置项 | 建议值 |
|---|---|
| 机器人名称 | cc-connect |
| 机器人描述 | Claude Code 远程助手 |
| 机器人头像 | 与应用图标一致 |
左侧导航栏点击 「权限管理」。
在「权限配置」中搜索并添加以下权限:
| 权限名称 | 权限标识 | 用途 |
|---|---|---|
| 获取与更新用户基本信息 | contact:user.base:readonly |
获取用户信息 |
| 接收群聊消息 | im:message.group:receive |
接收群消息 |
| 接收单聊消息 | im:message.p2p:receive |
接收私聊消息 |
| 读取群消息 | im:message.group_msg:readonly |
读取群消息内容 |
| 读取单聊消息 | im:message.p2p_msg:readonly |
读取私聊内容 |
| 以应用身份发送群消息 | im:message:send_as_bot |
发送消息回复用户 |
配置完权限后,点击「申请发布」使权限生效。
左侧导航栏点击 「事件订阅」。
在「订阅方式」中选择:
✅ 使用长连接接收事件
💡 长连接的优势:
- 无需公网 IP
- 无需配置域名和 HTTPS 证书
- 无需使用 ngrok、frp 等反向代理工具
- 适合本地开发和内网环境
- 点击「启用长连接」
- 系统会生成 WebSocket 连接信息
在事件配置中添加以下事件:
| 事件名称 | 事件标识 | 用途 |
|---|---|---|
| 接收消息 | im.message.receive_v1 |
接收用户发送的消息 |
点击「保存」完成事件订阅配置。
cc-connect
# 或指定配置文件
cc-connect -config /path/to/config.toml启动后,cc-connect 会自动与飞书建立 WebSocket 长连接。你会在日志中看到:
level=INFO msg="platform started" project=my-project platform=feishu
level=INFO msg="cc-connect is running" projects=1
[Info] connected to wss://msg-frontier.feishu.cn/ws/v2?...
- 左侧导航栏点击 「版本管理与发布」
- 点击「创建版本」
- 填写版本号和更新说明
- 点击「保存并发布」
- 企业版:发布后需要管理员审批才能使用
- 个人版:发布后立即可用
在飞书中搜索你的机器人名称,直接发送消息即可开始对话。
- 进入目标群聊
- 点击群设置 → 「群机器人」
- 添加你创建的机器人
配置完成后,你可以在飞书中这样使用:
用户: 帮我分析一下当前项目的结构
cc-connect: 🤔 思考中...
cc-connect: 🔧 执行: Bash(ls -la)
cc-connect: ✅ 这是一个 Node.js 项目,包含以下目录...
┌─────────────────────────────────────────────────────────────┐
│ 飞书云 │
│ │
│ 用户消息 ──→ 飞书开放平台 ──→ WebSocket Gateway │
│ │ │
└──────────────────────────────────────┼───────────────────────┘
│
│ WebSocket 长连接
│ (无需公网IP)
▼
┌─────────────────────────────────────────────────────────────┐
│ 你的本地环境 │
│ │
│ cc-connect ◄──► Claude Code CLI ◄──► 你的项目代码 │
│ │
└─────────────────────────────────────────────────────────────┘
| 对比项 | 长连接模式 | Webhook 模式 |
|---|---|---|
| 公网 IP | ❌ 不需要 | ✅ 需要 |
| 域名 | ❌ 不需要 | ✅ 需要 |
| HTTPS 证书 | ❌ 不需要 | ✅ 需要 |
| 反向代理 | ❌ 不需要 | ✅ 需要(ngrok/frp) |
| 配置复杂度 | 简单 | 较复杂 |
| 适用场景 | 本地开发、内网 | 生产环境 |
cc-connect 内置了自动重连机制,断开后会自动尝试重新连接。
检查以下项目:
- cc-connect 服务是否正常运行
- 长连接是否建立成功(查看日志)
- 事件订阅是否配置了
im.message.receive_v1
确保已在「权限管理」中申请并获得了所有必要权限,并发布了新版本。
在飞书开放平台「开发调试」→「调试工具」中可以模拟发送消息进行测试。