AI / 自動化 2026 年 5 月 6 日

OpenClaw 檔案傳輸外掛程式指南 2026:file_fetch、dir_fetch 與 Mac mini M4 跨節點安全工作流完全攻略

VpsGona 工程團隊 2026 年 5 月 6 日 約 14 分鐘

OpenClaw v2026.5.3 於 2026 年 5 月初發布,捆綁了一個全新的檔案傳輸外掛程式,讓 AI Agent 可以直接在配對的 Mac mini M4 節點之間執行二進位檔案操作,無需手動 SCP 指令或共享網路儲存。外掛程式引入四個 Agent 工具:file_fetchdir_listdir_fetchfile_write,每個工具都支援節點級路徑策略和符號連結穿越保護。本文從安裝配置到四個生產工作流模式,再到最常見錯誤排查,一一詳細說明。

OpenClaw 檔案傳輸外掛程式是什麼?

在 v2026.5.3 之前,在配對的 OpenClaw 節點之間移動檔案,要麼需要在 Agent 會話之外手動執行 SSH 指令,要麼需要每個團隊自行建置和維護自訂 MCP 伺服器整合。檔案傳輸外掛程式透過給 OpenClaw Agent 提供原生工具解決了這個問題——讀取來自配對節點的檔案,以及向配對節點寫入檔案,權限模型和稽核日誌與其他任何 OpenClaw 工具呼叫完全一致。

該外掛程式從 v2026.5.3 起隨主套件捆綁,無需單獨 npm 安裝,但需要在配置中顯式啟用——這讓團隊可以控制哪些 Agent 在哪些節點上具有檔案系統寫入權限。

底層運作原理

檔案傳輸外掛程式透過 OpenClaw 的閘道層運作。當 Agent 呼叫 file_fetch 時,閘道將請求路由到目標節點的外掛程式接收器,接收器根據節點配置的路徑策略驗證請求路徑,讀取檔案後透過閘道將二進位內容串流傳回 Agent 上下文。Agent 與目標節點檔案系統之間沒有直接網路連接——所有檔案操作都經過閘道的權限和稽核層。

這一架構有三個實際影響:

  • 檔案傳輸操作記錄在 OpenClaw 的 OTEL 遙測中,與任何其他工具呼叫具有同等詳細度——包括請求路徑、傳輸位元組數、延遲、成功/失敗狀態。
  • 路徑策略在閘道層強制執行,而非客戶端,這使它們無法透過提示注入或 Agent 幻覺繞過。
  • 二進位檔案(編譯產物、IPA 套件、模型權重、圖片)原樣傳輸——外掛程式不限於文字檔案。

安裝與配置

檔案傳輸外掛程式需要 OpenClaw v2026.5.3 或更新版本。如果版本較舊,先升級:

npx openclaw@latest update

或在活躍 Agent 會話中執行:

/update

升級後驗證外掛程式是否可用:

openclaw plugin list | grep file-transfer

應看到 file-transfer bundled v1.0.0。如果指令無回傳,說明升級未完成——執行 openclaw --version 確認是否已是 2026.5.3 以上版本。

在 openclaw.config.js 中啟用

外掛程式雖然捆綁,但預設停用。在配置檔案中加入:

// openclaw.config.js module.exports = { plugins: ['file-transfer'], pluginConfig: { 'file-transfer': { nodes: { 'hk-node-1': { allowedPaths: ['/Users/runner/builds', '/tmp/openclaw-transfer'], readOnly: false, maxFileSizeBytes: 500 * 1024 * 1024 }, 'sg-node-1': { allowedPaths: ['/Users/runner/artifacts'], readOnly: true } } } } };

allowedPaths 陣列定義了該節點上外掛程式可存取的目錄根路徑。路徑白名單之外的路徑回傳權限錯誤,不執行操作。readOnly: true 在允許 file_fetchdir_listdir_fetch 的同時,阻止該節點上的 file_write

修改配置後重新啟動 OpenClaw 使設定生效:

openclaw restart

確認外掛程式已啟動:

/plugin status file-transfer

file_fetch:從配對節點下載檔案

file_fetch 從配對節點上的指定路徑取得單個檔案,並將其內容提供給 Agent。對於文字檔案,內容被解碼後放入 Agent 上下文;對於二進位檔案,Agent 收到原始位元組,隨後可用 file_write 寫入另一個位置。

基本用法

在 Agent 提示中,用自然語言告訴 OpenClaw 要取得哪個檔案:

從 hk-node-1 的 /Users/runner/builds/myapp/build.log 取得建置日誌,彙整最後 100 行內容。

