前言¶
在 DeepSeek Harness (DSH) 中,让 Agent 完成“部署到服务器”通常涉及猜路径或沙箱无法执行的外部命令。事实(主机、路径、运行时)属于设置,而非提示词。这个插件将这些事实集中管理,提供设置页面和 Agent 工具。
是什么¶
dsh-ssh-workspace-manager 是一个 DSH 插件,用于管理 SSH 主机、工作区绑定,以及远程执行、同步和 compose 管理。由 telagod 维护。它将 SSH 远程功能引入设置页面,供人类配置,并供 Agent 使用工具。
核心功能¶
该插件提供了一套完整的 SSH 管理能力,分为设置界面与 Agent 工具两类:
-
设置页面
- SSH 远程:在 Settings 中提供 SSH 远程页面。
- 主机管理:添加、测试连接、检查系统信息(OS、内核、容器运行时)。
- 绑定管理:记录工作区部署目标,支持解绑操作。
-
Agent 工具
ssh_status:列出主机、绑定以及当前工作区的绑定信息。ssh_bind:记录当前工作区的部署目标(主机、远程路径、角色、运行时、Compose 文件等)。ssh_unbind:通过 ID 移除绑定。ssh_exec:在绑定的远程目录中运行命令。ssh_sync:将本地工作区推送到远程目录。ssh_compose:管理远程目录中的容器(支持 ps、logs、up、down)。ssh_inspect:探测操作系统、内核、容器运行时。
安装与启用¶
安装该插件需满足 Node.js 版本 >= 22。
dsh plugin --profile web add github:telagod/dsh-ssh-workspace-manager
安装后需重启 Web 配置文件。
重要:不要手动插入插件。dsh plugin 拥有 dsh.profile.bundles,手动插入会导致“重复 loader entry id”错误。
典型用法¶
- 配置阶段:人类在设置 → SSH 远程中添加主机,测试连接,调整默认值。
- 绑定阶段:Agent 使用工具
ssh_bind将当前工作区绑定到服务器。 - 部署阶段:Agent 使用
ssh_sync将本地工作区推送到远程目录。
注意事项¶
- 作用域:绑定是工作区范围的,结构为
(workspace → host → remote directory)。 - 数值限制:保存时超出范围的数值(如 timeout)会被限制。
- 依赖:需要 Node.js 版本 >= 22。
结尾¶
该插件通过将 SSH 管理标准化,解决了 Agent 在远程部署时的上下文缺失问题。更多信息请参考 插件目录 或 GitHub 仓库。