ИИ / Автоматизация 6 мая 2026

Руководство по плагину передачи файлов OpenClaw 2026: file_fetch, dir_fetch и безопасные кросс-узловые рабочие процессы на Mac mini M4

Команда инженеров VpsGona 6 мая 2026 ~14 мин чтения

Вышедший в начале мая 2026 года OpenClaw v2026.5.3 включает новый плагин передачи файлов, который позволяет ИИ-агентам напрямую выполнять операции с бинарными файлами между сопряжёнными узлами — без ручных команд SCP или общих сетевых дисков. Плагин вводит четыре инструмента агента: file_fetch, dir_list, dir_fetch и file_write. Все они оснащены политиками путей для каждого узла и защитой от обхода символических ссылок. В этом руководстве рассматриваются начальная настройка, четыре производственных шаблона рабочих процессов и устранение распространённых ошибок.

Что такое плагин передачи файлов OpenClaw?

До v2026.5.3 перемещение файлов между сопряжёнными узлами OpenClaw требовало выполнения ручных команд SSH вне сессии агента или создания каждой командой собственных интеграций MCP-сервера. Плагин передачи файлов решает эту проблему, предоставляя агенту OpenClaw нативные инструменты для чтения и записи файлов с сопряжёнными узлами. Модель разрешений и журналы аудита полностью соответствуют другим вызовам инструментов OpenClaw.

Плагин включён в основной пакет начиная с v2026.5.3 — отдельная установка npm не требуется. Однако его необходимо явно активировать в конфигурации, что позволяет командам контролировать, какие агенты имеют доступ к записи файловой системы каких узлов.

Установка и настройка

Плагин передачи файлов требует OpenClaw v2026.5.3 или выше. Если используется более ранняя версия, сначала обновитесь:

npx openclaw@latest update

Или из активной сессии агента:

/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 // 500 МБ }, 'sg-node-1': { allowedPaths: ['/Users/runner/artifacts'], readOnly: true // Только чтение, запись запрещена } } } } };

Массив allowedPaths определяет корневые пути каталогов, к которым плагин может получить доступ на этом узле. Пути вне белого списка возвращают ошибку разрешений и операция не выполняется. readOnly: true разрешает file_fetch, dir_list и dir_fetch, запрещая при этом file_write на этот узел.

После изменения конфигурации перезапустите OpenClaw для применения изменений:

openclaw restart

Убедитесь, что плагин активен:

/plugin status file-transfer

file_fetch: Получение файлов с сопряжённых узлов

file_fetch получает один файл с указанного пути сопряжённого узла и делает его содержимое доступным для агента. Для текстовых файлов декодирует содержимое и помещает его в контекст агента. Для бинарных файлов агент получает необработанные байты и может затем записать их в другое место с помощью file_write.

Базовое использование

Просто укажите агенту получить файл на естественном языке:

Получи лог сборки с /Users/runner/builds/myapp/build.log на hk-node-1 и суммируй последние 100 строк.

Агент переводит это в вызов инструмента file_fetch с указанием узла, пути и кодировки. Для бинарных файлов, таких как скомпилированный IPA-пакет, агент объединяет file_fetch на sg-node-1 с file_write на hk-node-1, прозрачно обрабатывая бинарную передачу.

Ограничения размера файлов и потоковая передача

Файлы размером менее 10 МБ буферизуются в памяти во время передачи. Файлы от 10 МБ до maxFileSizeBytes передаются потоком. Файлы, превышающие maxFileSizeBytes, отклоняются с ошибкой ограничения размера. Для IPA-файлов более 100 МБ или больших весов моделей настройте maxFileSizeBytes соответственно.

dir_list и dir_fetch: Просмотр и зеркалирование удалённых каталогов

dir_list возвращает содержимое каталога на сопряжённом узле — имена файлов, размеры, временны́е метки изменения, типы файлов (файл/каталог/символическая ссылка). По замыслу не следует символическим ссылкам (обход символических ссылок всегда блокируется независимо от конфигурации).

dir_fetch рекурсивно получает всё дерево каталогов и возвращает его в виде структурированного манифеста с содержимым файлов. Это наиболее мощный инструмент для зеркалирования каталогов вывода сборки между узлами.

dir_list: Проверка удалённого вывода сборки

