跳转到内容

Changes Fragment

Changes fragment 是 Agent 写回 Docmod 的唯一格式。它是普通 HTML,但只包含要改动的元素。

<p data-id="6EAA1C8E" data-pstyle="Body">全新的段落内容。</p>

data-id 必须来自 docmod read,并且按字符串精确匹配。

<p data-id="3F2A91D7" data-delete="true" />

删除含批注标记的段落时,孤立批注会自动清理,回复链也会级联清理。

<p data-after="6EAA1C8E" data-pstyle="Body">插入在目标段落之后。</p>
<p data-before="A1B2C3D4" data-pstyle="Body">插入在目标段落之前。</p>

紧跟已知 data-id 元素的新元素会隐式插入到它后面。

<p data-id="6EAA1C8E" data-pstyle="Heading2" data-format-only="true" />
<figure data-id="img1" style="text-align:center" data-format-only="true">
<img style="width:400px" />
</figure>
<table data-id="t1" data-tblstyle="LightList" data-format-only="true"></table>

data-format-only="true" 只应用样式。若元素同时带正文内容,正文会被忽略并产生诊断。

<p data-id="6EAA1C8E">
<span data-find="旧文字" data-replace="新文字" />
</p>

生成修订标记:

<p data-id="6EAA1C8E">
<span data-find="旧文字" data-replace="新文字" data-revision="true" data-author="AI" />
</p>

只匹配第 N 个:

<p data-id="6EAA1C8E">
<span data-find="系统" data-find-index="2" data-rstyle="keyword" />
</p>
<table data-id="t1" data-insert-row-after="1">
<tr><td><p>新项目</p></td><td><p>5400 万</p></td></tr>
</table>
<table data-id="t1" data-delete-row="2,3" />
<table data-id="t1" data-insert-col-after="2">
<td><p>备注</p></td>
<td><p>一期</p></td>
</table>
<table data-id="t1" data-delete-col="3" />

行列索引是 1-based。0 表示最前,last 表示末尾。

<figure data-after="6EAA1C8E">
<img src="images/photo.png" style="width:80%;max-width:600px" alt="现场照片" />
</figure>

srcdata-ref 都支持。CLI 会按 basePath 解析本地相对路径并打包图片。

<p data-id="6EAA1C8E">这段需要 <mark data-id="cm1">复核</mark></p>
<aside data-type="comments">
<p data-id="cm1" data-author="Reviewer">请检查数据来源。</p>
<p data-id="cm2" data-author="AI" data-reply-to="cm1">已补充。</p>
</aside>

data-reply-to 表示回复,data-resolved="true" 表示批注线程已解决。