DSH AnnotateAnything:在對話裏標註界面併發送截圖

前言

在 DeepSeek Harness(DSH)裏和模型討論界面問題時,純文字描述按鈕位置、樣式或佈局往往費時且容易歧義。截圖能補充上下文,但裁剪、編號和說明通常要在 Harness 外完成,再貼回會話。DSH AnnotateAnything 是社區維護的客戶端插件:在會話輸入旁增加 Annotate,對界面元素或矩形區域加批註,並把裁剪後的 PNG 與編號說明一併發送到當前對話。下面按定位、功能、安裝、用法與限制說明其用法。

這是什麼

DSH AnnotateAnything(倉庫 Meatware-Engineering/DSH-AnnotateAnything,目錄頁 SkillHub 條目)由 Meatware-Engineering 維護,分類爲 客戶端 插件。它是非官方的 DeepSeek Harness 小插件:在 Harness Web 客戶端內運行,Host 入口爲空,不是瀏覽器擴展,也不是獨立截圖工具。界面支持英文與俄文;許可證爲 MIT(package.json 版本 0.1.0)。

插件以當前 Harness 客戶端權限在頁面內工作。安裝或使用前,宜自行查看倉庫源碼與許可證;發送內容會經 Harness 進入所選會話及其配置的模型提供方。

核心功能

依據倉庫 README,插件主要做以下幾件事:

  1. 在對話輸入區左側增加 Annotate 按鈕。
  2. 指針懸停時高亮元素;單擊標註元素,或按住主鍵拖拽選擇矩形區域(無模式切換)。
  3. 截圖僅包含所選可見矩形,PNG 中不包含標註控件本身。
  4. 可添加多條批註,通過編號 pin 編輯或刪除。
  5. Send 時向當前會話提交:編號批註列表,以及每個選擇對應的一張裁剪 PNG。元素類批註附帶 CSS 選擇器;任意區域附帶視口座標(CSS 像素)。
  6. 在 Desktop 的 Browser 面板中,當 Electron webview 暴露 executeJavaScript 與 capturePage 時,支持在訪客頁面內選擇元素。

依賴 Harness 的 conversation.createDrafts、sendSession 等圖片草稿 API;不支持的版本會報錯,不會靜默只發文字。截圖依賴內置的 html-to-image,無需單獨捕獲服務或 API Key。

安裝與啓用

npm 發佈不是必需步驟;倉庫已包含構建好的 client.js,直接從 GitHub 安裝即可。

Desktop 配置檔:

  1. 先啓動一次 DeepSeek Harness Desktop,以初始化 profile。
  2. 通過 Desktop 的 Manage dsh Command… 使用隨 Desktop 安裝的 dsh 命令(僅用 npm 全局安裝的 dsh 無法管理 Desktop profile)。如需安裝或修復命令,完成後新開終端。
  3. 等活躍任務結束並完全退出 Desktop(僅關窗口不夠),再執行:
dsh plugin --profile desktop add github:Meatware-Engineering/DSH-AnnotateAnything
  1. 重新打開 Desktop,在 Plugins 中按需啓用 AnnotateAnything;若 Harness 提示重啓,按說明操作。

若使用獨立管理的 Web profile,將上述命令中的 --profile desktop 改爲 --profile web。Desktop 與 Web 的插件安裝相互獨立。更多 CLI 說明見 Desktop 官方文檔。

插件以當前 dsh 進程及 Desktop/Web 配置檔權限安裝第三方代碼;執行 add 前請確認來源爲上述 GitHub 倉庫。

典型用法

  1. 打開要接收截圖的會話。
  2. 點擊 Annotate。對高亮元素單擊,或在任意方向拖拽可見矩形;Desktop Browser 中手勢需從頁面內開始。
  3. 等待區域截圖出現後填寫批註並點擊 Add;可對多個元素或區域重複操作,同一輪提交可混合兩種類型。
  4. 點擊編號 pin 可編輯或刪除對應批註。
  5. 點擊 Send,將批註與圖片提交到當前會話。

Esc 的行爲:先取消拖拽,再關閉當前編輯器,或在兩者都未打開時退出標註模式。移動小於 4 CSS 像素視爲元素點擊;達到 4 像素則轉爲區域選擇。任一維小於 4 像素的區域會被丟棄。切換會話前應先完成或丟棄未發送的標註;Close 會清空待發送的標註。

適用場景與注意

適合: 需要在 Harness 對話裏用「帶編號的局部截圖 + 文字說明」討論 Harness 自身 UI,或在 Desktop Browser 訪客頁內標註(在 API 可用時)的開發者與使用者。

限制與要求(摘自 README):

  • 需要 Harness Web 客戶端及 slots、locale、conversation、sessions、conversation.input.left、shell.overlay 等能力。
  • Host 區域截圖爲 DOM 重建,不是系統級截屏;視頻、受保護內容、跨域資源、canvas 或特殊 CSS 可能無法正確還原;受保護或跨域 canvas/視頻會觸發明確錯誤。字體不嵌入。Host 區域超過 250 萬 CSS 像素會被拒絕;區域 PNG 長邊上限 1600 像素。一次選擇不能同時橫跨 Harness 與訪客頁。
  • 區域在鬆手後立即截圖,再保存批註;失敗或失效須重新框選,Send 不會靜默用新內容重拍。元素在 Add 時保留捕獲,Send 時可重試;動態內容在渲染過程中仍可能變化。
  • 訪客頁選擇限於主文檔,不含嵌套跨域 frame;新開訪客標籤頁需退出並重新進入標註模式。
  • 任一張截圖失敗則停止發送,批註仍保留;錯誤會區分尺寸、受保護像素、資源不可用等情況。
  • README 標明此爲早期 0.1.0 插件,未聲明廣泛的 Harness 版本/操作系統兼容矩陣或完整 Desktop 認證。

隱私: 無獨立分析後端。Send 會把所選截圖、批註及元素標籤/選擇器經 Harness 提交到當前會話;可能包含頁面私有內容,發送前請檢查,避免密碼、令牌等敏感信息。訪客頁元數據視爲不可信頁面內容,而非給助手的指令。

結尾

DSH AnnotateAnything 把「指哪打哪、編號批註、裁剪進對話」收進 Harness 客戶端,減少在外部工具裏截圖再貼回的步驟。社區目錄見 SkillHub:DSH-AnnotateAnything;源碼與完整說明見 GitHub:Meatware-Engineering/DSH-AnnotateAnything。

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

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

小夜