Agent 將此轉化為 file_fetch 工具呼叫,指定節點、路徑和編碼。對於二進位檔案(如已編譯的 IPA 套件),Agent 會將 sg-node-1 的 file_fetch 與 hk-node-1 的 file_write 鏈式呼叫,透明地處理二進位傳輸。

檔案大小限制與串流傳輸

10 MB 以下檔案在傳輸期間緩衝在記憶體中。10 MB 到 maxFileSizeBytes 之間的檔案以串流傳輸——Agent 收到串流控制代碼而非完整記憶體緩衝。超過 maxFileSizeBytes 的檔案以大小限制錯誤拒絕。對於大型建置產物(超過 100 MB 的 IPA、模型權重檔案),相應調整外掛程式配置中的 maxFileSizeBytes,同時注意超大傳輸會增加閘道會話延遲。

dir_list 與 dir_fetch:瀏覽和映象遠端目錄

dir_list 回傳配對節點上某個目錄的內容——檔案名稱、大小、修改時間戳記和檔案類型(檔案/目錄/符號連結)。設計上不追蹤符號連結(無論配置如何,符號連結穿越始終被阻止)。

dir_fetch 遞迴取得完整的目錄樹,並以包含檔案內容的結構化清單形式回傳。這是外掛程式中功能最強大的工具,適用於在節點之間映象建置輸出目錄等用途。

dir_list:檢查遠端建置輸出

範例:Agent 在取得產物前檢查 CI 節點上的建置是否已完成,並可依修改時間排序過濾最近 10 分鐘建立的檔案。這讓 Agent 可以做條件判斷——「如果產物存在就取得,如果不存在就等待重試」——開發者無需撰寫顯式的輪詢邏輯。

dir_fetch:映象建置產物目錄

將完整建置輸出目錄從 CI 節點同步到封存節點時,Agent 鏈式呼叫 sg-node-1 的 dir_fetch 與一系列 hk-node-1 的 file_write,用大小比對跳過未更改檔案。對於大多數檔案在執行之間沒有變化的目錄,這比樸素的 rsync 等效方案效率更高。

file_write:安全地向遠端節點推送檔案

file_write 向配對節點上的指定路徑寫入內容,支援文字和二進位內容,具備原子寫入語義——檔案先寫入目標節點的暫存路徑,再原子地移動到最終目的地,防止傳輸中斷時出現部分寫入狀態。

配置檔案分發

常見用途:同時向多個節點分發配置檔案,無需逐一 SSH 登入。OpenClaw 的多工具呼叫並行分發操作,完成時間僅相當於單次寫入,而不是多次串行 SSH 會話。

建置產物部署

Agent 可以在單個工作流程中將建置步驟與 file_write 部署串聯起來:封存 MyApp,用發行憑證簽署,然後將生成的 IPA 寫入指定節點的目標路徑。

寫入權限提醒:配置了 readOnly: true 的節點上 file_write 被停用。如果出現「寫入不允許」錯誤,檢查外掛程式配置,確認目標節點允許寫入,且目標路徑在 allowedPaths 條目之內。

路徑安全策略:防止符號連結穿越攻擊

檔案傳輸外掛程式最重要的安全特性是無條件的符號連結穿越保護。無論路徑策略如何配置,外掛程式在解析檔案路徑時絕不追蹤符號連結。嘗試存取 /allowed/path/../../etc/passwd 的 Agent 或提示收到的是路徑解析錯誤,而不是檔案內容。

安全特性 行為 可配置?
符號連結穿越阻斷路徑中所有符號連結在解析時被拒絕否——始終強制執行
路徑白名單執行allowedPaths 之外的路徑回傳權限錯誤是——透過 allowedPaths 配置
唯讀節點執行file_write 被阻止;取得操作仍允許是——透過 readOnly 旗標
檔案大小限制超過 maxFileSizeBytes 的檔案在傳輸前被拒絕是——預設 500 MB
操作稽核日誌所有檔案操作記錄在 OTEL 遙測中,含路徑、大小、延遲、結果否——始終記錄
原子寫入寫入使用暫存檔案 + 原子重新命名;中斷時無部分寫入否——始終原子

最佳實踐:最小化路徑白名單

根據每個節點的角色,將 allowedPaths 定義得盡量窄。CI 建置節點只需要存取其建置輸出目錄,而不是整個主目錄。封存節點可能需要對其產物儲存進行讀寫存取,但對其他一切內容應該是唯讀的。三節點流水線的最小配置範例與簡體中文版本相同,HK CI 設為唯讀,SG 封存和 JP 演示節點設為讀寫。

4 個在 Mac mini M4 上使用檔案傳輸外掛程式的真實工作流

工作流 1:跨節點建置產物同步

