Agentic-feishu feishu-doc
飞书文档(结构化沟通)。用于创建文档(写个文档/建个文档)、整理讨论结果、读取飞书文档链接、保存内容到文档、查看/回复文档评论。输出超过 1000 字且涉及多维度时自动触发(用文档而非聊天刷屏),方案讨论优先用文档(支持评论批注)。
install
source · Clone the upstream repo
git clone https://github.com/MidnightV1/agentic-feishu
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/MidnightV1/agentic-feishu "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/feishu_doc" ~/.claude/skills/midnightv1-agentic-feishu-feishu-doc && rm -rf "$T"
manifest:
skills/feishu_doc/SKILL.mdsource content
Feishu Documents
不只是写文档——是结构化沟通工具。持久、可引用、可评论。
自动触发规则:
- 超过 1000 字以上、涉及 2 个以上问题或维度的反馈 → 使用飞书文档(方便对具体细节讨论和交流)
- 项目方案需要讨论确认 → 优先用文档(用户可在文档内评论批注)
与 feishu-wiki 的边界(待实现):doc 是沟通产物(方案、评审、会议纪要)——有时效性,写完讨论完可能不再更新。wiki 是知识沉淀(规范、指南、FAQ)——持续维护,供反复查阅。
写入流程
写文档是两步操作:先撰写 Markdown,再调用工具写入。
- 先在回复中完整撰写 Markdown 内容(用户可以预览确认)
- 再调用
+create
(或直接append
到已有文档)写入append
系统会自动将 Markdown 转换为飞书文档原生格式(标题、列表、代码块、表格等)。
支持的 Markdown 语法
以下语法会被正确渲染为飞书文档原生格式:
| 语法 | 写法 | 渲染效果 |
|---|---|---|
| 标题 | ~ | 飞书标题 1-6 |
| 粗体 | | 粗体 |
| 斜体 | | 斜体 |
| 删除线 | | |
| 行内代码 | | 行内代码 |
| 链接 | | 可点击链接 |
| 代码块 | | 带语法高亮的代码块 |
| 无序列表 | 或 | 飞书列表 |
| 有序列表 | | 飞书编号列表 |
| 嵌套列表 | 2 空格缩进子项 | 层级列表 |
| 引用 | | ▎前缀引用(支持内联格式) |
| 表格 | 标准 Markdown 表格 | 飞书原生表格(最大 9 列 × 100 行) |
| 分割线 | | 飞书分割线 |
不支持(会被降级或忽略):
→ 提取纯文本(飞书文档不支持颜色)<font color>
→ 提取纯文本<text_tag>
→ 移除<at id=...>
→ 移除(仅聊天卡片生效){{card:header=...}}:DONE:
等飞书表情 → 保留原文:OK:
CLI 调用方式
cd ~/Agent\ Space/agentic-feishu && python3 tools/builtin/skill_doc.py <action> --params '<json>'
示例:
python3 tools/builtin/skill_doc.py read --params '{"document_id": "xxx"}'
Actions
调用方式:
python3 tools/builtin/skill_doc.py <action> --params '<json>'
- create — 创建文档。params:
。创建后必须将请求用户加为 full_access 协作者。返回完整链接{title, folder_token?}
。https://feishu.cn/docx/{document_id} - read — 读取文档内容。params:
。支持传入完整 URL 或裸 document_id。{document_id} - append — 追加 Markdown 内容到文档末尾。params:
。同主题文档已存在时不要新建,直接 append。content 使用上述支持的 Markdown 语法。{document_id, content} - update — 全量替换文档内容(破坏性操作)。params:
。局部更新优先用 append 或 replace_section。{document_id, content} - replace_section — 替换指定标题下的章节内容。params:
。删除从匹配标题到下一个同级标题之间的内容,插入 new_content。{document_id, heading_title, new_content} - search — 按关键词搜索文档。params:
。用短关键词,不要整句话。{query, count?=10} - list_comments — 列出文档所有评论。params:
。{document_id} - reply_comment — 回复某条评论。params:
。{document_id, comment_id, content} - transfer_owner — 转移文档所有权(不可逆,执行前必须与用户确认)。params:
。{document_id, new_owner_id} - send_message — 向飞书群组/用户发送消息。params:
。仅在用户明确要求时调用,不主动发送到其他群聊。{chat_id, text}
Behavior Notes
以下规则由代码保证,供参考:
- 文档由 Bot 创建,所有权属于 App。需要时用 transfer_owner 转交给用户(推荐在用户请求创建文档时执行)。
使用客户端关键词过滤,基于 Bot 可访问的共享文件夹内容(不调用需要用户 OAuth 的服务端搜索 API)。search
精确匹配标题文本,删除到下一个同级标题前,再插入新内容。replace_section
仅在用户明确指示时触发,不做主动推送。send_message