前言¶
DeepSeek Harness(DSH)默認面向本機或能直接訪問本地文件系統的環境:會話裏常見的「顯示文件位置」「在應用中打開」等操作,依賴桌面路徑和本機應用。把 Harness 放進 Docker 容器、NAS 或遠程服務器時,進程與用戶電腦之間往往只有 Web UI 這一條鏈路,容器內也讀不到你電腦上的文件,上述按鈕會失效。
下面介紹社區插件 @louisremi/dsh-always-on(維護者 louisremi,分類爲客戶端)。它在不依賴本地文件系統的前提下,用瀏覽器側能力替換失效入口:下載文件、打開側欄文件列表、在側欄裏編輯文本並寫回 Harness 主機。
這是什麼¶
@louisremi/dsh-always-on 是面向「容器化、無本地盤訪問」場景的 DSH 插件。官方描述概括爲:在容器裏運行 Harness 時,通過 Web UI 瀏覽目錄、下載文件並編輯。
插件以 npm 包 @louisremi/dsh-always-on 發佈(當前資料中 package.json 版本爲 0.3.1),許可證 MIT。社區目錄頁:https://www.skillhub.cn/plugins/louisremi/dsh-always-on;源碼與說明:https://github.com/louisremi/dsh-always-on。
核心功能¶
下載(Download)¶
在原先「文件夾」類按鈕所在位置出現 Download,將單個文件保存到你的電腦。出現位置包括:智能體回覆下的文件卡片(present)、變更文件審查頁、側欄預覽中打開的文件工具欄,以及預覽無法渲染時的空狀態。
限制:僅支持單文件,不支持打包下載整個文件夾。
顯示文件(Show files)¶
會話標題欄中的工作區文件夾按鈕變爲 Show files,點擊後打開或聚焦側欄的 Files 標籤。已在 Files 標籤內時該按鈕會隱藏,避免重複操作。
編輯(Edit)¶
在側欄預覽中打開文本文件後,點擊 Edit(鉛筆圖標,與 Download 相鄰)。文件在獨立編輯器標籤中打開,編輯器基於 Monaco(VS Code 同款編輯器組件);Monaco 未打入插件包,首次編輯時從 jsDelivr 加載固定版本 monaco-editor@0.52.2。
編輯行爲要點:
Ctrl/Cmd+S或 Save 寫回文件;標籤與文件名上的圓點表示未保存更改。- 打開後若磁盤上的文件已被修改,保存會被拒絕,需在 Reload from disk、Overwrite、Keep editing 中選擇,不會靜默覆蓋。
- 關閉標籤或離開頁面時若有未保存內容,會確認。
- 保留行尾(LF/CRLF)與 UTF-8 BOM;僅處理不超過 1 MiB 的文本文件,二進制或無效 UTF-8 會拒絕編輯。
- 保存遵循會話沙箱:只讀模式下失敗;
workspace-write模式下超出工作區同樣失敗,與智能體自帶文件工具一致。
若瀏覽器無法訪問 cdn.jsdelivr.net,編輯器會降級爲普通 <textarea>,保存、衝突與髒狀態邏輯不變,並提示原因。加載 Monaco 時 jsDelivr 會看到你的 IP 與 User-Agent;Harness 主機本身不需要訪問該 CDN。
安裝與啓用¶
安裝命令(將 web 換成你實際使用的 profile 名稱):
dsh plugin --profile web add @louisremi/dsh-always-on
插件支持熱加載;僅當命令提示需要重啓時才重啓 Harness。從 git URL 安裝時會執行 prepare(npm run build);若 profile 由 pnpm 管理,可能需批准構建腳本(allowBuilds),否則可能缺少 dist/。
無需額外配置項。
卸載:
dsh plugin --profile web remove @louisremi/dsh-always-on
典型用法¶
- 在容器或遠程主機上按常規方式啓動 DSH Web profile,並安裝本插件。
- 在會話中查看智能體產出的文件卡片或變更列表,用 Download 將文件保存到本機。
- 點擊會話頭的 Show files 在側欄瀏覽工作區文件樹。
- 在側欄預覽文本文件後點 Edit,修改後 Save;若與磁盤版本衝突,按界面選擇重載或覆蓋。
實現要點與依賴¶
插件向 Harness 註冊兩個需認證的路由:GET /api/download.file、POST /api/save.file;UI 按鈕佔用與內置 open-in-app、sidebar-right 相同的插槽並覆蓋原按鈕,禁用插件後內置按鈕恢復。
README 註明在 DSH 0.2.0-rc.2 上測試,並依賴上述內置插件的插槽名與公開 API。運行時要求 Node ≥ 20。
適用場景與注意¶
適合: 在 NAS、服務器或任意 Docker 環境中長期運行 Harness,操作者只通過瀏覽器連接,仍需要下載交付物、瀏覽工作區並在側欄改配置文件或腳本。
注意:
- 插件以當前 DSH 進程權限訪問文件;安裝前請自行查看源碼與 MIT 許可證,確認符合你的安全策略。
- 編輯無多用戶文件鎖,僅依賴磁盤版本校驗;大文件夾需逐個文件下載。
- SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,本文不構成官方背書。
結尾¶
容器化 DSH 失去本機文件系統橋接後,瀏覽器需要承擔下載、目錄瀏覽與文本編輯。@louisremi/dsh-always-on 用三個入口和兩條 API 路由補齊這一環,並與會話沙箱策略對齊。
- 社區目錄:https://www.skillhub.cn/plugins/louisremi/dsh-always-on
- GitHub:https://github.com/louisremi/dsh-always-on