Knowledge Work Plugins:让工作助手使用共享任务文件
实践:制作能解释内容损失的任务文件预览器
设计独立的只读解析预览,在保存前展示不支持的 Markdown、分组冲突和往返序列化差异。
实践:制作能解释内容损失的任务文件预览器知识学习CN编辑简报更新 2026-09-18
你将学会
- 先展示解析器能保留什么
- 明确比较往返结果
- 设定可测试的验收
开始前需要
- 基本命令行与配置阅读能力
- 能够在独立且获准的环境中试验
设计独立的只读解析预览,在保存前展示不支持的 Markdown、分组冲突和往返序列化差异。
先看结论
- 保存前应能看到不支持的行。
- 输入哈希可用于拟议冲突检查。
- 这个扩展是独立学习练习。
先展示解析器能保留什么
可以制作任务文档旁边的只读预览,列出识别到的分组、复选框任务和备注,并单独显示所有未消费的行。这样在任何写入之前,就能看清任务结构的边界。
加入规范化为空标识或与其他标题冲突的案例,使用原始行号提示问题,不要默默合并。练习只使用虚构名称,并完整保留原始输入,便于解释每个判断。
明确比较往返结果
将解析结构序列化到第二栏,再与原文做逐行差异比较。预览通过意味着用户理解拟议变化,不意味着序列化器突然能够保留原本不支持的文档内容。
增加应用按钮前,应要求文件当前哈希仍与预览输入一致。不一致时停止写入并重新预览。这是建议加入的冲突检查,不是本次审阅看板已经具备的功能。
设定可测试的验收
覆盖空文件、重复标题、纯中文标题、复选框子任务和普通段落。验收要求预览阶段零写入,并为每个丢失或合并元素显示原因;浏览器中的字符串按文本渲染。
并排差异和小型 SVG 流程图已经能解释这个问题,不需要三维场景。本章提出独立学习工具,不把它描述成已发布插件功能,也不冒充上游路线图。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
解析虚构输入并保留原始行号。
- 2
显示未消费内容及序列化差异。
- 3
输入哈希改变时拒绝写入。
可复制示例
json
{
"proposal": true,
"readOnly": true,
"inputHash": null,
"unconsumedLines": [],
"headingCollisions": [],
"applyWhenHashMatchesOnly": true
}常见问题
插件已经提供这个预览器了吗?
没有,本章提出的是独立学习项目。
需要 Three.js 吗?
文本差异与紧凑流程图已经足够。