feishu-cli-write

安装量: 108
排名: #7818

安装

npx skills add https://github.com/riba2534/feishu-cli --skill feishu-cli-write

飞书文档写入技能 创建或更新飞书云文档,通过 Markdown 作为中间格式。 支持 Mermaid/PlantUML 图表自动转飞书画板 。 快速创建空白文档 最简方式创建一个新的飞书云文档: feishu-cli doc create --title "文档标题" --output json 创建后 必须立即 : 授予 full_access 权限: feishu-cli perm add < document_id

--doc-type docx --member-type email --member-id user@example.com --perm full_access --notification 转移文档所有权: feishu-cli perm transfer-owner < document_id

--doc-type docx --member-type email --member-id user@example.com --notification 发送飞书消息通知用户文档已创建 核心概念 Markdown 作为中间态 :本地文档与飞书云文档之间通过 Markdown 格式进行转换,中间文件存储在 /tmp 目录中。 CRITICAL: 禁止对已有文档全量覆盖 绝对禁止 对已有文档使用 doc import --document-id 全量覆盖!这会: 丢失所有划词评论(inline comments) 破坏画板/白板引用(变成空占位块) 丢失用户手动编辑的格式和内容 更新已有文档 必须使用增量方式 : doc add (追加)、 doc update (修改块)、 doc delete (删除块)。 doc import --document-id 仅允许在用户 明确要求全量替换 时使用。 使用方法

创建新文档

/feishu-write "文档标题"

更新已有文档

/feishu-write < document_id

执行流程 创建新文档 收集内容 与用户确认文档标题 收集用户提供的内容或根据对话生成内容 生成 Markdown 在 /tmp/feishu_write_.md 创建 Markdown 文件 使用标准 Markdown 语法 导入到飞书 feishu-cli doc import /tmp/feishu_write_ < timestamp

.md --title "文档标题" 添加权限 (可选,给指定用户添加 full_access) feishu-cli perm add < document_id

--doc-type docx --member-type email --member-id user@example.com --perm full_access 通知用户 提供文档链接 发送飞书消息通知 更新已有文档(增量更新) 原则 :只修改需要变更的部分,保留其余内容不动。 场景 A:在文档末尾追加内容 最常见的场景。直接用 doc add 以 Markdown 格式追加:

1. 准备要追加的内容(只写新增部分,不要包含已有内容)

cat

/tmp/feishu_append.md << 'EOF'

新增章节标题

新增的内容... EOF

2. 追加到文档末尾

feishu-cli doc add < document_id

/tmp/feishu_append.md --content-type markdown 场景 B:在文档指定位置插入内容

1. 获取文档块结构,找到插入点

feishu-cli doc blocks < document_id

2. 在指定父块的指定位置插入

feishu-cli doc add < document_id

/tmp/feishu_insert.md \ --content-type markdown \ --block-id < parent_block_id

\ --index < position

场景 C:修改已有块的内容

1. 获取文档块结构,找到要修改的 block_id

feishu-cli doc blocks < document_id

2. 更新指定块

feishu-cli doc update < document_id

< block_id

\ --content '{"update_text_elements":{"elements":[{"text_run":{"content":"更新后的文本"}}]}}' 场景 D:删除指定范围的块

删除父块下索引 2~4 的子块

feishu-cli doc delete < document_id

< parent_block_id

--start 2 --end 5

删除父块下所有子块

feishu-cli doc delete < document_id

< parent_block_id

--all 场景 E:替换某个章节 先删除旧章节的块,再在同一位置插入新内容:

1. 获取块结构,定位章节的块范围

feishu-cli doc blocks < document_id

2. 删除旧章节(假设在父块下索引 5~8)

feishu-cli doc delete < document_id

< parent_block_id

--start 5 --end 9 -f

3. 在同一位置插入新内容

feishu-cli doc add < document_id

/tmp/feishu_new_section.md \ --content-type markdown \ --block-id < parent_block_id

\ --index 5 何时允许全量覆盖 :仅当用户明确说"重写整个文档"、"全量替换"时,才可使用 feishu-cli doc import /tmp/file.md --document-id 。默认必须增量更新。 支持的 Markdown 语法 语法 飞书块类型 说明

标题

Heading1-6 普通文本 Text - 列表项 Bullet 支持缩进嵌套 1. 有序项 Ordered 支持缩进嵌套 - [ ] 任务 Todo code Code mermaid Board(画板) 推荐使用 plantuml / puml Board(画板) PlantUML 图表

引用 QuoteContainer 支持嵌套引用 [!NOTE] 等 Callout(高亮块) 6 种类型


Divider 粗体 粗体样式 斜体 斜体样式 ~~删除线~~ 删除线样式 下划线 下划线样式 行内代码 行内代码样式 $公式$ 行内公式 支持一段多个公式 $$公式$$ 块级公式 独立公式行 链接 链接 表格 推荐:使用 Mermaid / PlantUML 画图 在文档中画图时, 推荐使用 Mermaid (也支持 PlantUML),会自动转换为飞书画板:

mermaid
flowchart
TD
A
[开始]
-->
B
{判断}
B
-->
|是|
C
[处理]
B
-->
|否|
D
[结束]
plantuml
@startuml
Alice
->
Bob
:
Hello
Bob
-->
Alice
:
Hi
@enduml

支持的 Mermaid 图表类型: ✅ flowchart(流程图,支持 subgraph) ✅ sequenceDiagram(时序图) ✅ classDiagram(类图) ✅ stateDiagram-v2(状态图) ✅ erDiagram(ER 图) ✅ gantt(甘特图) ✅ pie(饼图) ✅ mindmap(思维导图) Mermaid 注意事项 : 避免在节点标签中使用 {} 花括号(如 {version} ),会触发解析错误 禁止使用 par...and...end ,飞书解析器完全不支持,改用 Note over X: 并行执行... sequenceDiagram 渲染复杂度组合超限:10+ participant + 2+ alt 块 + 30+ 长消息标签会触发服务端 500 安全阈值:participant ≤8、alt ≤1、消息标签尽量简短 导入失败的图表会自动降级为代码块展示 Callout 高亮块 在文档中使用 Callout 语法创建飞书高亮块:

[!NOTE]

提示信息。

[!WARNING]

警告信息。

[!TIP]

技巧提示。

[!CAUTION]

警示信息。

[!IMPORTANT]

重要信息。

[!SUCCESS]

成功信息。 Callout 内支持多行文本和子块(列表等)。 公式 行内公式:圆面积 $S = \pi r^2$,周长 $C = 2\pi r$。 块级公式: $$\int_{0}^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}$$ 高级操作 添加画板 向文档添加空白画板:

在文档末尾添加画板

feishu-cli doc add-board < document_id

在指定位置添加画板

feishu-cli doc add-board < document_id

--parent-id < block_id

--index 0 添加 Callout 向文档添加高亮块:

添加信息类型 Callout

feishu-cli doc add-callout < document_id

"提示内容" --callout-type info

添加警告类型 Callout

feishu-cli doc add-callout < document_id

"警告内容" --callout-type warning

指定位置添加

feishu-cli doc add-callout < document_id

"内容" --callout-type tip --parent-id < block_id

--index 0 Callout 类型: info (信息/蓝色), warning (警告/红色), error (错误/橙色), success (成功/绿色) 批量更新块 批量更新文档中的块内容:

从 JSON 文件批量更新

feishu-cli doc batch-update < document_id

--source-type content --file updates.json JSON 格式示例: [ { "block_id" : "block_xxx" , "block_type" : 2 , "content" : "更新后的文本内容" } ] 输出格式 创建/更新完成后报告: 文档 ID 文档 URL: https://feishu.cn/docx/ 操作状态 示例

创建新的会议纪要

/feishu-write "2024-01-21 周会纪要"

更新现有文档

/feishu-write < document_id

返回排行榜