飞书知识库资产发现 - 今日开发总结
目标
验证”资产目录”和”资产发现”建模是否可行,以飞书知识库为例子。
碰到的困难
| 困难 | 原因 | 解决方法 |
|---|---|---|
| token 获取失败 | 原来代码用 tenant_access_token(应用身份),飞书知识库需要用户身份 |
用 lark-cli 设备授权获取 user_access_token |
| CLI 参数不工作 | lark-cli wiki nodes list --params 在 PowerShell 转义复杂 |
改用 Python 脚本直接调 API |
| OAuth 授权失败 | redirect_uri 未配置 | 配置 http://localhost:8080/callback |
| Token 刷错类型 | refresh_token() 用 App ID/Secret 换回 tenant_access_token |
修改 token_store.py,用 refresh_token 接口换 user_access_token |
| 文件编码损坏 | PowerShell echo 写入导致 UTF-16 编码 | 直接用工具写入 |
| SSL EOF 错误 | Python 请求被 Clash 代理干扰 | 取消代理环境变量 |
| 硬编码过滤 | catalog.py 只同步测试空间 |
去掉硬编码,按契约过滤 |
| Git 子模块报错 | domains/quanttide-asset 是子模块 |
进入子模块目录操作 |
最终成果
代码已推送:quanttide-asset 仓库 examples/feishu-wiki 分支
| 文件 | 作用 |
|---|---|
catalog.py |
自动扫描契约中声明的知识库(目录 = 现实) |
token_store.py |
支持 user_access_token 读写和刷新 |
contract.yaml |
声明3个知识库:工作档案/工作报告/会议档案 |
validate.py |
对比契约和目录快照,报告差距 |
验证了
“资产目录 vs 资产契约”的资产治理思路走得通。
下一步
- v0.0.2: 根据 docs 文件夹框架重构项目
- v0.0.3: 把 feishu-wiki 验证方式整合到 qtcloud-asset 主干
2026-04-21