lijian-ui/dsh-term: DSH 側邊欄式本地終端

前言

在 DSH Web GUI 的開發與調試場景中,通常需要直接訪問宿主機的 Shell 環境。普通的命令行工具或簡單的執行器無法滿足交互式調試的需求。dsh-term 插件通過在 DSH 界面中嵌入一個真實的終端面板,解決了這一痛點,讓用戶可以在瀏覽器中直接操作本地 Shell。

插件介紹

lijian-ui/dsh-term 是一個爲 DSH Web GUI 設計的本地終端插件。它利用 node-pty 提供真實的僞終端(PTY)會話,而非僅僅運行預設的命令。插件通過 xterm.js 實現了多標籤頁的 UI 渲染,並採用了熱插拔的架構設計,無需修改 DSH 源碼即可集成。

核心功能

  • 真實 PTY 會話:使用 node-pty 庫建立本地 Shell,確保交互的真實性。
  • 多標籤終端面板:基於 xterm.js 構建,支持在同一個面板內打開多個終端標籤。
  • 佈局集成:終端面板作爲右側的一列停靠,與文件管理器面板並列,保持界面的一致性。
  • 工作區 CWD:每個新會話默認在當前工作區的根目錄下啓動。
  • 熱插拔支持:作爲配置包(Profile Bundle)加載,安裝和使用過程對宿主 DSH 無侵入。

安裝與啓用

通過 DSH 命令行工具安裝:

dsh plugin add @lijian-ui/dsh-term

也可以手動編輯配置文件,將 @lijian-ui/dsh-term 添加到 profile 的 bundles 或 dependencies 中,並在 cordis.yml 中引用。

典型用法

插件默認安裝後處於摺疊(關閉)狀態。啓用時,請點擊右側面板啓動器中的“終端”按鈕。終端面板會自動停靠在文件管理器面板的右側,成爲最右側的一列。

注意事項

  • 當前版本限制:目前爲 A 版本,僅支持本地用戶終端。B 版本 計劃增加 SSH 連接和會話級 Shell 選擇功能。
  • 會話管理:會話由宿主機服務管理,該服務通過僅限本地迴環的 HTTP 路由和 SSE(Server-Sent Events)接口暴露給前端,前端通過 xterm.js 進行渲染和交互同步。
  • 權限要求:由於提供真實的本地 Shell,該插件運行在宿主機進程的權限上下文中。

生態鏈接

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

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

小夜