DSH 原生只提供本地文件系統的讀寫能力。若要操作遠程主機文件,通常需要通過 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 腳本的情況下直接管理遠端文件。