> 模式:Pipeline | 数据源和目标路径从 SYNC-RULES.md 读取
内容获取由 Agent 的 feishu_fetch_doc 工具完成,Python 脚本只做路径构建和文件写入。
这样无需在脚本里管理 Access Token,也不需要在 clawhub 发布时携带敏感权限。
禁止跳过步骤。禁止在用户确认前进入下一步。
触发:用户要求同步飞书文档
SYNC-RULES.mdSYNC-RULES.md 中的「数据源」表格使用 feishu_wiki_space_node 工具获取每个 Wiki 的根节点。
对于 has_child: true 的节点,并行获取子节点:
个人成长 (root)
├── 2026-03 (has_child) ──────┐
│ └── 7个子节点 │ 并行遍历
├── 软考笔记 (has_child) ──────┼
│ └── 4个课程文件夹 │ 并行遍历
├── Obsidian 整理报告
└── 辞职决策记录
openclaw知识库 (root)
├── 11个文档节点(部分有子节点) 并行遍历
将完整节点列表传给 sync.py --plan,获取待写入文件清单:
echo '[节点JSON]' | python3 sync.py --stdin --plan
输出:
need_fetch:需要 Agent fetch 内容的 docx 文档no_fetch_needed:只写占位符的非 docx 类型Gate:显示节点总数、来源 Wiki、待写入文件数,问用户确认是否继续。
触发:Step 1 确认后
执行:
sync.py --plan 已输出每个文件的 relative_path 和 filename,显示路径映射表。
Gate:显示写入路径映射表,确认是否继续。
触发:Step 2 确认后
对 need_fetch 中的每个文档,调用 feishu_fetch_doc 获取正文。
将「文档信息 + fetch 到的内容」传给 sync.py --write:
echo '[{"title":"...","obj_token":"...","content":"...",...}]' \
| python3 sync.py --stdin --write [--dry-run]
date、lastmod、draft、categories、tagsfeishu_doc_token、feishu_wiki、feishu_node_tokenfeishu_doc_token 用于去重,已存在则跳过relative_path 目录不存在时,自动创建。
Gate:显示将写入的文件列表,确认后执行。
触发:Step 3 执行完成后
references/review-checklist.md输出格式:
【同步报告】
- 写入:X 个文档
- 跳过:X 个(已存在)
- 失败:X 个(错误信息)
触发:vault 缺少 SYNC-RULES.md
执行:
模板文件:assets/sync-rules-template.md
| 文件 | 作用 |
|---|---|
| ------ | ------ |
scripts/sync.py | 纯路径构建 + 写入工具,双模式(--plan / --write) |
assets/sync-rules-template.md | SYNC-RULES.md 生成模板 |
assets/agents-template-additions.md | AGENTS.md 补充章节 |
references/review-checklist.md | 同步质量检查清单 |
共 1 个版本