文件批註器(dsh-plugin-file-annotate):在 DSH 右側欄選中文本寫批註並提交到對話草稿

前言

在 DeepSeek Harness(DSH)裏讓智能體改代碼,常見做法是:在對話裏描述「第幾行、哪段邏輯要改」,或把片段複製進輸入框。文件一多、行號一變,引用就容易錯位;若同時開着只讀預覽,還要在預覽和對話之間來回切換。

文件批註器(File Annotator)是維護者 Arvin-work 發佈的客戶端插件:在 DSH 右側欄打開工作區文本/代碼文件,選中文本即可在行內寫批註,跨文件統一計數與導航,需要時再一鍵把結構化修改要求追加到對話輸入框(不會自動發送)。插件無構建步驟、無運行時 npm 依賴,界面貼近原生 DSH。

這是什麼

插件通過 extension 優先級接管常見文本/代碼文件,提供懶加載文件樹、可編輯保存、行內批註、跨文件批註導航、Markdown 預覽,以及向 composer 草稿交接批註內容。

核心功能

文件編輯與文件樹

「打開文件」工作區左側爲文件樹、右側爲編輯器:目錄懶加載、變更自動刷新、篩選與刷新、可拖寬寬度,當前文件高亮;支持鍵盤導航、雙擊打開,展開與滾動位置可持久化。文件樹可隱藏,保留約 30px 軌道以便重新展開。

保存使用 ⌘/Ctrl+S,帶文件版本校驗,避免覆蓋外部修改。單文件超過 20 萬字符時退化爲純文本模式,並禁用申請重定位等重操作;直接保存也受該字符數限制。

行內批註

默認處於「批註」模式:選中文本後,在選中行下方出現批註塊。批註塊內 Enter 發佈,Shift+Enter 換行;中文輸入法組合輸入期間不會誤發佈。「編輯」模式則恢復正常選中、複製與編輯。

批註引用創建時的原文與行號;原文被改寫導致 quote 不再匹配時標記爲 stale,並提示位置可能已失效。

跨文件批註導航

當前會話只要有批註,右下角顯示統一計數 1/N;用 ↑/↓ 跨文件切換,自動打開目標文件並定位到批註範圍。

在工作區模式下切換右側當前文件時,文件樹保持不動;在獨立編輯器 tab 中則替換當前 tab,不堆積新 tab。

  • 提交:把當前文件的批註加入對話草稿;成功後自動清除已提交的當前文件批註。
  • 清除:清當前文件批註。
  • 全部清除:清當前會話全部批註,帶二次確認。

沒有剩餘批註時,浮動導航條消失。

Markdown 預覽

打開 .md / .markdown / .mdx 時,工具欄出現「預覽」按鈕。用當前編輯中的 draft 渲染標題、段落、列表、引用、表格、代碼塊、鏈接等。按鈕文字始終爲「預覽」,通過亮/不亮表示是否處於預覽狀態;預覽只讀,再次點擊回到源碼。

非文本與其它入口

圖片、PDF、Office 等非文本文件不在批註編輯器內渲染;從文件樹點擊時交給宿主原生預覽(PDF 使用 DSH 宿主的 PDF 查看器,非插件內嵌)。原有隻讀文本預覽可通過頭部 ✎ 批註此文件 轉爲批註編輯器;工具欄 ↗ 可用宿主原生預覽打開同一文件。右側欄終端使用 DSH 原生 terminal tab,插件不提供僞終端。

安裝與啓用

插件以當前 DSH 進程權限運行;安裝前建議瀏覽倉庫源碼並確認 MIT 許可證與行爲是否符合預期。DSH 生態強調「一切皆插件」;skillhub.cn 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

從 GitHub 安裝

dsh plugin --profile <profile> add github:Arvin-work/dsh-plugin-file-annotate

若使用 DSH Desktop,可在 Settings → Plugins → Add plugin 中粘貼 GitHub 倉庫地址,由桌面端管理當前 Profile。

安裝後按提示刷新頁面;宿主支持熱加載時,刷新後通常可見「打開文件」入口。

從 Release tarball 安裝

若倉庫 GitHub Release 提供 tarball:

dsh plugin --profile <profile> add <Release tarball 的 https 地址>

插件市場

被 DSH Market 收錄後,可搜索 File Annotator 或 文件批註器 一鍵安裝。

本地開發時可 link 安裝:

dsh plugin --profile <profile> add /absolute/path/to/dsh-plugin-file-annotate

典型用法

README 說明:截圖中的示例項目 just_interester、 example.py 及 example 批註均爲演示數據,不代表真實項目或用戶數據。

  1. 打開右側欄的「打開文件」。
  2. 從左側文件樹選擇一個文本/代碼文件。
  3. 在「批註」模式下選中一段文本。
  4. 在出現的批註塊裏寫下修改要求,按 Enter 發佈。
  5. 用右下角浮動條的 ↑/↓ 跨文件瀏覽批註。
  6. 需要智能體處理時,點 提交:批註進入當前對話輸入框,確認後再發送;提交成功後當前文件批註自動清除。
  7. 需要直接改文件時,切到「編輯」模式,改完保存。

隱私、數據與已知限制

  • 批註保存在當前瀏覽器 localStorage,按會話和文件區分;插件無遙測,不會把批註、文件內容或個人信息發往第三方。
  • 文件讀寫通過 DSH 宿主 workspace/file API;提交 只調用宿主 composer actions(必要時回退 bridge)追加到輸入框,不直接提交給模型。

需注意:非文本文件不能在批註編輯器中編輯或批註;大文件(>200k 字符)不執行批註重定位;批註 quote 變 stale 後無法自動定位;關閉編輯器 tab 不會彈未保存確認;依賴當前 DSH Client 插件/側欄 API,DSH 升級後可能需要適配。

結尾

文件批註器把「在文件裏圈定位置 + 寫修改要求 + 交給對話」收攏到 DSH 右側欄一條鏈路,適合需要在多文件間統一瀏覽批註、再手動確認發送的場景。

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

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

小夜