前言¶
DeepSeek Harness (DSH) 作爲插件宿主,爲開發者提供了擴展能力。在開發智能體或調試流程時,直接執行 Shell 命令是常見需求。DSH 本身不提供原生終端,傳統的做法往往需要通過外部工具或手動記錄。dsh-agent-shell 插件通過註冊工具並構建 UI 抽屜,解決了命令執行與結果展示分離的問題。
插件介紹¶
這是由 PastSheep 維護的一個客戶端插件。它爲 DSH 提供了 bash 和 cmd 命令執行工具,並將外部 pwsh 的執行過程通過迴環 RPC 通道實時推送到右側的 Shell 抽屜。該插件不依賴複雜的構建流程,直接通過 npm 或 file 協議加載即可使用。
核心功能¶
1. Bash / Cmd 工具¶
插件註冊了兩個工具:
* bash:使用 Git Bash (D:\Program Files\Git\bin\bash.exe) 執行命令,支持 POSIX 語法。配置項包括 workdir(工作目錄)、timeoutMs(超時時間)和 maxOutputBytes(輸出字節上限)。超出字節上限的輸出會被截斷並寫入溢出文件。
* cmd:調用 cmd.exe /d /s /c 執行命令。
* pwsh 觀察:通過監聽 tools/result 事件,將外部 pwsh 工具的執行記錄統一推送到抽屜中。
2. Shell 抽屜¶
插件通過前端代碼在 DSH 右側掛載一個抽屜組件。該抽屜默認摺疊,每條執行記錄包含退出碼、耗時、stdout 和 stderr。
* 用戶可以通過 shell_drawer 工具控制抽屜狀態(list, open, close, toggle, remove, clear)。
* 前端通過輪詢 /agent-shell RPC 通道獲取增量記錄。
3. 架構與通信¶
- Node 半:在
lib/index.js中註冊工具,建立/agent-shellRPC 通道,並維護一個內存環形緩衝區(最多 200 條記錄)。 - 瀏覽器半:在
lib/client.js中通過slots.inject('shell.overlay')掛載。它會優先嚐試註冊進dockPanels(需要配合dsh-right-drawer),如果找不到則降級爲獨立覆蓋層。 - 通信機制:使用
connection.rpc.call('/agent-shell', ...),僅限本機 loopback 權限提供記錄流。
安裝與啓用¶
在安裝此插件前,需要確保宿主環境已安裝 dsh-right-drawer。
- 安裝依賴的抽屜宿主:
dsh plugin --profile web add @deepseek-ai/dsh-right-drawer
- 安裝插件:
dsh plugin --profile web add @deepseek-ai/dsh-agent-shell
-
重啓 DeepSeek Harness。安裝後,右側會出現一個豎排的「Shell」標籤,點擊展開抽屜即可使用。
-
卸載:
dsh plugin --profile web remove @deepseek-ai/dsh-agent-shell
典型用法¶
執行 Bash 命令¶
在 DSH 對話中直接調用 bash 工具:
// 示例:在指定目錄執行命令
{
"tool": "bash",
"arguments": {
"workdir": "C:/project",
"command": "ls -la"
}
}
執行 Cmd 命令¶
使用 Windows 原生命令:
{
"tool": "cmd",
"arguments": {
"command": "dir /s"
}
}
控制 Shell 抽屜¶
通過工具手動操作抽屜內容:
// 查看列表
{
"tool": "shell_drawer",
"arguments": { "action": "list" }
}
// 展開指定 ID 的記錄
{
"tool": "shell_drawer",
"arguments": { "action": "open", "id": 1 }
}
注意事項¶
- 依賴檢查:插件依賴
@deepseek-ai/dsh-tools及相關 UI 插件,確保版本兼容。 - 權限與安全:插件以當前 dsh 進程的權限運行 Shell 命令,請確保在使用前檢查源碼與許可證。
- 環境要求:bash 工具依賴系統已安裝 Git Bash;cmd 工具依賴 Windows 環境。
總結¶
dsh-agent-shell 插件爲 DeepSeek Harness 提供了輕量級的命令執行能力與可視化的結果反饋機制。通過迴環 RPC 和環形緩衝設計,它實現了本地命令流的無縫接入。對於需要在 DSH 中進行自動化測試或調試的開發者,這是一個實用的工具集。
插件目錄:https://www.skillhub.cn/plugins/PastSheep/dsh-agent-shell
源碼倉庫:https://github.com/PastSheep/dsh-agent-shell