dsh-md-annotator:在 DSH 侧边栏 Markdown 预览中批注并写入修改指令

前言

在 DSH 中处理 Markdown 产出时,模型可能给出整段文本,而使用者往往只想修改其中几个块、列表项或一句话。直接把自然语言发给模型,常常缺少原文位置和上下文。

dsh-md-annotator 用于在 dsh-better-sidebar 的 Markdown 预览中逐项批注,再把批注整理成结构化修改指令写入当前会话输入框,便于后续发送给模型。

这是什么

dsh-md-annotator 是一个 DSH web 插件,定位是在侧边栏 Markdown 预览上做批注,并把批注转成修改指令。

它依赖 DSH web profile,并依赖已挂载的 dsh-better-sidebar。仓库账号为 3361805598-gifpackage.jsonauthor 字段为 lawyer_cui;许可证为 MIT。

核心功能

批注对象与类型

打开 .md 文件时,插件会把文档解析为标题、段落、列表项、表格、代码块、引用、水平线等块。悬停块或列表项后可添加内联批注,支持增、改、删,一处可添加多条,并可打“必须改、建议改、疑问”等类型标签。

也可以选中同一段落或列表项内的任意文字添加选区批注。被选中文字会持续高亮,批注引用精确到选中文字。

批注展示与清单

已批注块会显示琥珀色左边框和计数角标。底部固定栏显示总数,可收起或展开批注清单。

批注清单悬浮面板可拖动位置、可调整大小,支持单条移除、一键清空,并可点击跳转定位。

发送修改指令

点击“全部发送”后,插件会把结构化指令写入当前会话输入框草稿。指令按类型分组,包含文件路径、行号、原文引用和批注。

清单内也支持逐条发送,或勾选后批量发送。

重生成后的重匹配

文件被重新生成后,插件会按块序号和原文重匹配批注。失配项会标注“原文已变化”。

设置与备份

侧边栏设置页可以整体开关本预览器,并可配置发送后自动清空批注与发送内容前缀。

清单面板与底部栏提供导出按钮,可把当前文件全部批注下载为 JSON 备份。批注保存在浏览器内存中:切换 Tab 或会话不丢失,但重启 DSH 或停用插件后会清空。

安装与启用

先确认前置条件:

  • Node ≥ 20
  • pnpm ≥ 10
  • dsh web 可正常运行
  • 已挂载 dsh-better-sidebar

如果未挂载 dsh-better-sidebar,插件行会一直等待服务而不会激活。

安装发布版

下载 v0.6.0 安装包并校验 SHA-256:

curl -L -o dsh-md-annotator-0.6.0.tgz \
  https://github.com/3361805598-gif/dsh-md-annotator/releases/download/v0.6.0/dsh-md-annotator-0.6.0.tgz
shasum -a 256 dsh-md-annotator-0.6.0.tgz

v0.6.0 安装包的 SHA-256 应为:

7e389c52e9ec65f6864b766fe39e586c67d5df80fa94fdd26cf7cfc18c9fff08

把安装包放入 web profile 的 vendor 目录后执行安装:

mkdir -p ~/.dsh/profiles/web/vendor
cp dsh-md-annotator-0.6.0.tgz ~/.dsh/profiles/web/vendor/
dsh plugin --profile web add file:vendor/dsh-md-annotator-0.6.0.tgz

安装后重启 dsh web,再在浏览器中硬刷新,快捷键为 Cmd/Ctrl+Shift+R

从源码打包

在包目录内执行:

pnpm pack
cp dist/dsh-md-annotator-<version>.tgz ~/.dsh/profiles/web/vendor/
dsh plugin --profile web add file:vendor/dsh-md-annotator-<version>.tgz

完成后同样重启 dsh web,并在浏览器中硬刷新。

停用与卸载

临时停用时,在侧边栏设置页的侧边卡片中关闭 md-annotator 条目。停用后,.md 文件的内置 Markdown 预览会恢复。

完全卸载:

dsh plugin --profile web remove dsh-md-annotator

然后重启 dsh web

典型用法

1、打开 .md 文件,在预览中悬停任意块或列表项,点击“+批注”,内联填写修改意见。

2、在预览中拖选同一段落或列表项内的文字,点击“+批注选区”,填写意见。

3、点击“全部发送”,当前会话输入框草稿会写入结构化修改指令;回车即可发送给模型。

4、也可以在批注清单内逐条发送,或勾选后批量发送。

5、若临时不想使用,在侧边栏设置页关闭 md-annotator 条目。

适用场景与注意

这个插件适合在 DSH web 中结合 dsh-better-sidebar 使用,适合需要把 Markdown 预览中的修改点整理成结构化指令、再发给模型处理的场景。

需要注意:

  • 插件运行期间会接管 .md 文件的侧边栏预览,内置预览的编辑模式不可用;停用后自动恢复。
  • 侧边栏支持切换预览与源码编辑模式,源码编辑支持 Cmd/Ctrl+S 或宿主保存按钮写回原 Markdown 文件。
  • 批注保存在浏览器内存中,不会写入原 Markdown 文件;重启 DSH 或停用插件后会清空。
  • UI 为全中文,无 i18n 层,个人插件定位。
  • 内联 Markdown 解析器为 CommonMark 子集,不支持 setext 标题、嵌套列表、内联 HTML、列表项内代码围栏或引用、表格单元格转义管道符。
  • localStorage 持久化与拖拽排序为后续演进方向。

插件安装并启用后会进入 DSH 插件体系运行。安装前应检查源码、依赖和 MIT 许可证;启用后,插件以当前 dsh 进程权限运行,建议在受信任的项目和仓库中使用。

链接

社区目录页:https://www.skillhub.cn/plugins/3361805598-gif/dsh-md-annotator

GitHub:https://github.com/3361805598-gif/dsh-md-annotator

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

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

Xiaoye