dsh-rescue-tui:WebUI 掛掉時的終端維護入口

前言

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無任何官方從屬關係,純屬社區協作產物。

注意事項

使用該插件時需注意以下已知邊界:

  1. 日誌衝突:當 WebUI 後端進程仍在運行時,不要在 TUI 和 WebUI 兩邊同時續同一個 session,否則會導致追加式日誌雙寫衝突。
  2. 渲染限制:fetch provider 無 JS 渲染能力,無法獲取 SPA 頁面的動態內容。若需處理此類頁面,建議使用 pwsh 腳本配合 curl 兜底。
  3. 依賴版本:peer 依賴需對齊 @deepseek-ai/*@^0.1.1-rc.2,harness 大版本升級後需進行迴歸測試。
  4. 平臺差異:Windows 下 bash 行由 base 平臺門控自動禁用(pwsh 棧接管),POSIX 系統反之。

結語

dsh-rescue-tui 提供了一種在極端環境下恢復工作流的低成本方案。它通過插件化掛載的方式,在不修改核心代碼的前提下,賦予了 DSH 終端維護能力,適合在遠程維護、低配環境或應急救援場景中使用。

更多細節與源碼,可參考:
* GitHub 倉庫
* 社區目錄頁

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

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

小夜