DHS 原生只提供本地文件系统的读写能力。若要操作远程主机文件,通常需要通过 PowerShell 调用 bash 再执行 ssh 命令,流程繁琐且容易出错。dsh-remote-file-system 插件为模型提供了三条可直接调用的远程文件操作工具,将 SSH 交互封装在内部,让智能体可以直接读写远端文件。
插件定位¶
这是 dsh 的远程文件系统插件,由 better-er 维护。它通过 SSH 协议在远程主机上提供 read_remote、write_remote 和 edit_remote 三种工具,属于联网工具类别。
核心功能¶
- read_remote:读取远端 UTF-8 文本,支持行号分页(offset、limit、totalLines)。
- write_remote:在远端新建文件,目标文件已存在时会直接拒绝,绝无覆写分支。
- edit_remote:对远端文件进行字面替换,要求唯一匹配,未命中会报错;支持
replace_all选项。
典型用法¶
file_path 字段需使用「别名:路径」格式。别名来源于 ~/.ssh/config。
wsl:~/x.mdmyserver:/etc/hosts
路径验证逻辑为:只接受绝对路径或以 ~/ 开头的路径,裸相对路径会被直接拒绝。
安装与启用¶
使用官方安装命令即可完成挂载,重启 DSH web 后生效。
dsh plugin --profile web add github:better-er/dsh-remote-file-system
若需卸载:
dsh plugin --profile web remove dsh-remote-file-system
实现与限制¶
后端实现 RemoteFileSystem 时,刻意不继承 @deepseek-ai/dsh-fs 的 FileSystem 与 Service,避免因「继承即注册」污染会话的 ctx.fs。文件内容通过 base64 编码后经 SSH 传输。
该插件遵循 MIT 许可证。通过这套工具,模型可以在不编写复杂 SSH 脚本的情况下直接管理远端文件。