47 lines
2.8 KiB
Markdown
47 lines
2.8 KiB
Markdown
# 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_content` API 不暴露此类嵌入 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/skills/dialogue-selective-reading-config/SKILL.md`
|
||
- 格式来源:`dialogue-interaction-config` 技能(business_production/组件生产/skills/)
|
||
- 与对话选择的核心差异:无正确选项,所有选项平等配反馈,要求为「选择一个你想表达的观点」
|
||
- **更新**:`~/.openclaw/workspace-xiaoyan/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 类对话组件,需单独处理
|