dsh-console

前言

在 DSH(DeepSeek Harness)的 Web 插件生態中,有時需要在瀏覽器中執行命令。傳統的做法是打開本地終端,這會切斷與當前聊天或任務的上下文關聯。dsh-console 解決了這個問題,它通過 Web 界面提供一個真實的 PTY 終端。

這是一個社區維護的插件,旨在讓開發者在不離開 Web 界面的情況下,直接操作命令行。

核心功能

dsh-console 將終端能力集成到 DSH 的主視圖中:

  1. 主視圖“控制台”標籤頁:與“對話”、“軌跡”等標籤同級,採用 iTerm 風格的深色多標籤欄設計。
  2. 真 PTY 交互終端:基於 node-pty 底層實現,支持 vim、top、htop 以及 Ctrl+C 等所有交互式程序。
  3. 用戶真實 shell 環境:繼承用戶的登錄 shell($SHELL -l)、完整的環境變量以及 256 色支持。這保證了 conda 環境和 git 狀態提示符能正常顯示。
  4. 輸出不丟:利用 host 側的 512KB 環形緩衝區,結合 SSE(Server-Sent Events)流式推送。即便在切換標籤、刷新頁面或斷線重連後,終端歷史輸出依然會自動回放還原。
  5. 多標籤管理:支持通過 + 新建標籤、× 關閉標籤。每個標籤有獨立的 PID 和幾何尺寸顯示,且帶有綠點存活指示。

安裝與啓用

安裝過程非常簡單,推薦使用官方提供的一鍵腳本。

# 1. 進入插件目錄
cd dsh-console

# 2. 執行安裝腳本
./install.sh

# 3. 重啓 DSH

install.sh 腳本會自動完成以下三件事:
* 將插件文件拷貝至 ~/.dsh/profiles/web/node_modules/dsh-console。
* 在 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 中追加 dsh-console。
* 提示重啓 DSH。

典型用法

完成安裝並重啓 DSH 後,按照以下步驟操作:

  1. 在瀏覽器中打開 DSH Web 界面,地址爲 http://127.0.0.1:3080。
  2. 進入任意會話,頂部標籤欄會出現“控制台”標籤(位於“軌跡”與“任務面板”之間)。
  3. 點擊 + 或“新建終端”按鈕創建一個新標籤。
  4. 直接在終端中鍵入命令進行交互式操作。

適用場景與注意

  • 環境依賴:構建插件需要 Node.js >= 18,但運行預構建的插件包不需要。
  • 會話生命週期:PTY 會話與 DSH 進程綁定。當 DSH 重啓時,所有終端標籤會像關閉窗口一樣被終止,請注意保存工作。
  • 已知限制:
    • 終端窗口尺寸固定爲 120×34,暫不支持動態 resize。
    • 終端標題固定顯示“終端 N”,目前不支持 OSC 標題序列動態更新。

dsh-console 提供了從 Web 到命令行的直接通路,適合需要在 DSH 環境中快速調試腳本或執行後臺任務的場景。

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

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

小夜