dsh-remote-file-system:提供模型可見的 SSH 遠程文件操作工具

DSH 原生只提供本地文件系統的讀寫能力。若要操作遠程主機文件,通常需要通過 PowerShell 調用 bash 再執行 ssh 命令,流程繁瑣且容易出錯。dsh-remote-file-system 插件爲模型提供了三條可直接調用的遠程文件操作工具,將 SSH 交互封裝在內部,讓智能體可以直接讀寫遠端文件。

插件定位

這是 dsh 的遠程文件系統插件,由 better-er 維護。它通過 SSH 協議在遠程主機上提供 read_remote、write_remote 和 edit_remote 三種工具,屬於聯網工具類別。

核心功能

  1. read_remote:讀取遠端 UTF-8 文本,支持行號分頁(offset、limit、totalLines)。
  2. write_remote:在遠端新建文件,目標文件已存在時會直接拒絕,絕無覆寫分支。
  3. edit_remote:對遠端文件進行字面替換,要求唯一匹配,未命中會報錯;支持 replace_all 選項。

典型用法

file_path 字段需使用「別名:路徑」格式。別名來源於 ~/.ssh/config。

  • wsl:~/x.md
  • myserver:/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 腳本的情況下直接管理遠端文件。

插件目錄 | GitHub 源碼

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