Skip to content
dsh.fish
Bundle

dsh-agent-shell

Agent shell tools (bash via Git Bash, cmd) with a live shell-record feed: every execution is recorded and served to the right-drawer Shell drawer over a loopback RPC channel. 对话右侧 Shell 抽屉:bash/cmd/pwsh 命令执行与记录展示。

Source
PastSheep
stars
1 stars
License
MIT
Updated
Updated 5 days ago

Readme

# @deepseek-ai/dsh-agent-shell

Agent Shell 工具 + Shell 抽屉(DeepSeek Harness Web / `dsh` 宿主)。提供 `bash` / `cmd` 命令执行工具,并实时观察外部 `pwsh` 执行;每次执行都会被记录并通过回环 RPC 通道推送到右侧 **Shell 抽屉**(需要配合 `dsh-right-drawer` 的 `dockPanels` 注册表)。

Agent shell tools (bash via Git Bash, cmd) plus a live **Shell drawer** for DeepSeek Harness Web: every execution is recorded and served to the right-drawer over a loopback RPC channel. Content is rendered by the `dockPanels` registry provided by `dsh-right-drawer`.

## 功能 Features

- **bash / cmd 工具** — `bash` 走 Git Bash(`D:\Program Files\Git\bin\bash.exe`),`cmd` 走 `cmd.exe /d /s /c`;输出按字节上限截断、超限落到溢出文件(`spillPath`),超时强制终止进程树
- **pwsh 观察** — 通过 `tools/result` 事件记录外部 `pwsh` 工具的执行,统一进抽屉
- **Shell 抽屉** — 每条记录默认折叠,展示退出码 / 耗时 / stdout / stderr,支持展开、删除、清空
- **回环 RPC** — `/agent-shell` 通道(`get` / `set-open` / `remove` / `clear`)只在本机 loopback 提供记录流,前端轮询增量刷新
- **免构建** — 手写 JS,`file:` 或 npm 安装均可直接使用

## 安装 Install

依赖 `dsh-right-drawer`(抽屉宿主),先安装它:

```sh
dsh plugin --profile web add @deepseek-ai/dsh-right-drawer
dsh plugin --profile web add @deepseek-ai/dsh-agent-shell
```

未发布时可用本地目录:

```sh
dsh plugin --profile web add file:C:/path/to/dsh-agent-shell
```

然后重启 DeepSeek Harness。安装后右侧出现竖排「Shell」标签,点击展开抽屉;执行 `bash` / `cmd` / `pwsh` 命令后记录自动进入抽屉。

卸载:

```sh
dsh plugin --profile web remove @deepseek-ai/dsh-agent-shell
```

## 工具 Tools

| 工具 | 说明 |
| --- | --- |
| `bash` | Git Bash 执行命令(POSIX 语法;`workdir` / `timeoutMs` / `maxOutputBytes`) |
| `cmd` | cmd.exe 执行命令(`/d /s /c`) |
| `shell_drawer` | 控制抽屉里的命令记录:`list` / `open <id>` / `close <id>` / `toggle <id>` / `remove <id>` / `clear` |

## 架构 Architecture

- Node 半(`lib/index.js`):注册工具 + `/agent-shell` RPC 通道,内存环形缓冲最多 200 条记录
- 浏览器半(`lib/client.js`):通过 `slots.inject('shell.overlay')` 挂载,优先注册进 `dockPanels`,找不到时降级为独立覆盖层(standalone)
- 通信:`connection.rpc.call('/agent-shell', ...)`,仅 loopback 权威

## License

MIT

Install

dsh plugin --profile web add github:PastSheep/dsh-agent-shell

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source