用途:将飞书知识库以机器人身份只读镜像为本地 Markdown 知识库,默认方向为 Feishu→本地/Git/Obsidian/VitePress,不默认写入飞书。
主要能力:遍历知识空间节点生成 Markdown,写入来源 URL、space ID、node token、object token、父节点与内容 hash;用 sync-state.json 保存 node token 到路径的映射,标题变化尽量保持稳定路径;记录 obj_edit_time、remote_updated_at、revision_id 支持增量与审计。支持 Sheet 有界快照与保真 JSON、指定多维表格镜像、资源本地化、子页面导航、变更台账,以及经确认后的完整工作簿/Base/文件导出。
用法:依赖 soia-cwork-feishu-cli(lark-cli 应用凭证)、Python 3.10+、PyYAML,Git、VitePress、Obsidian 为可选;私有配置默认位于 ~/.config/soia-skills/soia-open-skills/cwork/soia-cwork-feishu-doc-git-sync/config.yml,也可用 SOIA_CWORK_FEISHU_DOC_GIT_SYNC_CONFIG_FILE 指定。先做 dry-run 与单节点试点: python3 scripts/sync_feishu_wiki.py --config <private-config.yml> --dry-run python3 scripts/sync_feishu_wiki.py --config <private-config.yml> --incremental python3 scripts/sync_feishu_wiki.py --config <private-config.yml> --validate-only
适用场景:知识库本地镜像、备份到 Git、Obsidian 查看、VitePress 展示、Sheet/多维表格只读快照、规划双向同步。
限制:默认只读且不删除本地历史文件;双向写入、导出、下载附件、推送 Git 均需用户明确确认;Sheet、Base、Wiki 文件默认只生成元数据 stub;不具备权限的资源应报告不可见,不切换用户身份读取;日志与回复需脱敏,不输出 App Secret、token、本地绝对路径等敏感信息。