Коротко
- В кейсе автора почта, OCR и TTS обрабатываются локальными программами.
- Модель остаётся для разбора смысла, намерений и решений.
- В OpenClaw локальный каталог можно оформить как skill, а повторяющийся запуск закрепить в cron.
Сверено с документацией OpenClaw 2026.10.6, 24 октября 2026.
Кейс пользователя показывает, как рутинные операции перенести с LLM на локальные программы. В OpenClaw локальный навык можно запускать через skills CLI, а фоновые задачи — через automations.
Чей кейс и что получилось
Пользователь /u/Fl1xyBaby управляет через OpenClaw Telegram-ботом списками дел и встречами. Его сервер работает на 12-летнем офисном ПК с процессором Intel Core i5-4460S. Раньше рутинные операции выполнялись через дорогие вызовы LLM.
Для почты пользователь запускает локальный Python-скрипт с опросом IMAP. Скрипт отсекает спам, удаляет HTML-метаданные и передаёт модели очищенный текст только при необходимости действия.
Для OCR пользователь использует локальный Tesseract. На процессоре 12-летнего ПК он извлекает текст примерно за 3 секунды, после чего модель получает готовый результат вместо изображения или PDF.
Для синтеза речи пользователь выбрал локальный Piper TTS на ONNX. Озвучка занимает от трети до половины длительности сообщения, а немецкие голоса звучат для автора естественнее, чем озвучка OpenAI.
Отдельная логика Todoist дополняет обычные задачи списком неожиданных достижений. Пользователь называет это «TaDa-List» и описывает как способ не терять хаотичные результаты дня.
Пользователь сначала поручал LLM проверки и обработку, которые давно решаются обычным кодом. Нулевой расход токенов получался на локальных этапах, но не на свободном разборе текста и решениях.
Как это собрать на OpenClaw
Локальный навык устанавливается в рабочую область OpenClaw. Для готовых навыков доступны поиск, установка и проверка через openclaw skills.
openclaw skills search "calendar"
openclaw skills install ./path/to/skill --as custom-name
openclaw skills check --agent <id>
openclaw skills info <name> --agent <id>
У локального каталога или Git-репозитория в корне должен находиться SKILL.md. При копировании каталога OpenClaw сначала проверяет, что frontmatter с описанием загружается в пределах skills.limits.maxSkillFileBytes.
Для собственной доработки не меняйте копию в репозитории. Положите override в ~/.openclaw/skills/<name>/SKILL.md или добавьте каталог через skills.load.extraDirs в ~/.openclaw/openclaw.json.
Cron запускает готовый shell-скрипт через параметр --command. В примере задание запускает scripts/check-queue.sh и отправляет результат в Telegram.
openclaw automations create "*/15 * * * *" \
--name "Queue depth check" \
--command "scripts/check-queue.sh" \
--command-cwd "/srv/app" \
--announce \
--channel telegram \
--to "-1001234567890"
Доставку результата можно отключить через --no-deliver или delivery.mode: "none". При доставке без announce агент может отправить сообщение напрямую через инструмент message, если доступен маршрут чата.
Разбор очищенного текста оставьте отдельной задачей cron с промптом. Для изолированных заданий можно задать собственную модель через --model.
openclaw automations create "0 7 * * *" \
"Summarize overnight updates." \
--name "Morning brief" \
--tz "America/Los_Angeles" \
--session isolated \
--announce \
--channel slack \
--to "channel:C1234567890"
Проверяйте готовность навыка и cron по отдельности. openclaw skills check разделяет наличие, готовность и видимость, а история автоматизации показывает ошибки выполнения и доставки.
openclaw automations runs <jobId> --limit 50
openclaw automations run <jobId> --wait --wait-timeout 10m --poll-interval 2s
Что отдавать модели
- Передавайте модели только очищенный текст, JSON или короткую сводку локального CLI.
- Вызывайте LLM для определения намерения, приоритета, ответа или следующего действия.
- Отделяйте фоновый опрос от работы агента: простой запуск не должен создавать запрос к модели.
- Используйте разные модели для cron, агентов и отдельных сессий, если задачи требуют разного уровня разбора.
Когда это не подойдёт
Cron работает внутри Gateway, поэтому процесс Gateway должен работать непрерывно. Проверьте cron.enabled, переменную OPENCLAW_SKIP_CRON и часовой пояс задания.
Навык с отсутствующими требованиями может быть в inventory, но останется невидимым агенту.
Не смешивайте локальную обработку и решение, требующее модели, в одном вызове инструмента. Сначала скрипт готовит данные, затем модель получает только необходимое.