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 6 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
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-agent-shell from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.