前言¶
在 DeepSeek Harness(DSH)裏和模型來回對話時,常見做法是複製某段回覆、粘貼到輸入框裏再寫「我指的是上面這句」。上下文一長,模型和你都容易對不準「上面」到底是哪一段;工具輸出、多輪 assistant 回覆混在一起時更明顯。
下面介紹社區客戶端插件 dsh-quote-annotate(維護者 HansHuang2683):在 Web / Desktop Web UI 的對話 transcript 裏選中任意文字,就地寫批註,發送下一條消息時把「原文 + 出處 + 你的評論」摺疊成固定格式塊一併交給模型。插件無額外依賴、無需構建,單文件瀏覽器模塊,通過 DSH 官方擴展點掛載。
這是什麼¶
dsh-quote-annotate 是面向 DeepSeek Harness 的小型 Web UI 插件。倉庫:https://github.com/HansHuang2683/dsh-quote-annotate;社區目錄頁:https://www.skillhub.cn/plugins/HansHuang2683/dsh-quote-annotate。分類爲客戶端;在 Plugin Manager 中顯示名稱爲 Selection Annotations。
它解決的是「指代不清」:模型收到的是精確引用的段落、該段來自哪一輪/哪類內容,以及你對該段的批註,而不是模糊的「剛纔那段」。
核心功能¶
依據倉庫 README,能力可以概括爲五步:
- 選中:在 transcript 中選中任意文本(你的消息、assistant 回覆、工具輸出等)→ 選區上方出現浮動 Annotate 按鈕。
- 寫批註:點擊按鈕 → 選區旁打開浮動評論框(引用預覽 + 文本框 + Cancel / Save;
⌘/Ctrl+Enter保存,Esc取消)。 - 保存後高亮:被引用段落以帶編號角標(如
①)高亮;點擊角標可再次編輯批註。 - 發送前彙總條:與 composer 同寬的條帶緊貼在輸入框上方,文案形如
① annotations · attached to your next message;展開後可查看、編輯、跳回原文或刪除每條批註。 - 照常發送:按 Enter 或點發送。插件把正文與所有批註摺疊成緊湊塊寫入消息,例如:
my question …
【我的批註】
批註 1|Assistant · turn 3
原文:
the paragraph you selected
批註:your comment
實現上(設計說明,供排查行爲時參考):UI 走 shell.overlay 與 conversation.input.overlay;高亮用 CSS Custom Highlight API(CSS.highlights),按存儲的文本偏移重建 Range,不包裹或改寫其他插件的 DOM;發送時在 capture 階段攔截 Enter(兼顧 IME)或發送按鈕,先把 body + 批註塊 寫入 composer,待 draft 生效後再調用 inputActions.submit()。支持明/暗主題,讀取宿主 theme 服務。
環境與限制¶
- 需要 DeepSeek Harness 0.2.1-rc.3 或更新(Web / Desktop Web UI)。
package.json中dsh.engines.dsh爲>=0.2.1-rc.3。 - 不支持 TUI,僅 Web / Desktop Web UI。
- 保存批註後 composer 不會自動聚焦,需手動點輸入框再打字(DSH 未提供對應 seam)。
- 高亮依賴 transcript 上的
data-chat-flow-key/data-chat-turn;若未來 DSH 變更這些屬性,高亮可能降級,但批註列表與發送摺疊仍可用(發送塊僅依賴文本)。 - 發送塊中長引用截斷爲 1200 字符(列表內仍保留完整引用)。
- 熱更新後若條帶消失或批註不再附着,應完全退出並重開 DSH;條帶上的 Insert 爲手動兜底。
安裝與啓用¶
通過 plugin_manager 工具,或在 Plugins 頁面 → Add plugin,使用資料原文中的安裝方式(勿自行拼接未文檔化的 CLI 命令):
action: install_bundle
target: https://github.com/HansHuang2683/dsh-quote-annotate
也可指向本地 checkout 目錄,或打包後的 tarball(示例流程):
pnpm pack --pack-destination dist
# 然後 install_bundle,target: <絕對路徑>/dist/dsh-quote-annotate-1.0.0.tgz
安裝後刷新頁面(Desktop:Ctrl+R,或完全退出再啓動)。在 Plugin Manager → Plugins 中應看到 Selection Annotations。
典型用法¶
- 打開已安裝插件的 DSH Web / Desktop 會話。
- 在 transcript 中拖選要討論的一段文字,點 Annotate,在浮動框裏寫批註並 Save(或
⌘/Ctrl+Enter)。 - 需要時可點編號角標或 composer 上方條帶修改、刪除批註。
- 在 composer 裏寫你的問題或指令,照常發送;模型側會看到正文加上述
【我的批註】結構塊。
適用場景與注意¶
適合:需要對某條 assistant 回覆、工具輸出或自己先前消息做「點對點」評論,並希望模型讀到完整原文與批註的 DSH 用戶;習慣 Web / Desktop UI 的客戶端工作流。
安裝前建議:插件在 當前 DSH 進程的權限與沙箱策略下 運行,與宿主共享 Web UI 上下文。安裝前應自行查看 倉庫源碼 與許可證(MIT © 2026 HansHuang2683)。SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本文僅作能力說明,不構成安全審計。
結尾¶
dsh-quote-annotate 把「選中 → 就地批註 → 隨下一條消息結構化發送」做成一條固定鏈路,減少長對話裏的指代歧義。進一步瞭解可訪問目錄頁 skillhub.cn/plugins/HansHuang2683/dsh-quote-annotate 與 GitHub 倉庫 HansHuang2683/dsh-quote-annotate。