rsdgnchen/dsh-terminal:DeepSeek Harness Web 的系統交互終端插件

前言

DeepSeek Harness (DSH) Web 界面提供對話能力,但開發者常需在會話中直接執行系統命令或調試環境。rsdgnchen/dsh-terminal 插件通過在對話區下方嵌入一個真實的系統 shell,解決了這一需求。它基於 node-pty 和 xterm.js,在不脫離瀏覽器上下文的情況下提供完整的終端體驗。

核心能力

  • 真實系統終端:Host 側通過 node-pty 起動 $SHELL(默認環境變量,如 zsh/bash),支持顏色、作業控制及交互式程序(vim/less/top 等)。
  • 會話隔離與標籤管理:
    • 每個會話擁有一套獨立的終端標籤,切會話時面板自動切換,原會話後臺存活。
    • 支持多標籤頁(藍色 + 按鈕),每個標籤對應一個獨立的 shell 會話。
    • 標籤編號複用,支持雙擊重命名。
  • 佈局與交互:
    • 採用 8/2 上下分區,終端停靠在對話列底部。
    • 頂部拖拽條可調高終端高度(120-520px)。
    • 支持一鍵鋪滿對話列高度(點擊 ⛶ 圖標),再次點擊還原。
  • 狀態控制:
    • − 掛起:隱藏面板,保留會話與輸出。
    • × 關閉:卸載面板,殺死所有會話。
  • 安全與適配:
    • 升級鑑權:WS 端點需通過 DSH 的 Host/Origin 圍欄與登錄態校驗。
    • 明暗自適應:顏色跟隨應用主題。
    • 輸出回看:默認滾動緩衝 5000 行。

安裝與啓用

前置條件:需先安裝 pnpm 並確保在 PATH 上。

安裝插件:

dsh plugin --profile web add github:rsdgnchen/dsh-terminal

生效方式:
* 修改 src/index.js(Host 半)或 package.json、cordis.patch.yml 等配置文件後,必須重啓 web 服務。
* 修改 src/client.js 後,通常刷新瀏覽器頁面即可生效。

使用方法

  1. 打開終端:在對話區底部上滑透明橫槓(或輕點/回車)。
  2. 管理標籤:
    • 點擊藍色 + 新建標籤。
    • 雙擊標籤標題進行內聯重命名。
    • 拖拽終端頂部橫槓調整高度。
  3. 控制面板:
    • 點擊頂部 ⛶ 鋪滿/還原高度。
    • 點擊頂部橫槓收起終端(等同於 −)。
    • 點擊 − 掛起,點擊 × 關閉。
  4. 退出 Shell:按 Ctrl+D 退出當前 shell,最後一個標籤關閉時面板也會隨之關閉。

注意事項

  • 運行環境依賴:Host 側需要 node-pty 和 ws。插件運行時會嘗試解析 node-pty,失敗則回退到 Harness 全局安裝目錄中的副本。
  • 瀏覽器快捷鍵:Ctrl+W、F5 等窗口級快捷鍵由瀏覽器處理,插件無法攔截。在 macOS 上 Ctrl+W 正常可用,Windows/Linux 上建議使用 Ctrl+U(刪整行)或 Alt+Backspace(刪前一個詞)。
  • 鑑權要求:升級鑑權已開啓,WebSocket 連接必須攜帶 DSH 的登錄態(dsh-auth-* cookie)。直接通過腳本連接需自行處理認證。

該插件爲 DSH Web 界面提供了可靠的終端訪問能力,適合需要調試和運行系統命令的場景。更多細節請見 GitHub 倉庫。

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

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

小夜