dsh-shell-host
在终端中运行以下命令:
dsh plugin install ch1bug/dsh-shell-host
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install ch1bug/dsh-shell-host,或按文档从 https://github.com/ch1bug/dsh-shell-host 安装该插件。
插件介绍
在 DSH 里,「跑一条命令」和「守着一台真终端对话」往往是两件事:前者交给平台自带的 sandbox 执行器,后者却需要可复用的 PTY、可读的增量输出,以及和启动器预设对齐的环境。dsh-shell-host 走的就是这条纯工具路线——它不注册 shell 执行器、也不抢占上游 loader 行,只在 bundle 里挂载自己的 pty 与 terminal 入口,把持久会话与 shell_open 启动面交给 agent 和配套插件按需组合。
核心在 ./pty:基于 node-pty 的 Layer 0 会话核心,提供 pty_open / pty_send / pty_tail / pty_close / pty_list / pty_signal,并支持 shellCommand 声明交互式 shell、autoClose 的一次性命令,以及与宿主 jobs 栈对接的 run_in_background。同一入口还承载交互式 SSH(ssh_start 等四工具);远程一次性执行则留给独立的 dsh-shell-remote。./terminal 则通过 shell_open 解析 launcher 预设(含 MSYS2 等),打开的 sessionId 直接走同一套 PTY 工具,没有第二套中间层。
适合需要「长驻 shell、管道与 cd 跨调用生效、增量 tail、可控信号与归属」的 agent 工作流,以及在 Windows/WSL/MSYS2 上希望用预设环境开终端、而非每条命令包一层 bash -lc 的开发者。宿主若用 launcher 或 SSH 交互,需自行补齐 MSYS2 工具链(例如 diff);后台发送需同时安装 dsh-jobs 与 dsh-tool-jobs。若你只想用平台默认的一次性 pwsh/bash 工具面,不必装本包;若你要的是可对话的终端与 SSH 会话,它就是为此准备的宿主侧工具集。
使用场景
- Agent 需要长驻 shell,cd 与管道在多次 pty_send 之间仍然有效
- 在 Windows 上通过 shell_open 用 MSYS2 等预设打开终端并 tail 输出
- 与远程主机保持交互式 SSH,增量读取输出而非一次性远程执行
适合人员
- 为 agent 编排持久终端与 SSH 的 DSH 插件作者
- 在 MSYS2/WSL 环境下做宿主侧验证与交互调试的开发者
- 已区分平台 sandbox 与终端工具、只需 PTY 面的集成方