OpenClaw теперь работает на Raspberry Pi 5 вместе с SignalK, позволяя владельцам судов переписываться со своим судном через Telegram и получать телеметрию в реальном времени за считанные секунды. Связка работает «из коробки», но несколько нюансов конфигурации могут остановить демон и привести к лишнему расходу токенов.

Почему LLM на базе Pi важна для моряков

Малым судам часто не хватает пропускной способности или бюджета на облачные ИИ-сервисы. Raspberry Pi 5 обеспечивает достаточную вычислительную мощность для хостинга OpenClaw — ассистента на базе LLM с открытым исходным кодом, в то время как SignalK предоставляет стандартизированный API для морских данных. Вместе они создают недорогой бортовой чат-интерфейс, который может ответить на вопросы «Какая у меня скорость?» или «Какая глубина?» прямо на борту.

Компоненты, которые заставляют это работать

  • OpenClaw работает непосредственно в ОС Pi, используя локальный стек моделей.
  • SignalK работает в Docker-контейнере, предоставляя REST (HTTP) API, который публикует показания датчиков в формате JSON.
  • Эти две программы изолированы друг от друга: OpenClaw вызывает эндпоинты SignalK, а SignalK никак не взаимодействует с внутренними процессами LLM.

Поскольку обмен данными происходит по чистому HTTP, никакие специальные сетевые хитрости не требуются. Достаточно одного соединения Ethernet или Wi-Fi, чтобы поддерживать цикл работы.

Ловушки для новичков

  1. Режим шлюза (gateway mode) должен быть определен — в конфигурации OpenClaw есть ключ gateway.mode, который указывает демону, как открывать свой API. Его удаление приведет к тому, что сервис не запустится (без уведомления об ошибке). Безопасное решение:

    openclaw config set gateway.mode local
    
  2. Конвертация единиц измерения не автоматическая — SignalK следует Международной системе единиц (SI). Скорость передается в метрах в секунду, глубина — в метрах. Если попросить LLM вывести данные в «узлах» или «футах», она просто продублирует исходные числа, что приведет к неверным ответам. Добавьте логику конвертации в промпт агента или выполняйте постобработку JSON перед отправкой пользователю.

  3. Исторические данные — это отдельный плагин — по умолчанию OpenClaw видит только последний снимок данных. Чтобы спросить о тенденциях («Усилился ли ветер за последний час?»), вам понадобится плагин истории InfluxDB для SignalK. Установите и включите его, а затем предоставьте агенту доступ к эндпоинту истории.

  4. В Raspberry Pi OS отсутствует jq — во многих руководствах предполагается, что командный обработчик JSON jq уже установлен. В образе Pi его нет. Вместо установки дополнительных пакетов позвольте OpenClaw самостоятельно парсить сырой JSON; современные LLM достаточно хорошо справляются с вложенными структурами для большинства запросов телеметрии.

  5. Не отключайте плагин Ollama — Ollama обеспечивает среду выполнения для локальных языковых моделей. Его отключение прерывает доступ к бэкенду модели, и агент не сможет генерировать ответы. Оставьте плагин включенным, даже если вы не используете его дополнительные инструменты.

Как снизить расходы на токены без потери полезности

Запуск языковой модели локально все равно влечет за собой затраты на токены каждый раз, когда модель обрабатывает запрос. Два практических решения позволили мне сократить потребление примерно на четверть:

  • Сократите набор инструментов — OpenClaw включает в себя целый пакет инструментов разработчика (выполнение кода, просмотр файлов и т. д.). Бортовым ассистентам редко что-то нужно, кроме доступа к среде выполнения и файловой системе. Переход на минимальный профиль убирает лишний расход токенов.

  • Увеличьте время хранения кэша — конфигурация позволяет дольше держать системный промпт и недавний контекст в памяти. Более длинный кэш означает, что модели не нужно заново кодировать одни и те же инструкции при каждом сообщении в Telegram, что экономит токены при каждом цикле взаимодействия.

Для владельцев, предпочитающих спокойный мониторинг, встроенная функция cron может опрашивать критически важные датчики (напряжение аккумулятора, сигнализация о глубине) по расписанию. Агент отправит уведомление в Telegram только при достижении порогового значения, не засоряя чат.

Кто в выигрыше, а кому стоит быть начеку

  • Владельцы судов получают дешевый бортовой интерфейс для общения. Никакой абонентской платы, никакой зависимости от сотовой связи.
  • Поддерживающие open-source проекты получают пример реального развертывания, который нагружает и OpenClaw, и SignalK в ограниченной среде, выявляя ошибки, которые иначе остались бы скрытыми.
  • Провайдеры облачных LLM теряют нишевый сегмент рынка, но они по-прежнему имеют преимущество в сложных рассуждениях или мультимодальных входных данных, с которыми Pi не справится.

Главный риск — надежность: скачок напряжения или сбой Docker могут «заставить замолчать» ассистента. Резервирование (вторая Pi, ИБП) смягчает проблему, но увеличивает стоимость. Пользователям также следует оберегать токен Telegram-бота; скомпрометированный токен позволит любому опрашивать датчики судна.

За чем следить дальше

  • Обновления моделей — по мере появления новых, более эффективных квантованных моделей, они будут работать быстрее на ARM-ядрах Pi, еще больше снижая задержку.
  • Расширения SignalK — плагины для AIS, радара или прогнозов погоды, созданные сообществом, могут быть предоставлены в распоряжение LLM, что расширит возможности диалога.
  • Усиление безопасности — уже ведутся эксперименты по внедрению сквозного шифрования для SignalK-OpenClaw API, что является разумным шагом для любого судна, выходящего в открытые воды.

Итог

Развертывание OpenClaw на Raspberry Pi 5 с SignalK превращает скромное судно в платформу с поддержкой чата, но успех зависит от сохранения режима шлюза, обработки преобразования единиц измерения, включения хранения истории и поддержания работоспособности плагина Ollama. Ограничьте набор инструментов и увеличьте время хранения кэша, чтобы минимизировать расход токенов, а также используйте cron-оповещения, чтобы система оставалась безмолвной, пока не возникнет что-то важное. В итоге вы получаете недорогого телеметрического помощника, работающего в реальном времени полностью на борту, что дает морякам удобство чат-бота без необходимости платить за облачные сервисы.