Пример, где агент проверяет завершение сборки на CI-узле перед получением артефактов:

Перечисли содержимое каталога /Users/runner/builds/output/ на hk-node-1, отсортированное по времени изменения, и скажи, какие файлы были созданы за последние 10 минут.

Агент вызывает dir_list с параметрами сортировки и фильтрации. Это позволяет принимать условные решения типа «получить артефакт, если существует, иначе ждать и повторить» без написания явной логики опроса.

dir_fetch: Зеркалирование артефактов сборки

Синхронизация всего каталога вывода сборки с CI-узла на узел архивирования:

Зеркалируй каталог /Users/runner/builds/v2.3.1/ с sg-node-1 в /Users/archive/releases/v2.3.1/ на hk-node-1. Пропускай файлы, которые уже существуют в назначении с тем же размером.

Агент объединяет dir_fetch с sg-node-1 с серией file_write на hk-node-1, пропуская неизменённые файлы по сравнению размеров.

file_write: Безопасная запись файлов на удалённые узлы

file_write записывает содержимое по указанному пути сопряжённого узла. Поддерживает как текстовое, так и бинарное содержимое и обладает атомарной семантикой записи — записывает во временный путь на целевом узле, затем атомарно перемещает в финальное место назначения, предотвращая частичные состояния записи при прерывании передачи.

Распространение файлов конфигурации

Распространённый сценарий использования: одновременное распространение файла конфигурации на несколько узлов (без отдельного SSH-подключения к каждому узлу):

Запиши следующее содержимое nginx.conf в /etc/nginx/nginx.conf на hk-node-1, jp-node-1 и kr-node-1 одновременно: [содержимое]

Мульти-инструментные вызовы OpenClaw диспетчеризуют три операции file_write параллельно, завершая распространение за одну длительность записи вместо трёх последовательных SSH-сессий.

Примечание о правах записи:file_write отключён для узлов с readOnly: true. При получении ошибки «write not permitted» проверьте конфигурацию плагина: убедитесь, что целевой узел разрешает запись и целевой путь находится в записи allowedPaths.

Политики путей и безопасность: защита от обхода символических ссылок

Наиболее важная функция безопасности плагина передачи файлов — безусловная защита от обхода символических ссылок. Независимо от конфигурации политик путей плагин не следует символическим ссылкам при разрешении путей файлов. Агент или промпт, пытающийся получить доступ к /allowed/path/../../etc/passwd, получит ошибку разрешения пути, а не содержимое файла.

Функция безопасности Поведение Настраивается?
Блокировка обхода символических ссылокВсе символические ссылки в пути отклоняются при разрешенииНет — всегда применяется
Применение белого списка путейПути вне allowedPaths возвращают ошибку разрешенийДа — через allowedPaths
Применение режима «только чтение»file_write заблокирован, операции получения разрешеныДа — через флаг readOnly
Ограничение размера файлаФайлы, превышающие maxFileSizeBytes, отклоняются до передачиДа — по умолчанию 500 МБ
Журнал аудита операцийВсе файловые операции записываются в телеметрию OTELНет — всегда записывается
Атомарная записьВременный файл + атомарное переименование, без частичной записи при прерыванииНет — всегда атомарная

4 практических рабочих процесса (реальные примеры на Mac mini M4)

Рабочий процесс 1: Кросс-узловая синхронизация артефактов сборки

Сценарий: iOS-сборки выполняются на гонконгском узле (быстрые сборки), но QA-команда ближе к сингапурскому узлу. После каждой сборки нужно автоматически копировать подписанный IPA на узел SG для QA-распространения.

Промпт агента:

После завершения архива Xcode на hk-node-1, найди последний .ipa-файл в /Users/runner/builds/output/, получи его и запиши в /Users/qa-distribution/latest/ на sg-node-1. Сообщи имя файла и размер.

Агент выполняет сборку, ищет последний IPA с помощью dir_list, получает его через file_fetch, отправляет на узел SG через file_write и сообщает имя файла и количество байт — сквозной рабочий процесс без ручного SCP.

Рабочий процесс 2: Агрегация логов с нескольких узлов

Сценарий: Наборы тестов выполняются параллельно на всех 5 узлах. Нужно агрегировать все JSON-файлы с результатами тестов в единый контекст анализа без ручного SSH-подключения к каждому узлу.

