dsh-plugin-terminal:在 DSH Web 底部面板中使用真實 PTY 終端

前言

在 DSH 裏做開發時,經常會遇到需要查看 shell 輸出、執行交互式命令或運行全屏終端程序的情況。如果只需要靜態文本,普通輸出面板可能已經夠用;如果希望保留 ANSI 顏色、光標移動和 256 色輸出,就需要一個真實 PTY 終端。dsh-plugin-terminal 就是面向 DSH Web 的這類插件。

下面介紹它的功能、安裝方式和需要注意的限制。

這是什麼

dsh-plugin-terminal 是一個 DSH Web 插件:在 VS Code 風格的可摺疊底部面板中提供真實 PTY 終端。它由 host PTY + WebSocket + xterm.js 組成,插件 owner 是 mervyn-teo,許可證爲 MIT。

核心功能

  • 提供真實交互式終端,通過 PTY 運行默認 shell:Windows 默認 PowerShell,其他環境默認 $SHELL 或 /bin/bash。
  • 使用 xterm.js 渲染 ANSI 顏色、光標移動、全屏應用和 256 色輸出。
  • 提供 VS Code 風格可摺疊底部面板,包含頭部、頂部可拖拽調整高度、重啓按鈕和摺疊開關。
  • 支持 Ctrl + ` 切換面板。
  • 面板尺寸變化時,PTY 會重新流式佈局。
  • 在 Settings → Plugins 中提供 Terminal 設置卡片,可配置主題、字體大小、最大高度、不透明度、初始摺疊、shell 和工作目錄。
  • xterm.js 無法加載時,提供純流式視圖 fallback。

安裝與啓用

先確認 DSH 已掛載 subprocess 和 webServer 服務。安裝插件後,再重啓 dsh web,因爲 host bundles 在啓動時加載。

dsh plugin --profile web add github:mervyn-teo/dsh-plugin-terminal

典型用法

1、在 DSH Web 中使用 Ctrl + ` 切換終端面板。

2、打開 Settings → Plugins → Terminal,調整主題、字體大小、最大高度、不透明度、初始摺疊、shell 和工作目錄。

3、主題、不透明度、字體大小、最大高度會立即應用;shell 和工作目錄在下次打開終端時應用。

4、Windows 默認使用 powershell.exe。如需 Command Prompt,可設置 shell 爲 cmd.exe 且 shellArgs: []:

shell: cmd.exe
shellArgs: []

適用場景與注意

適合需要在 DSH Web 中直接操作真實 shell 的 DSH 用戶和插件開發者。使用前注意:

  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
  • 終端會話是 process-local,不會在 harness 重啓後保留。
  • WebSocket 路由像 Web GUI 一樣綁定 loopback。
  • Windows 需要 Windows 構建的 node-pty(conpty/winpty)。
  • 首次渲染 xterm.js 需要訪問 jsDelivr CDN;離線時仍可使用純流式 fallback。

結尾

dsh-plugin-terminal 的價值在於把真實 PTY 終端放進 DSH Web 的底部面板,提供可摺疊面板、終端渲染、即時尺寸調整和終端設置卡片。GitHub 倉庫:mervyn-teo/dsh-plugin-terminal。

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

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

小夜