前言¶
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