Агент выдаёт 5 параллельных вызовов file_fetch, получает 5 JSON-нагрузок, агрегирует их и генерирует таблицу с количеством успешных/неудачных тестов и самым медленным тестом для каждого узла. Задача, которая вручную занимала бы 10–15 минут, завершается за ~90 секунд.

Рабочий процесс 3: Последовательное распространение конфигурации

Сценарий: Обновление системных промптов агента OpenClaw с постепенным развёртыванием, обеспечивающим, что каждый узел принимает новую конфигурацию перед переходом к следующему. Последовательная условная логика запись→проверка→продолжить нативно обрабатывается агентом без внешних скриптов оркестрации.

Рабочий процесс 4: Распространение весов ML-модели

Сценарий: Локальная LLM дообучена на узле разработки, и веса модели нужно распространить на 3 узла вывода, работающих с OpenClaw + Ollama. Режим потоковой передачи плагина эффективно обрабатывает большие бинарные файлы. Скорости передачи, сообщаемые агентом, помогают выявить перегрузку сети между узлами.

Устранение неполадок: Распространённые ошибки

Сообщение об ошибке Наиболее вероятная причина Решение
Plugin 'file-transfer' not foundВерсия OpenClaw ниже 2026.5.3Выполнить npx openclaw@latest update и проверить версию
Path not within allowed pathsЗапрашиваемый путь вне настроенных allowedPathsДобавить корень пути в allowedPaths соответствующего узла
Write not permitted on read-only nodeУзел с readOnly: true и агент вызывает file_writeИзменить на readOnly: false если нужен доступ к записи
File exceeds maxFileSizeBytes limitРазмер файла превышает настроенный лимит (по умолчанию 500 МБ)Увеличить maxFileSizeBytes в конфигурации плагина или разделить файл
Symlink traversal detectedПуть содержит символическую ссылку или разрешается через неёИспользовать реальный (не символический) путь; обход символических ссылок всегда запрещён
Node 'xxx' not configured in file-transfer pluginID узла отсутствует в объекте конфигурации nodes плагинаДобавить узел в раздел nodes конфигурации плагина
Передача большого файла (> 1 ГБ) зависаетТаймаут шлюза до завершения потоковой передачиУвеличить gateway.streamTimeoutMs в openclaw.config.js (по умолчанию 300000 мс)
Плагин не появляется в /plugin status? После редактирования openclaw.config.js необходимо перезапустить шлюз OpenClaw для применения изменений конфигурации плагина. Горячей перезагрузки сессии агента недостаточно. Выполните openclaw restart для перезапуска шлюза или перезапустите соответствующую службу launchd, если он запущен как фоновый демон.

Почему узлы Mac mini M4 делают рабочие процессы передачи файлов практичными

Ценность плагина передачи файлов OpenClaw многократно возрастает при работе на узлах Mac mini M4 VpsGona. Практическая причина: локальное хранилище M4 — это высокоскоростной NVMe-SSD, и между узлами есть высокоскоростные аплинки. Чтение с локального NVMe и запись на удалённый NVMe означают, что узкое место кросс-узловой передачи файлов — почти всегда пропускная способность сети, а не дисковый ввод-вывод, в отличие от вращающихся дисков или сетевого хранилища.

Модель политик путей для каждого узла также хорошо сочетается с многоузловой архитектурой VpsGona: узел сборки в Гонконге, узел архивирования в Сингапуре и узел QA-распространения на Восточном побережье США имеют разные роли в пайплайне, и каждый должен иметь доступ только к каталогам, относящимся к его роли.

Для команд, уже использующих OpenClaw для многоагентной оркестрации или автоматизации пайплайнов данных, плагин передачи файлов закрывает последний пробел в полностью агент-управляемых рабочих процессах Mac mini M4: перемещение бинарных артефактов между узлами без выхода из сессии агента. Текущую доступность узлов и цены смотрите на странице цен VpsGona, а для начальной настройки узла — в документации помощи.

Запустите рабочие процессы передачи файлов OpenClaw на Mac mini M4

Подготовьте узлы Mac mini M4 на VpsGona, активируйте плагин передачи файлов и создайте агент-управляемые кросс-узловые пайплайны артефактов без ручного SCP.