dsh-article-annotator:把改稿意见钉在句子上,交给 Agent 闭环处理

前言

在 DSH 里用 Agent 改文章,常见情况是意见浮在对话里:你说「第二段太啰嗦」,模型要自己猜对应哪一句;改完以后批注也没有落点,下一轮又得从头说一遍。若只靠聊天窗口来回传话,审稿链路很难复现,重复出现的表达偏好也很难沉淀下来。

下面介绍 dsh-article-annotator(文稿批注)。它在 DSH 右侧栏把 Markdown、Word、PowerPoint、PDF 切成可按句点击的锚点,把「这一句要改」写成 Agent 能读、能执行、能勾销的批注,并支持把反复出现的意见归纳成长期写作风格记忆。

这是什么

dsh-article-annotator 是 DeepSeek Harness(DSH)的 工作流 类插件,维护者为 Elycheng,在 SkillHub 目录 与 GitHub 仓库 发布。当前包版本 0.1.0,许可证 MIT。

插件把改稿链路钉在句子上:看(逐句锚点)、改(批注草稿交给 Agent,工具读意见、改稿、勾销)、记(风格规则写入本地记忆并可选注入系统提示)。数据默认只存在本机,不联网、不上传、无遥测。

核心功能

右侧栏「文稿批注」

安装并刷新后,右侧栏会出现 「文稿批注」 页面(引导页有入口;首次加载也会自动打开一次并提示)。顶栏展示当前文稿、刷新、在原生预览中打开、批注数、风格记忆数。

正文保留标题、段落、列表、代码块、表格、PDF 页码、PPT 幻灯片分隔;点任意一句可写批注。待处理批注为琥珀色下划线加序号角标,已解决为绿色;同一句可再点开修改或删除。批注列表支持按待处理 / 全部筛选,可定位回原句、切换状态。

与 DSH 原生预览联动

在 DSH 原生文稿预览(Markdown / PDF / Office / 表格)里选中文字后右键 →「用『文稿批注』批注这句」;在预览空白处可「在『文稿批注』中打开本篇」。插件页面内右键句子同样支持「批注这句 / 复制原句」。

选文与导出

首次使用点标题可选文稿:搜索当前会话工作目录下的 .md / .markdown / .txt / .docx / .pptx / .pdf,并列出最近打开的文件。支持将批注导出为 Markdown。

风格记忆

风格记忆面板可查看规则、单条删除。Agent 可通过 writing_style_add 记录可复用表达规则;配置项 injectStyle 控制是否把记忆注入系统提示,maxStyleRules 默认最多 12 条。

Agent 工具(六项)

工具 作用
article_review 读取当前文稿逐句批注与风格记忆;省略 file 时用本会话最近打开的一篇
article_read 读取全文(带段落编号、页码 / 幻灯片分隔)
article_review_resolve 改完后把批注 id 标为已解决
article_review_save_revision 把改好的全文写成源文件旁的 <原名>.revised.md
writing_style_add 记录一条表达规则(自动去重)
writing_style_get 读取全部风格规则

点击 「发给 Agent 修改」 会把待处理批注与操作指令写入当前会话输入框草稿(只写草稿,不自动发送);你确认后再发送。草稿指令覆盖:读批注 → 改稿 → 勾销 → 归纳风格 → 汇报。Agent 工具要在 新会话(或插件加载后的会话)里才可见。

支持的格式与写回方式

格式 写回方式
Markdown / TXT Agent 直接改原文件
DOCX / PPTX / PDF Agent 写 .revised.md(不原地改二进制版式)

句子切分为确定性规则(中英文分句策略见 README)。批注保存原句文本,文稿改动后按文本重锚定;找不到时标记「定位失效」但不丢失。不支持旧版 .doc / .ppt。PDF 提取依赖本机 Python + pypdf 或 pdftotext;纯图片 PDF 无可用文字。

安装与启用

要求:DSH 0.2.0-rc.2 或更新;Node.js ≥ 20(与 package.json 中 engines 一致)。

从 npm(推荐)

README 注明:首次公开发布前 npm 上可能尚无该包,在此之前请用「从本地源码」方式安装。公开发布后可用:

dsh plugin --profile web add dsh-article-annotator

装完后重启一次 DSH(或等待 Profile HMR 重载),刷新页面,右侧栏引导页即可看到「文稿批注」。

指定 profile 时:

dsh plugin --profile <profile> add dsh-article-annotator

从本地源码(开发调试)

在已 checkout 的仓库内执行 npm install、npm run build,再用 install-local.mjs 链到本机 profile(详见 GitHub README)。卸载可用 scripts/uninstall-local.mjs。

可选配置

在 profile 的 cordis.patch.yml 中可覆盖,例如:

- id: article-annotator
  name: dsh-article-annotator
  config:
    injectStyle: true        # 风格记忆是否进入系统提示
    maxStyleRules: 12        # 提示里最多列几条
    maxArticleBytes: 41943040
    maxBlocks: 1500
    enableTools: true        # 是否注册 Agent 工具

典型用法

  1. 刷新页面,打开右侧栏,进入 「文稿批注」。
  2. 点标题选择一篇文稿;点任意一句(或右键)写意见并 保存。
  3. 也可在 DSH 原生预览里选中文字 → 右键 →「用『文稿批注』批注这句」,插件会自动打开并定位到对应句子。
  4. 点 「发给 Agent 修改」,检查输入框草稿后自行发送。
  5. Agent 按批注改稿,调用 article_review_resolve 勾销、调用 writing_style_add 记录风格规则。
  6. 回到批注页点 刷新 查看状态;在风格记忆面板查看沉淀规则。

批注与风格数据目录为 $DSH_HOME/article-annotator/(默认 ~/.dsh/article-annotator),按文稿路径哈希存 annotations/<sha1>.json,另有 style.json、recent.json、sessions.json。批注不写进工作区;修订稿写在源文件旁(二进制格式为 .revised.md)。

适用场景与注意

适合需要在 DSH 内做 逐句审稿、把意见结构化交给 Agent、并希望 重复表达偏好 进入后续写作提示的开发者或写作者。插件以当前 DSH 进程的权限读取你指定的本机文稿;安装前应自行查看源码与 MIT 许可证,确认符合环境与合规要求。

已知限制包括:大改后个别批注可能定位失效;Word / PPT / PDF 不做原地改写;PDF 依赖本机 Python 环境;缺少 sidebarRightTabs / slots 时页面不注册而非报错。在 DSH 0.2.0-rc.2(Desktop)上完整实测,更高 rc 版本接口方向一致但未逐版验证。

DSH 生态理念是「一切皆插件」;SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-article-annotator 把「悬空意见」变成句级批注与可执行的 Agent 闭环,并把可复用偏好留在本机风格记忆里。进一步了解可看目录页 SkillHub:dsh-article-annotator 与源码 GitHub:Elycheng/dsh-article-annotator。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye