3.0 KiB
3.0 KiB
飞书公司文档归档工作流
目标
把当前飞书用户有权访问、且URL属于cunkebao.feishu.cn存客宝公司租户的员工知识库、云文档、表格、多维表格和附件,按内容和所有者归档到公司CKBNAS,并生成AI可导航的Markdown索引。外部租户资料不进入公司归档。
归档位置
- NAS:
/volume1/NetBackup/公司文档/飞书知识库归档/ - 导航:
_飞书公司文档导航.md - 台账:
manifest.json - 执行脚本:
scripts/feishu_company_docs_archive.py
分类
- 私域银行与存客宝
- Soul创业派对
- 厦门房产与房市通
- 产品研发与技术
- 运营内容与直播
- 团队会议与管理
- 财务合同与制度
- 学习成长与个人
- 其他文档
每个分类下再按文档所有者分目录。分类依据是标题关键词,不按“最近打开”顺序混放。
类型处理
- DOCX:优先导出Markdown;遇到超大文档、限频或网关超时,使用已登录网页会话导出DOCX。
- SHEET:优先走OpenAPI导出;缺少只读scope时,使用网页内部导出任务生成XLSX。
- FILE:优先走OpenAPI;缺少下载scope时,使用网页会话直链,支持Range断点续传和原子落盘。
- BITABLE:有
base:app:read时导出结构与记录JSON;否则用网页导出任务生成XLSX。 - MINDNOTE:从飞书页面内完整
clientVars提取节点树,保存.mindnote.json原始快照和可检索Markdown树。
网页会话只读取NAS现有配置,不在日志、导航或终端输出Cookie。所有网页导出仅针对当前账号本来有权访问、且域名为cunkebao.feishu.cn的内容。
去重和更新
- 以飞书URL或token为唯一键。
- 再次运行覆盖同名快照,但保留分类和原链接。
- 失败项写入
manifest.json,权限补齐或限频恢复后只需重跑。 - 每次归档后更新
公司NAS访问迭代日志.md及总控索引中的状态。 - 执行过程每完成一份就原子更新
manifest.json;对话、网络或进程中断后再次执行会跳过已完成文件,只续跑pending和failed。 - 飞书限频采用退避重试,并发数固定为2;这比单线程快,同时避免4路并发触发文档块接口限频。
- 飞书
9499 too many request、frequency limit、网关超时和临时网络错误均自动阶梯退避,最多8次。
2026-07-16存客宝租户归档结果
- 当前账号可搜索108份资料,其中存客宝公司租户102份,外部租户6份已排除。
- 完整归档102份,失败0份,仅元数据0份;类型为DOCX 72、SHEET 7、FILE 12、BITABLE 3、MINDNOTE 8。
- 归档有效载荷约1.081GB,导航文件约21KB;本地和NAS两端均验证102份清单、0缺失文件。
- DOCX/XLSX/PPTX逐个执行ZIP完整性检查,JSON逐个解析,结果均为0损坏。
- 本次未要求人工新增OAuth授权:缺scope的附件、表格和多维表通过现有网页会话只读导出完成。
- 后续增量运行同一脚本即可;已归档项按manifest和文件存在性跳过,只处理新增、失败或缺失项。