--- name: "feishu-wiki-tools" description: "读写飞书知识库:增删查改节点、写入页面、创建早报、记录踩坑,基于 tenant_access_token。" metadata: author: xf version: "1.0.0" --- # Feishu Wiki Tools 飞书知识库读写操作。所有脚本使用 `tenant_access_token`,从 `~/.openclaw/openclaw.json` 读取凭证。 ## 前置条件 - 飞书应用已开通 `wiki:wiki docx:document` 权限 - 机器人已加入目标知识库并获 `full_access`(参考 `references/auth.md`) - 服务器可访问飞书 API ## 环境变量 | 变量 | 默认值 | 说明 | |------|--------|------| | `FEISHU_SPACE_ID` | `7664817589230570761` | 知识库 Space ID | | `FEISHU_ROOT_NODE` | `LY5wwNWpniOoFwkHHG4cmDvGnSh` | 首页 node token | | `FEISHU_DIGEST_PARENT` | `BH8AwLgJhipBcUkehCAcyKvDngE` | 早报父节点 | | `FEISHU_SUMMARY_PARENT` | `XunCwlk7JiSTuAkvoKlcq54pnPb` | 每日总结父节点 | ## 通用脚本(CRUD) ### 初始化 Token ```bash source scripts/init_token.sh ``` 设置 `BEARER_TOKEN` 环境变量。其他脚本会自动调用。 ### 列节点 ```bash python3 scripts/wiki_list.py [parent_node_token] ``` 不传 parent 则列根目录。 ### 创建节点 ```bash python3 scripts/wiki_create.py --title "标题" --parent "PARENT_TOKEN" [--obj-type docx] ``` ### 读取页面 ```bash python3 scripts/wiki_read.py --node "NODE_TOKEN" ``` 输出纯文本内容到 stdout。 ### 写入页面 ```bash python3 scripts/wiki_write.py --node "NODE_TOKEN" --file content.md ``` 支持 Markdown 转换。 > ✅ **表格支持**:`md_to_blocks.py` **完整支持 Markdown 表格语法**(`| ... |`),会转换为飞书原生表格 block(31)+ 单元格 block(32),由 `wiki_write.py` 自动走 descendant API 创建。直接写表格即可,无需改用列表。 > (2026-08-11 更正:旧版文档误写「不支持表格」,已核实源码 `parse_table()` 完整实现表头/分隔线/行列构建,特此修正。) ### 删除页面 ```bash python3 scripts/wiki_delete.py --node "NODE_TOKEN" ``` 移到回收站(需 `space:document:delete` 权限)。 ## 特化脚本 ### 创建早报 ```bash python3 scripts/create_digest.py --title "07.21 周二 早报" --content content.md ``` 自动挂到 `FEISHU_DIGEST_PARENT` 按周分组下。 ### 创建方案(方案库) ```bash python3 scripts/create_plan.py --title "方案标题" --content plan.md ``` 自动挂到「📋 方案库」节点(`LjXOwVZkriKmQwkjoixcnrSbnhd`);同名节点已存在则跳过不重复创建。 ### 记录踩坑 ```bash python3 scripts/create_pitfall.py --title "标题" --file content.md ``` 自动挂到 `踩坑记录合集` 节点下。 ### 创建每日总结 ```bash python3 scripts/create_summary.py --title "07.21 周二 总结" --content summary.md ``` 自动挂到 `FEISHU_SUMMARY_PARENT`(🌙 每日总结)下。内容精简,仅含当日「晚星今日动态」。 ## Block 类型速查 - 3=heading1, 4=heading2, 5=heading3 - 2=text, 12=bullet, 22=divider, 14=code - 写入时支持 Markdown → Block 转换(`scripts/md_to_blocks.py`) ## 参考 - `references/auth.md` — 鉴权配置完整流程 - `references/block_types.md` — Docx Block API 参考 - `references/api_endpoints.md` — Feishu API 端点速查