前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在開發或使用過程中,保持 DSH 主程序版本最新可以避免潛在的兼容性問題或功能缺失。手動查看版本號或訪問 npm 搜索最新發布通常需要離開當前界面。dsh-update-checker 插件旨在解決這一痛點,它將版本檢查能力集成到 Web GUI 的會話頂欄中,提供即時的版本狀態反饋。
核心功能¶
該插件提供以下核心能力:
- 頂欄版本徽章:插件註冊在會話頂欄的動作區(標題旁),採用加法式註冊,不會替換 DSH 自帶的 UI 組件。
- 自動檢查:頁面加載時自動觸發一次版本檢查,無需手動操作。
- 狀態反饋:徽章顯示三種狀態:
- 已是最新:顯示“已經是最新版本”。
- 有新版本:顯示“更新到 vX.Y.Z”,右上角顯示紅點。
- 檢查失敗:徽章變紅,顯示“檢查失敗”。
- 對比面板:點擊徽章可立即重新檢查,並彈出面板展示當前版本、最新版本、更新狀態及升級指引。
- 診斷信息:當檢查失敗時,面板會展示詳細的診斷塊(包含當前版本與最新版本探測的具體記錄),便於排查問題。
安裝與啓用¶
使用官方命令安裝插件,安裝完成後重啓 dsh 即可生效。
dsh plugin --profile web add github:<your-username>/dsh-update-checker
工作原理¶
- 當前版本探測:按順序嘗試讀取安裝路徑(
process.cwd()/node_modules/@deepseek-ai/dsh/package.json)、常見全局安裝路徑(如/usr/local/lib、/opt/homebrew/lib)以及 npm 緩存目錄。 - 最新版本探測:優先請求
registry.npmmirror.com,若失敗則重試registry.npmjs.org。 - 結果緩存:檢查結果會緩存 60 秒。點擊徽章可跳過緩存強制刷新。
注意事項¶
- 隱私:網絡請求僅指向公開的 npm registry(npmmirror.com / npmjs.org),不採集本地數據,無遙測或文件寫入。
- 限制:當前版本探測依賴安裝位置,探測失敗時診斷面板會給出具體原因;徽章僅顯示在有標題欄的會話中,空白新會話(無標題欄)不顯示;此插件檢查的是 DeepSeek Harness (
@deepseek-ai/dsh) 自身的版本,而非插件版本。
進階用法(動態 Cordis 插件)¶
除了安裝包形式,該插件也支持在會話中動態定義和運行。在 dsh Web GUI 的會話工具中調用 cordis_define 和 cordis_run:
- 調用
cordis_define,將host.js內容作爲code.host,client.js內容作爲code.client(設置plugin.kind: 'new',idPrefix爲 3-6 個小寫字母)。 - 調用
cordis_run激活插件。 - 刷新頁面即可在會話頂欄看到徽章。
注意:動態插件的生命週期與當前 dsh 進程綁定,重啓後需重新定義。
該插件爲 DSH 用戶提供了直觀的版本管理入口,幫助開發者快速掌握工具更新情況。項目地址:https://github.com/YZz-S/dsh-update-checker