logo

Я использую rclone для работы с Яндекс.Диском уже давно: двусторонняя синхронизация скриптов, бэкап конфигов роутера и т.д. Команды простые, но иногда хочется их отдать отдать ИИ-агенту. Поэтому я сделал скилл для Hermes, который умеет управлять файлами на Яндекс.Диске через rclone.

Что умеет скилл Link to heading

Скилл yandex-disk-rclone — это инструкция для ИИ-агента с набором команд. Теперь вместо того чтобы руками или скриптом что-то делать, я просто прошу по-русски агента: «залей это на яндекс диск» или «что лежит в папке X в облаке».

Основные операции:

  • Просмотр: список директорий (rclone lsd), файлов с размером (rclone ls), имена файлов (rclone lsf), с датами (rclone lsl)
  • Загрузка и скачивание: rclone copy в обе стороны, rclone move с удалением исходника
  • Синхронизация: односторонняя rclone sync (с предупреждением о удалении лишних файлов) и двусторонняя rclone bisync — как в моём скрипте syncscript2yandexdisk.sh
  • Удаление: rclone delete, rclone purge, rclone rmdir
  • Служебное: создание папок, подсчёт размера, проверка целостности (rclone check)

Правила безопасности Link to heading

Самое важное в скилле — не навредить. Поэтому там прописаны жёсткие правила:

  • Подтверждение перед опасными операциямиdelete, purge, sync, move агент выполняет только после явного одобрения
  • --dry-run для синхронизации — сначала показать, что будет удалено/изменено, и только потом делать
  • Не выводить токен — в конфиге rclone хранится OAuth-токен, скилл запрещает его печатать
  • Учтены конвенции машиныyandex:/scripts синхронизируется с ~/Documents/scripts, такие папки случайно перезаписывать нельзя

Особенности Яндекс.Диска Link to heading

У API Яндекс.Диска есть свои причуды, и скилл их учитывает:

  • Rate limit — примерно 90 запросов в минуту. Для массовых операций добавляется --tpslimit 10 --tpslimit-burst 20
  • --fast-list не поддерживается — при попытке использовать выдаст ошибку
  • rclone about yandex: может не работать — API не отдаёт квоту надёжно
  • purge удаляет безвозвратно — Яндекс держит файлы в своей корзине на стороне веб-интерфейса, но через rclone восстановить их нельзя

Пример работы Link to heading

Выглядит это так. Я пишу агенту:

Залей папку reports на яндекс диск

Агент по скиллу выполняет:

# 1. Смотрит, что уже есть в облаке
rclone lsd yandex:

# 2. Показывает, что будет загружено (dry run)
rclone copy ~/reports/ yandex:/reports/ --dry-run

# 3. Загружает
rclone copy ~/reports/ yandex:/reports/ --progress

# 4. Проверяет результат
rclone lsf yandex:/reports/ --files-only | head

Пример скилла Link to heading

Скилл — это обычный Markdown-файл с YAML-шапкой, который лежит в ~/.hermes/skills/<категория>/<имя>/SKILL.md. Агент читает его перед выполнением задачи.

Скачать готовый файл

Зачем это нужно Link to heading

У меня уже есть пост про настройку rclone для Яндекс.Диска, где разобраны команды вручную. Но когда работаешь с облаком часто, хочется иногда послать агента делать это.

Если тоже пользуетесь Hermes или другим ИИ-агентом рекомендую оформлять повторяющиеся операции с облаком в скиллы. Это как шпаргалка, которую агент читает перед каждым действием.