# 飞书文档写回预检与验收 ## 诊断流程样例:飞书 docx 写回预检 ### 输入 | 字段 | 示例 | |---|---| | URL | `https://bytedance.larkoffice.com/wiki/FSUiwNDc2iU2Vxku3LdcNuGWnNc` | | 用户指令 | `第一列把工作日期补上` | | 当前日期 | `2026-05-18` | ### Preflight 输出 | 检查项 | 结果 | 处理 | |---|---|---| | wiki resolve | 指向 docx `Landing 日记` | 继续 | | 文档结构 | 1 个 5 列表格,第一行是表头 | 继续 | | 用户意图歧义 | `补第一列表头` 与 `补第一列日期行` 两种解释都成立 | 标记 `needs_semantic_confirmation` | | 目标块 | 左上角表头 block 唯一;日期列空白行也存在 | 生成两个候选 patch plan | | 风险对象 | 表格内含其他列文本,无画板/图片 token | patch 只能落在第一列 text block | ### 写前 patch plan ```text Plan A: 只把表头空格改成“工作日期”。风险低,但不能满足“5月18日”这类日期补齐诉求。 Plan B: 从最后已有日期推导工作日序列,填充第一列空白行;若行数不足,用 insert_table_row 追加。风险中,需要写后校验行数和尾部日期。 ``` ### 成功信号 | 信号 | 判定 | |---|---| | 目标文本存在 | 第一列尾部包含 `5月18日` | | 表格结构正确 | 行数从 31 变为 42,列数仍为 5 | | 非目标内容未动 | 其他列文本、图片 token、画板 token、sheet token 数量不变 | | 回读一致 | markdown 与 blocks 两种视图都能看到目标结果 | ### 失败信号 - 只看到表头变成“工作日期”,但第一列日期没有补到 `5月18日`。 - 目标章节在给定 URL 不存在,例如页面只有“一、数据 / 二、统计”,却要求写“4. 需求详述”。 - patch plan 需要替换整张表或覆盖含图片/画板 token 的区域。 ### 落地路径 1. 运行 `lark_docx_writeback_preflight.py --url <url> --instruction <text> --today 2026-05-18 --json out/preflight.json`。 2. 人或 agent 检查 `out/preflight.json` 的 `patch_plan`、`risk_objects`、`ambiguous_intent`。 3. 只执行 `risk=low` 或已确认的 `risk=medium` patch。 4. 运行 `lark_docx_writeback_verify.py --url <url> --expect out/preflight.json --json out/verify.json`。 5. 最终回复必须包含目标写入位置、写入数量、回读信号和未改动对象。