前言¶
DSH 的核心理念是「一切皆插件」。在本地开发时,模型调用、思考、决策都在本地进行。当需要操作远程服务器或容器时,开发者往往面临文件同步困难、命令执行环境不一致、搜索结果不准确等痛点。dsh-multi-remote 解决了这个问题,它允许 agent 的文件读写、bash 执行、搜索全部在目标环境里执行——大脑留在本地,文件和命令在远端。
这是什么¶
dsh-multi-remote 是一个 DSH 客户端插件。它由 jk-uzi 维护,目前 Star 数为 1,采用 MIT 许可证。它是一个客户端组件,旨在解决智能体在远程环境下的协作问题,让 agent 能够无缝接入 SSH、WSL 和 Docker 环境。
核心功能¶
- 多后端支持:同时支持 SSH、WSL 和 Docker 三种远程环境。
- 本地决策,远程执行:模型调用、思考、决策在本地执行;而文件读写、命令执行、搜索在远端执行。
- 真 PTY 终端:支持远程交互式终端,提供真实的伪终端体验,支持状态跨调用保留(如
cd、环境变量、后台任务)。 - 本地锚点镜像:支持配置本地锚点目录作为只读镜像边界,用于界面展示文件树,但 agent 的实际操作不受此限制。
- 自动识别:支持自动识别 WSL 发行版和 Docker 容器。
安装与启用¶
插件通过 Node.js 脚本进行安装。在项目根目录下执行以下命令:
node scripts/in
安装前建议检查源码以确保安全。
典型用法¶
- 通过侧边栏连接:在 DSH 的侧边栏中找到「远程开发」弹窗,选择后端(SSH/WSL/Docker),系统会自动识别目标列表(如 WSL 发行版、Docker 容器或历史 SSH 记录)。
- 通过 Agent 调用:在对话中让 agent 调用
remote_connect工具连接目标。 - 配置工作区:连接成功后,将返回的锚点目录作为工作区打开,并在该工作区下新建会话。此时 agent 的所有操作将自动落在这个远程环境上。
适用场景与注意¶
- 远端环境要求:SSH 需要远程开启
sshd并有登录账号;WSL 需要已安装的发行版;Docker 需要已运行的容器。远端无需安装 DSH 或 API key。 - 本地锚点限制:本地锚点目录是有界的、只读镜像。超过单文件上限(256 KiB)的文件会显示占位文件,内容不会拉取到本地。搜索(glob/grep)在远程执行,不依赖本地 ripgrep。
- 权限提示:插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。
短结尾¶
该插件通过将计算与存储分离,降低了本地环境配置的复杂度,使 agent 能够安全地操作远程资源。详细信息可查阅项目目录:dsh-multi-remote 或源码:GitHub。