下游 Agent / 第三方应用消费 handoff / deliverable JSON 的最简集成代码 · 全局唯一字段规范
打开讲学页(单文件离线,已注入数据) ` }, 'field-spec': { title: '④ 全局唯一字段规范', desc: 'handoff / deliverable 共用的字段命名与类型规范,禁止歧义', html: `| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
projectCode | string | 必 | 唯一项目流水编码 |
stage | enum | 必 | '题目' / '分析' / '解答' / '总结' (中文) |
region | enum | 必 | 'question' / 'analysis' / 'solution' / 'summary' (英文) |
speech | string | 必 | 口播原文,仅用于字幕与校对,不用于算时长 |
board.content | string | 必 | 板书内容,\\n 换行,支持 LaTeX 子集 |
board.startDelay | number | 必 | 本 row 音频开始后几秒落笔(秒) |
board.region | enum | 必 | 板书所在区(v3.0,不含坐标) |
actionSpec | array | 必 | 动作数组,无动作为 [] |
action.tool | enum | 必 | 'rough-notation' / 'rough-line' / 'rough-arrow' |
action.action | enum | 选 | 'underline' / 'highlight' / 'circle' (rough-notation 专属) |
action.order | number | 必 | 单手队列正整数顺序,全表唯一 |
action.target.exactText | string | 必 | rough-notation 必须锚定原文(禁止改写) |
mp3 / audioBase64 | string | 必 | 真实音频(二者至少其一,缺即规格冲突) |
exclusiveExecutionPlan | array | 选 | 单手串行执行计划 (deliverable v2.0) |
⚠ 禁止字段:board.startCoord / board.coord / board.x / board.y / actionSpec[].triggerAt / actionSpec[].durationMs / actionSpec[].startMs / actionSpec[].seed
📚 真相源:handoff.schema.json + deliverable.schema.json + HANDOFF_API_SPEC.md + DELIVERABLE_API_SPEC.md + truth/territory-A-agent-b.md
` } }; function render(tab) { const t = tabs[tab]; document.querySelectorAll('.tab').forEach(b => b.classList.toggle('active', b.dataset.tab === tab)); const el = document.getElementById('content'); if (t.html) { el.innerHTML = `${t.desc}
${t.html}${t.desc}
${t.code.replace(//g,'>')}