DeepSeek Harness (DSH) 的設計理念是「一切皆插件」。在 Web 交互場景中,核心功能往往只覆蓋基礎對話,對於文件傳輸、歷史會話的高級檢索以及本地資源監控等需求,通常需要通過外部插件補充。下面介紹的 dsh-user-addons 是一個由社區開發者 Yur0918 維護的 Web 插件,旨在爲 DSH Web 界面增加文件處理、會話歸檔和性能監控的能力。
插件定位¶
dsh-user-addons 是一個開源的社區插件,採用 MIT 許可證。它不修改 DSH 核心文件,而是作爲一個獨立的包提供 Host 和 Web 客戶端兩端的擴展。該插件通過 DSH 的插件/包機制進行加載,核心價值在於填補 Web 端在文件操作和會話管理上的空白。
核心功能¶
該插件主要提供以下能力:
- 文件上傳與附件處理:支持在 Web 編寫器中進行文件拖拽上傳。系統會自動檢測當前選中的模型是否支持圖像輸入;若支持,圖片將直接作爲附件發送;若不支持,文件會被保存至本地,並通過路徑引用的方式附加。
- 會話歸檔管理:提供了一個歸檔管理器,允許用戶查找、歸檔和恢復會話。自 1.3.0 版本起,新增了「預覽」功能(只讀查看,無需恢復會話)和「全文搜索」功能(匹配對話日誌的解碼內容,而不僅僅是標題)。
- 模型與 Token 使用儀表板:從
~/.dsh/sessions目錄摺疊彙總本地的模型調用情況和 Token 使用數據。 - 圖像能力檢測:向 Web 客戶端提供接口,用於判斷當前模型是否具備圖像輸入能力,從而決定附件的處理策略。
安裝與啓用¶
安裝此插件需要滿足以下前提條件:
* 已安裝 Node.js 22.19 或更新版本。
* DSH Web 配置文件已啓用客戶端模塊加載器。
安裝步驟如下:
- 使用 DSH 配置文件支持的插件/包機制安裝此包。
- 重啓 Web 配置文件,確保插件能夠發現元數據和
lib/client.js打包文件。 - 確保已安裝的
lib/client.js文件存在(如果是源碼 checkout,需先構建)。
安裝完成後,包會聲明以下注入內容:
{
"dsh": {
"client": {
"platform": "web",
"inject": [
"@deepseek-ai/dsh-client-locale"
]
}
}
}
典型用法¶
插件在 Host 端註冊了同源 /addons/* 路由,主要接口包括:
GET /addons/health
GET /addons/archive/list
POST /addons/archive/archive
POST /addons/archive/restore
GET /addons/image-capability
POST /addons/upload
GET /addons/usage/summary
在開發或調試階段,可以使用以下命令進行代碼檢查:
npm run check
注意事項¶
- 文件限制:上傳文件大小限制爲 100 MiB,文件名在寫入 DSH 主目錄前會經過清洗處理。
- 數據來源:使用數據直接讀取本地 DSH 會話日誌,插件本身不發起任何網絡請求。
- 隱私安全:請勿將會話日誌、上傳的文件、憑證、生成的任務狀態或備份文件提交到版本控制系統中。
- 兼容性:請確保 DSH Web 環境與插件當前使用的 Node.js 版本兼容。
該插件通過補充 Web 端常用的文件管理和會話檢索能力,降低了在 DSH 環境下進行日常交互和開發調試的門檻。更多細節可查閱其 GitHub 倉庫。