DSH 插件介绍:Agent Shell 与 Shell 抽屉

前言

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-shell RPC 通道,并维护一个内存环形缓冲区(最多 200 条记录)。
  • 浏览器半:在 lib/client.js 中通过 slots.inject('shell.overlay') 挂载。它会优先尝试注册进 dockPanels(需要配合 dsh-right-drawer),如果找不到则降级为独立覆盖层。
  • 通信机制:使用 connection.rpc.call('/agent-shell', ...),仅限本机 loopback 权限提供记录流。

安装与启用

在安装此插件前,需要确保宿主环境已安装 dsh-right-drawer。

  1. 安装依赖的抽屉宿主:
    dsh plugin --profile web add @deepseek-ai/dsh-right-drawer
  1. 安装插件:
    dsh plugin --profile web add @deepseek-ai/dsh-agent-shell
  1. 重启 DeepSeek Harness。安装后,右侧会出现一个竖排的「Shell」标签,点击展开抽屉即可使用。

  2. 卸载:

    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

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

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

小夜