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-gif,package.json 的 author 字段爲 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

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

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

小夜