前言¶
在 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。終端會在聊天右側的浮動窗口中打開。
- 使用鼠標滾輪或觸控板滾動終端輸出。
- 終端打開時,聊天仍可繼續使用。
- 可以在
Terminal和Files之間切換,而不關閉窗口。 - 使用窗口右上角的
×按鈕關閉窗口。
窗口會隨視口縮放;在窄屏上使用可用屏幕區域,終端和控制項仍可訪問。
使用文件管理器¶
打開 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 資產確認。