場景:您在香港節點上執行 iOS 建置(建置速度快),但 QA 團隊距離新加坡節點更近。每次建置後,自動將簽署的 IPA 複製到 SG 節點供 QA 分發。Agent 執行:建置 → 用 dir_list 找到最新 IPA → 用 file_fetch 取得 → 用 file_write 推送到 SG 節點 → 回報檔案名稱和位元組數。整個流程在無需手動 SCP 的情況下一氣呵成。

工作流 2:多節點日誌聚合分析

場景:您在香港、日本、韓國、新加坡和美國東部五個節點上並行執行測試套件。Agent 並行發出五個 file_fetch 呼叫,收到五個 JSON 負載,解析並產生彙整表——包含每個節點的通過/失敗數量和最慢測試案例。手動需要 10–15 分鐘的操作,自動化後約 90 秒完成。

工作流 3:滾動配置部署

場景:您更新了 OpenClaw Agent 系統提示,想要逐節點推送新配置,確認每個節點接受新配置後再進入下一個。這種順序條件邏輯——寫入、驗證、繼續——完全由 Agent 原生處理,無需外部編排腳本。

工作流 4:ML 模型權重分發

場景:您在開發節點上微調了本地 LLM,想把模型權重分發到三個執行 OpenClaw + Ollama 的推理節點。Ollama + OpenClaw 本地推理設定請參考Ollama 本地 LLM 指南。外掛程式的串流模式高效處理大型二進位檔案,Agent 回報的傳輸速度有助於識別是否某個節點存在網路擁塞。

常見錯誤排查

錯誤訊息 最可能的原因 解決方法
Plugin 'file-transfer' not foundOpenClaw 版本低於 2026.5.3執行 npx openclaw@latest update 並確認版本
Path not within allowed paths請求路徑在配置的 allowedPaths 之外將路徑根新增到相應節點的 allowedPaths
Write not permitted on read-only node節點配置了 readOnly: true,Agent 呼叫了 file_write如需寫入存取,改為 readOnly: false
File exceeds maxFileSizeBytes limit檔案大小超過配置限制(預設 500 MB)增大外掛程式配置中的 maxFileSizeBytes,或分割檔案
Symlink traversal detected路徑包含或經過符號連結使用實際(非符號連結)路徑;符號連結追蹤永遠不被允許
Node 'xxx' not configured in file-transfer plugin節點 ID 不在外掛程式的 nodes 配置物件中在外掛程式配置的 nodes 部分新增該節點
大檔案傳輸(> 1 GB)掛起串流傳輸完成前閘道逾時增大 openclaw.config.js 中的 gateway.streamTimeoutMs(預設 300000 ms)
/plugin status 中看不到外掛程式?編輯 openclaw.config.js 後,必須重新啟動 OpenClaw 閘道,外掛程式配置更改才能生效。僅熱重載 Agent 會話是不夠的——必須重新啟動閘道:openclaw restart,或者如果您以背景常駐程式方式執行 OpenClaw,重新啟動對應的 launchd 服務。

為什麼 Mac mini M4 節點讓檔案傳輸工作流更實用

OpenClaw 檔案傳輸外掛程式的價值在執行於 VpsGona Mac mini M4 節點上時成倍放大,原因很實際:M4 本地儲存是高速 NVMe SSD,節點之間有高頻寬上行鏈路。本地 NVMe 讀取和遠端 NVMe 寫入——而非旋轉磁碟或網路附加儲存——意味著跨節點檔案傳輸的瓶頸幾乎總是網路頻寬而非磁碟 I/O。對於上面描述的多節點工作流,這意味著產物同步和日誌聚合操作在數秒內完成,而不是數分鐘。

節點級路徑策略模型也非常適合 VpsGona 的多節點架構:您的 HK 建置節點、SG 封存節點和 US East QA 分發節點各自在流水線中扮演不同角色,應該只能存取與其職責相關的目錄。外掛程式的節點級配置自然地映射到 VpsGona 的節點角色分離部署模式。

對於已經在使用 OpenClaw 進行多 Agent 編排資料流水線自動化的團隊,檔案傳輸外掛程式填補了全 Agent 驅動 Mac mini M4 工作流的最後空缺:在節點之間移動二進位產物,無需退出 Agent 會話。當前節點可用性及開始建置多節點 OpenClaw 流水線,請造訪 VpsGona 定價頁,初始節點配置參考部署文件

在 Mac mini M4 上執行 OpenClaw 檔案傳輸工作流

在 VpsGona 開通 Mac mini M4 節點,啟用檔案傳輸外掛程式,建置完全由 OpenClaw Agent 管理的跨節點產物流水線——無需手動 SCP。