feishu-claude-code
skill
Uyari
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Claude Code in Feishu. WebSocket streaming, all message types, doc auto-fetch, zero-cost.同类型也有 cc-connect,但cc-connect 为了兼容 9 个平台 6 种 Agent,架构上必须做抽象层,消息要在平台适配器和 Agent适配器之间来回转,链路长了自然慢。feishu-bridge 只做飞书到 Claude Code这一条直线,没有中间层,消息直接透传。多平台是 cc-connect 的优势,但如果你只用飞书,那些适配代码就是纯开销,既拖速度又加故障点。
README.md
feishu-claude-code
飞书是遥控器,Claude Code 是在你电脑上真实干活的那只手。出门在外发一条飞书消息,电脑那边就开始跑代码、改文件、读文档。
与同类项目的差异
| 能力 | 原版 feishu-claude-code | 本项目 |
|---|---|---|
| 文本/图片消息 | ✅ | ✅ |
| 富文本/转发消息 | ❌ | ✅ |
| 文件消息 (PDF/Word 等) | ❌ | ✅ 自动下载后分析 |
| 语音消息 | ❌ | ✅ 下载到本地 |
| 文档链接自动解析 | ❌ | ✅ 自动取内容嵌入上下文 |
| 长回复 (>200字) | 流式卡片慢 | ✅ 自动生成飞书文档 |
| 文档评论 @回复 | ✅ | ✅ |
| 休眠唤醒自动重连 | ❌ | ✅ |
| 日志噪音过滤 | ❌ | ✅ |
| 外部文档安全边界 | ❌ | ✅ |
| [[SEND_FILE]] 文件回传 | ✅ | ✅ |
特性
消息类型全覆盖
- 文本、富文本 (post)、图片、文件 (PDF/Word/Excel/压缩包)、语音 (audio)、转发 (merge_forward)
- 群聊 @机器人 触发,私聊直接对话
飞书文档深度集成
- 文档链接自动识别并获取内容(docx/wiki/sheets/base/mindnotes/minutes)
- 长回复自动写入飞书文档,聊天里只发链接
- 文档评论 @机器人 自动回复
- ⚠️ 隐私提醒:Bot 会自动读取你发送的文档链接内容。群聊中请勿发送含敏感信息的文档链接。
文件回传
- Claude 生成的文件自动上传到飞书 Drive,返回下载链接
- 在回复中写
[[SEND_FILE:./report.md]]即可触发 - 支持图片、文档、PDF、Excel 等任意文件类型
流式卡片输出
- Claude 实时思考过程可见
- 工具调用进度实时展示
- 支持卡片按钮交互(选项选择、模式切换)
Session 管理
- 跨设备恢复会话(手机上开始,电脑前继续)
- 群聊独立 session,互不干扰
/ws为不同群绑定不同工作目录
运维健壮
- 笔记本休眠唤醒自动重连
- DNS/网络抖动自动恢复
- launchd (macOS) / 启动脚本 (Windows) 保活
架构
┌──────────┐ WebSocket ┌────────────────┐ subprocess ┌────────────┐
│ 飞书 App │◄───────────►│ feishu-bridge │─────────────►│ claude CLI │
│ (用户) │ 长连接 │ (main.py) │ stream-json │ (本机) │
└──────────┘ └────────────────┘ └────────────┘
│
│ subprocess (--as user)
▼
┌────────────┐
│ lark-cli │ ← 用户 token,文档/文件/IM 操作
└────────────┘
关键设计决策:
- 收消息走 lark-cli WebSocket:App 鉴权,不暴露公网端口
- 发消息走 Python SDK (lark_oapi):租户 token,流式卡片 patch
- 文档操作走 lark-cli:用户 token,直接以用户身份读写文档,无需额外授权
快速开始
前置条件
| 依赖 | 最低版本 | 验证 |
|---|---|---|
| Python | 3.11+ | python --version |
| Claude Code CLI | 最新 | claude --version |
| Claude Max/Pro 订阅 | — | claude "hi" 正常回复 |
| lark-cli | 1.0.20+ | lark-cli --version |
1. 飞书应用配置
- 飞书开放平台 → 创建企业自建应用
- 添加「机器人」能力
- 权限管理 → 开启:
im:message— 获取与发送消息im:message:send_as_bot— 以应用身份发消息im:resource— 获取消息中资源文件docx:document— 读写云文档docx:document:write_only— 创建和修改文档(文档自动生成功能必需)drive:file:upload— 上传文件
- 事件与回调 → 使用长连接接收事件 → 添加
im.message.receive_v1 - 凭证与基础信息 → 复制 App ID 和 App Secret
- 版本管理与发布 → 创建版本 → 管理员审核通过
2. 安装
git clone https://github.com/H2O-YAOZE/feishu-claude-code.git
cd feishu-claude-code
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# 编辑 .env,填入 App ID 和 App Secret
3. lark-cli 登录
npm install -g @larksuite/cli
lark-cli config init
lark-cli auth login --scope "docx:document:write_only drive:file:upload"
4. 启动
# 前台运行
python main.py
# Windows 后台(登录自动启动)
start_bridge.bat
# macOS 后台(launchd 保活)
# 先编辑 deploy/feishu-claude.plist:把 REPO_PATH 改为仓库路径,HOME_PATH 改为你的 home 目录
cp deploy/feishu-claude.plist ~/Library/LaunchAgents/com.zara.feishu-claude.plist
launchctl load ~/Library/LaunchAgents/com.zara.feishu-claude.plist
预期输出:
🚀 飞书 Claude Bot 启动中...
App ID : cli_xxx...
✅ 连接飞书 WebSocket 长连接(自动重连)...
命令速查
会话管理
| 命令 | 说明 |
|---|---|
/new |
开始新 session |
/resume |
查看历史 sessions |
/resume 序号 |
恢复指定 session |
/stop |
停止当前任务 |
/status |
当前 session 信息 |
模型与模式
| 命令 | 说明 |
|---|---|
/model opus |
切换模型 (opus / sonnet / haiku) |
/mode bypass |
切换权限模式 |
工作目录
| 命令 | 说明 |
|---|---|
/cd ~/project |
切换工作目录 |
/ls |
查看当前工作目录 |
/ws save 名称 路径 |
保存命名工作空间 |
/ws use 名称 |
绑定当前群/私聊到工作空间 |
环境变量
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
FEISHU_APP_ID |
是 | — | 飞书应用 App ID |
FEISHU_APP_SECRET |
是 | — | 飞书应用 App Secret |
DEFAULT_MODEL |
否 | claude-sonnet-4-6 |
默认模型 |
DEFAULT_CWD |
否 | ~ |
默认工作目录 |
PERMISSION_MODE |
否 | bypassPermissions |
权限模式 |
STREAM_CHUNK_SIZE |
否 | 20 |
流式推送积累阈值 |
CLAUDE_CLI_PATH |
否 | 自动查找 | Claude CLI 路径 |
License
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi