feishu-cli-write by riba2534/feishu-cli
npx skills add https://github.com/riba2534/feishu-cli --skill feishu-cli-write创建或更新飞书云文档,通过 Markdown 作为中间格式。支持 Mermaid/PlantUML 图表自动转飞书画板 。
feishu-cli :如尚未安装,请前往 riba2534/feishu-cli 获取安装方式。
前置条件 :使用 App Token(应用身份),只需配置
FEISHU_APP_ID和FEISHU_APP_SECRET(环境变量或 config.yaml),无需auth login。
最简方式创建一个新的飞书云文档:
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
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
转移文档所有权:
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 <id>全量覆盖!这会:
- 丢失所有划词评论(inline comments)
- 破坏画板/白板引用(变成空占位块)
- 丢失用户手动编辑的格式和内容
更新已有文档必须使用增量方式 :
doc add(追加)、doc update(修改块)、doc delete(删除块)。doc import --document-id仅允许在用户明确要求全量替换 时使用。
# 创建新文档
/feishu-write "文档标题"
# 更新已有文档
/feishu-write <document_id>
收集内容
生成 Markdown
/tmp/feishu_write_<timestamp>.md 创建 Markdown 文件导入到飞书
feishu-cli doc import /tmp/feishu_write_<timestamp>.md --title "文档标题"
添加权限 (可选,给指定用户添加 full_access) full_access 是最高权限,包含:管理协作者、编辑内容、管理文档设置(复制/移动/删除)、查看历史版本、导出等全部能力。
feishu-cli perm add <document_id> --doc-type docx --member-type email --member-id user@example.com --perm full_access
通知用户
原则 :只修改需要变更的部分,保留其余内容不动。
最常见的场景。直接用 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
# 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>
# 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":"更新后的文本"}}]}}'
# 删除父块下索引 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
先删除旧章节的块,再在同一位置插入新内容:
# 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 <id>。默认必须增量更新。
| 语法 | 飞书块类型 | 说明 |
|---|---|---|
# 标题 | Heading1-6 | |
普通文本 | Text | |
- 列表项 | Bullet | 支持缩进嵌套 |
1. 有序项 | Ordered | 支持缩进嵌套 |
- [ ] 任务 | Todo | |
code | Code | |
mermaid | Board(画板) | 推荐使用 |
plantuml / puml | Board(画板) | PlantUML 图表 |
> 引用 | QuoteContainer | 支持嵌套引用 |
> [!NOTE] 等 | Callout(高亮块) | 6 种类型 |
--- | Divider | |
**粗体** | 粗体样式 | |
*斜体* | 斜体样式 | |
~~删除线~~ | 删除线样式 | |
<u>下划线</u> | 下划线样式 | |
行内代码 | 行内代码样式 | |
$公式$ | 行内公式 | 支持一段多个公式 |
$$公式$$ | 块级公式 | 独立公式行 |
[链接](url) | 链接 | |
| ` | 表格 | ` |
在文档中画图时,推荐使用 Mermaid (也支持 PlantUML),会自动转换为飞书画板。
支持的 Mermaid 图表类型:
Mermaid 限制(必须遵守,否则导入失败) :
{} 花括号(如 {version}),会触发解析错误par...and...end 语法,飞书解析器完全不支持par 替代方案:改用 Note over X: 并行执行...示例 :
```mermaid
flowchart TD
A[开始] --> B{判断}
B -->|是| C[处理]
B -->|否| D[结束]
```
```plantuml
@startuml
Alice -> Bob: Hello
Bob --> Alice: Hi
@enduml
```
在文档中使用 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
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 error --parent-id <block_id> --index 0
Callout 类型与颜色映射 :
飞书 Callout 共 6 种颜色。Markdown 导入 (doc import)使用 [!TYPE] 语法支持全部 6 种,CLI 命令 (doc add-callout --callout-type)支持其中 4 种:
| 颜色 | 背景色值 | Markdown 语法 | CLI --callout-type |
|---|---|---|---|
| 蓝色 | 6 | [!NOTE] | info |
| 红色 | 2 | [!WARNING] | error |
| 橙色 | 3 | [!CAUTION] | — |
| 黄色 | 4 | [!TIP] | warning |
| 绿色 | 5 | [!SUCCESS] | success |
| 紫色 | 7 | [!IMPORTANT] | — |
需要橙色(CAUTION)或紫色(IMPORTANT)时,请使用 Markdown 导入方式(
doc import或doc add --content-type markdown)。
批量更新文档中的块内容:
# 从 JSON 文件批量更新
feishu-cli doc batch-update <document_id> --source-type content --file updates.json
JSON 格式示例:
[
{
"block_id": "block_xxx",
"block_type": 2,
"content": "更新后的文本内容"
}
]
创建/更新完成后报告:
https://feishu.cn/docx/<document_id># 创建新的会议纪要
/feishu-write "2024-01-21 周会纪要"
# 更新现有文档
/feishu-write <document_id>
| 问题 | 原因与解决方案 |
|---|---|
| Mermaid 图表导入失败 | 图表会自动降级为代码块展示,不会丢失内容。检查是否使用了 {} 花括号、par...and...end 等不支持的语法 |
| 权限添加失败 | 检查飞书开放平台中 App 是否已配置 docs:permission.member:create 权限,且应用已发布 |
| 认证过期(401 错误) | 重新执行 feishu-cli auth login,建议包含 offline_access scope 以获取 30 天 Refresh Token |
| 文档创建成功但无法访问 | 确认已执行 perm add 授予 full_access 权限并 perm transfer-owner 转移所有权 |
| 表格内容显示不全 | 飞书 API 单个表格限制 9 行 9 列,超出部分会自动拆分为多个表格,属于正常行为 |
Weekly Installs
178
Repository
GitHub Stars
497
First Seen
Feb 8, 2026
Security Audits
Installed on
claude-code142
codex82
github-copilot78
gemini-cli78
kimi-cli78
amp78
Lark Skill Maker 教程:基于飞书CLI创建AI技能,自动化工作流与API调用指南
39,100 周安装
二进制初步分析指南:使用ReVa工具快速识别恶意软件与逆向工程
69 周安装
PrivateInvestigator 道德人员查找工具 | 公开数据调查、反向搜索与背景研究
69 周安装
TorchTitan:PyTorch原生分布式大语言模型预训练平台,支持4D并行与H100 GPU加速
69 周安装
screenshot 截图技能:跨平台桌面截图工具,支持macOS/Linux权限管理与多模式捕获
69 周安装
tmux进程管理最佳实践:交互式Shell初始化、会话命名与生命周期管理
69 周安装
Git Rebase Sync:安全同步分支的Git变基工具,解决冲突与备份
69 周安装