dsh-open-terminal:爲 DSH Web profile 增加終端、文件管理與 Agent 工具

前言

在 DSH 的“一切皆插件”思路下,Web profile 可以通過插件擴展界面和 agent 工具能力。若團隊已經有一個 Open Terminal server,並希望瀏覽器裏的 DSH workspace 直接提供終端、文件管理,同時讓 DSH agent 調用命令與文件工具,下面介紹 dsh-open-terminal。需要說明,社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應把它理解成官方應用商店。

這是什麼

dsh-open-terminal 是一個 DSH Web profile 插件,用於爲 DSH Web profile 中的每個 workspace 增加交互式終端、文件管理器和 open_terminal_* 工具。它連接已有的 Open Terminal server,不需要 MCP server selection 或單獨的 MCP 配置。GitHub 倉庫爲 https://github.com/d3cker/dsh-open-terminal,許可證爲 MIT

核心功能

  • 交互式終端:基於 WebSocket 的 xterm.js 終端,支持 scrollback。
  • 浮動窗口:終端打開在聊天上方,聊天仍可交互;僅通過右上角 × 按鈕關閉。
  • 響應式佈局:窗口隨瀏覽器視口縮放,在窄屏上使用可用屏幕區域。
  • 文件管理器:瀏覽目錄、上傳多個文件、下載文件、刪除文件、編輯文本文件、預覽圖片或 PDF。
  • Agent 工具:DSH agents 可通過 open_terminal_* 工具管理進程和文件;無需單獨配置 MCP。
  • Profile 級可用:側邊欄按鈕和工具對所有使用該 DSH profile 的 workspace 生效。
  • 憑據保護:Open Terminal API key 存儲在 DSH Credentials,不暴露給瀏覽器。

Agent 工具可做的事包括:

  • list, start, inspect, interact with, and stop processes;
  • list, read, write, replace, search, and inspect files.

安裝與啓用

安裝前,已列出的要求如下:

  • DeepSeek Harness 0.1.1-rc.2,或兼容版本;
  • Node.js ^22.19.0>=24
  • 從源碼構建時需要 pnpm
  • 一個運行中的 Open Terminal server 和它的 API key;
  • 一個 DSH Web profile,默認名爲 web

安裝預構建包:

dsh plugin --profile web add "https://github.com/d3cker/dsh-open-terminal/releases/download/v0.1.4/dsh-open-terminal-0.1.4.tgz"

也可以使用 pnpm 執行同一安裝命令:

pnpm dsh plugin --profile web add "https://github.com/d3cker/dsh-open-terminal/releases/download/v0.1.4/dsh-open-terminal-0.1.4.tgz"

這裏使用 release asset dsh-open-terminal-0.1.4.tgz。倉庫 URL 和 GitHub 自動生成的 Source code archive 包含源碼,並且安裝時可能需要運行構建腳本的權限,因此安裝時建議使用 release asset。

安裝或更新後,重啓 DSH Web profile,然後刷新瀏覽器。該插件會作用於所有使用同一 profile 的會話和 workspace。如果還有其他 DSH profile 也需要使用,需要分別安裝。

驗證 profile 配置:

dsh --profile web --dump-config

輸出中應包含:

- id: open-terminal
  name: dsh-open-terminal

從源碼構建安裝包:

pnpm install
pnpm run check
pnpm pack

pnpm pack 會根據 package name 和 package.json 中的 version 字段生成形如:

dsh-open-terminal-<version>.tgz

查看包內容而不解壓:

tar -tzf dsh-open-terminal-<version>.tgz

典型用法

配置 OpenTerminal

1、在 DSH Web 中打開 Settings → Plugins → OpenTerminal
2、設置 OpenTerminal URL;打包默認值爲 http://192.168.0.74:7000,如不一致請改成你的 Open Terminal server 地址。
3、憑據引用保留 OPEN_TERMINAL_API_KEY,或填入另一個 DSH credential reference。
4、在 write-only 的 API key 字段輸入 API key。
5、可選調整 request timeout、tool-output limit、upload/proxy body-size limit;默認上傳限制爲 8 MiB,最大爲 64 MiB。
6、點擊 Save settings,然後點擊 Test connection

設置頁要通過 loopback DSH 地址打開,例如:

http://127.0.0.1:3080

DSH 不允許遠程頁面修改全局設置或憑據。

使用終端

點擊左側邊欄中的 OpenTerminal。終端會在聊天右側的浮動窗口中打開。

  • 使用鼠標滾輪或觸控板滾動終端輸出。
  • 終端打開時,聊天仍可繼續使用。
  • 可以在 TerminalFiles 之間切換,而不關閉窗口。
  • 使用窗口右上角的 × 按鈕關閉窗口。

窗口會隨視口縮放;在窄屏上使用可用屏幕區域,終端和控制項仍可訪問。

使用文件管理器

打開 OpenTerminal 窗口中的 Files 標籤。

  • Up:進入上級目錄。
  • Refresh:重新加載當前目錄。
  • Upload…:選擇一個或多個文件上傳。
  • Download:選擇文件後保存到本地。
  • 選擇文本文件編輯,然後 Save
  • 選擇圖片或 PDF 進行預覽。
  • Delete:刪除文件,確認提示。

文件操作發生在運行 Open Terminal 的機器或容器中,而不是運行瀏覽器的機器上。

Agent 調用

DSH agents 會自動獲得 open_terminal_* 工具。它們可以:

  • list, start, inspect, interact with, and stop processes;
  • list, read, write, replace, search, and inspect files.

不需要選擇 MCP server,也不需要單獨的 MCP 配置。

適用場景與注意

適合已有 Open Terminal server,並希望在 DSH Web workspace 中直接進行終端操作、文件管理,同時讓 DSH agent 調用相應工具的用戶。

使用前需要注意:

  • Open Terminal API key 允許在 Open Terminal server 上執行命令和訪問文件。
  • 建議使用可信、隔離的 Open Terminal server。
  • 將 DSH Web 限制給可信用戶訪問。
  • 當連接跨越不可信網絡時,使用 TLS 或 VPN。
  • 插件以當前 DSH 進程權限運行;安裝前應檢查源碼與許可證。
  • 當前已覈實版本爲 0.1.4,許可證爲 MIT
  • DSH 插件生態中的社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係;不要把它理解成官方應用商店。

更新與卸載

更新時,從當前 README 運行對應安裝命令,然後重啓 DSH Web profile。例如當前文檔給出的安裝包爲:

dsh plugin --profile web add "https://github.com/d3cker/dsh-open-terminal/releases/download/v0.1.4/dsh-open-terminal-0.1.4.tgz"

卸載:

dsh plugin --profile web remove dsh-open-terminal

移除插件後,重啓 DSH Web profile。

鏈接

GitHub 倉庫:

https://github.com/d3cker/dsh-open-terminal

社區目錄:未確認獨立目錄頁 URL,因此本文不給出鏈接;如需瀏覽插件頁面,可先從 GitHub 倉庫 README 與 Release 資產確認。

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

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

小夜