前言¶
DeepSeek Harness (DSH) 生態奉行「一切皆插件」的理念,允許用戶通過插件擴展功能。在實際使用中,WebUI 進程崩潰、端口被佔或瀏覽器端異常是常見故障,此時會話日誌雖在磁盤上完好,但無法通過圖形界面繼續交互。
dsh-rescue-tui 是一個掛載在 DSH profile 上的極簡終端維護入口。它不依賴複雜的第三方 UI 庫,而是通過原生 readline 和 ANSI 實現,能在 WebUI 不可用時直接接管會話。該插件由 marshfolx 維護,遵循 MIT 許可證,零核心改動,安裝後即可使用。
核心功能¶
該插件主要解決 WebUI 不可用時的續聊、權限控制和模型調整問題:
- 會話續聊:啓動後列出歷史會話(當前工作區優先),通過數字鍵 resume。無標題會話會自動節選首條用戶 prompt 作標題;崩潰殘缺的回合由持久化層自動合成關閉。
- 權限三層繼承:原樣掛載
sandbox-policy、approval和permission-presets。默認繼承workspace-write(寫入限工作區)+ask審批;越界操作會觸發終端y/N彈窗。 - 模型與推理控制:支持通過
/model動態列出並切換模型路由(保留歷史日誌),以及通過/effort調整推理強度(low/high/max/off),無需切換模型即可改變計算資源分配。 - 網絡與工具裁剪:內置自研匿名 HTTP fetch provider 補齊
web_fetch(支持 HTML→markdown 轉換與截斷控制)。同時保留 pwsh/bash、fs 編輯、todo、jobs 等基礎工具,禁用 subagent/workflow/ralph/goal/plan-mode/skills 等協作工具,聚焦單人救援場景。
安裝與啓用¶
前置要求:Node.js ≥ 22、官方 @deepseek-ai/dsh CLI、pnpm ≥ 10。
安裝命令¶
使用插件提供的安裝腳本,指定 GitHub 倉庫地址即可創建 rescue profile:
node dsh-rescue-tui/scripts/install-profile.mjs --package "github:marshfolx/dsh-rescue-tui"
啓動插件¶
安裝完成後,使用以下命令激活該 profile:
dsh --profile rescue
使用方式¶
進入 TUI 後,界面會顯示會話列表。用戶可以通過以下指令進行操作:
- 會話管理:
/sessions回到列表;/new新建會話;/exit退出。 - 權限切換:
/perm查看當前與可選預設;/perm read-only/workspace-write/danger-full-access切換權限模式。 - 模型與強度:
/model列出 llm-pi-ai 目錄全部分組;/model opencode/mimo-v2.5-free切換模型;/effort查看並設置強度。 - 審批交互:回合進行中的越界操作需直接輸入
y或n確認;空閒時可使用/y或/n預答下一次審批。
生態與背景¶
DSH 的架構設計使其具備高度的靈活性。該插件的社區目錄位於 https://www.skillhub.cn/plugins/marshfolx/dsh-rescue-tui。需要特別說明的是,社區目錄及本插件與 DeepSeek 或幻方AI無任何官方從屬關係,純屬社區協作產物。
注意事項¶
使用該插件時需注意以下已知邊界:
- 日誌衝突:當 WebUI 後端進程仍在運行時,不要在 TUI 和 WebUI 兩邊同時續同一個 session,否則會導致追加式日誌雙寫衝突。
- 渲染限制:fetch provider 無 JS 渲染能力,無法獲取 SPA 頁面的動態內容。若需處理此類頁面,建議使用 pwsh 腳本配合 curl 兜底。
- 依賴版本:peer 依賴需對齊
@deepseek-ai/*@^0.1.1-rc.2,harness 大版本升級後需進行迴歸測試。 - 平臺差異:Windows 下 bash 行由 base 平臺門控自動禁用(pwsh 棧接管),POSIX 系統反之。
結語¶
dsh-rescue-tui 提供了一種在極端環境下恢復工作流的低成本方案。它通過插件化掛載的方式,在不修改核心代碼的前提下,賦予了 DSH 終端維護能力,適合在遠程維護、低配環境或應急救援場景中使用。