2.8 KiB
2.8 KiB
2026-05-17 工作记忆
经验教训
Feishu docx API 缓存不同步问题
- 现象:文档被用户编辑添加新表格后,API(blocks/raw_content)持续返回旧版本内容,已刷新 8 次仍不变
- 表现:用户截图显示文档有 7 列脚本表格,但 API 只返回制作人员表 + 角色表 + 梗概表(3 个表)
- 排查方式:让用户在文档中做一次微小编辑(末尾加空格再删除),触发飞书保存以强制缓存失效
- 教训:当 API 返回数据与用户描述不一致时,优先考虑 API 缓存问题,不要反复争论「就是没有」
用户反馈
- 李应瑛 (ou_1bd7317ae2ccfeb57e1132028847279e):组件生产任务,文档链接
NjCXw6KS2iVlp3k4gqtcJyj8nhh,7 列脚本表格待组件回填 - 待文档缓存刷新后继续执行
组件生产 — L1-S2-U17-L3 紧急拜访(完成)
文档发现
- Wiki 文档
K6DIwFqpgi1SjZkEPS9cNESfn0d中的脚本表格以嵌入式 Sheet(grid_column type 30)存储,而非 docx 原生 table raw_contentAPI 不暴露此类嵌入 Sheet,需通过 blocks API 查找block_type=30的 grid_column 节点来发现 sheet token- 该文档含 2 个嵌入 Sheet:
zbfYO4(知识点区)和Nr3Ovs(243 行 × 8 列脚本表)
已完成的组件回填(14/14 对话组件)
| 组件类型 | 数量 | 所用 skill |
|---|---|---|
| 对话朗读 | 6 | dialogue-reading-config |
| 对话朗读-配图 | 2 | dialogue-reading-config |
| 对话挖空 | 2 | dialogue-fill-in-blanks-config |
| 对话挖空-配图 | 1 | dialogue-fill-in-blanks-config |
| 对话选择-配图 | 1 | dialogue-choose-config |
| 对话选读 | 1 | dialogue-selective-reading-config(新建) |
| 对话组句 | 1 | dialogue-sentence-building-config |
Skill 库补全
- 新建 skill:
~/.openclaw/workspace-xiaoyan/business_production/组件生产/skills/dialogue-selective-reading-config/SKILL.md- 格式来源:
dialogue-interaction-config技能(business_production/组件生产/skills/) - 与对话选择的核心差异:无正确选项,所有选项平等配反馈,要求为「选择一个你想表达的观点」
- 格式来源:
- 更新:
~/.openclaw/workspace-xiaoyan/business_production/组件生产/skills/task-router/component_configs.yaml— dialogue_selective_reading 配置从占位格式更新为实际格式
关键技术点
- 嵌入 Sheet 写入:使用 feishu-embedded-sheet 技能,通过 curl 调用
sheets/v2/spreadsheets/{token}/values批量 PUT - 多行写入验证:写入后按行回读确认每行 H 列内容完整性
- Shell 转义:component 内容含多行文本+特殊字符时,用 Python subprocess 传 curl 避免 shell 变量展开破坏数据
未处理行
- R181 信息拼词、R188 信息组句 — 不属于 6 类对话组件,需单独处理