golang

OpenClaw переписали на Go и уместили в один бинарник на 35 МБ. Зачем и что это даёт

  • среда, 8 апреля 2026 г. в 00:00:11
https://habr.com/ru/articles/1020514/

OpenClaw — Node.js. Это значит: установи Node, установи npm, склонируй репо, npm install, подожди пока 800 МБ node_modules скачается, настрой конфиг, запусти. Если что-то сломалось — разбирайся с версиями Node, конфликтами зависимостей, нативными модулями.

Кто-то посмотрел на это и решил переписать всё на Go. Результат — GoClaw: один бинарный файл на 35 МБ, который скачал, дал права на запуск и работаешь. Никаких зависимостей, никакого рантайма, никаких node_modules.

Разбираю, что внутри и имеет ли это смысл.

Что такое GoClaw

GoClaw — это реимплементация OpenClaw на языке Go. Не форк, не обёртка — переписано с нуля. Мультиагентный AI-шлюз, который подключается к мессенджерам (Telegram, Discord и другим) и предоставляет доступ к LLM-моделям.

Ключевые характеристики:

  • Один бинарник, ~35 МБ. Скачал — запустил

  • 11+ LLM-провайдеров (OpenAI, Anthropic, Google, DeepSeek и другие)

  • 5 каналов связи (Telegram, Discord и ещё три)

  • Мультиагентная система с командами, делегированием и оркестрацией

  • Канбан-доска для управления задачами агентов

  • Работает локально

Зачем переписывать на Go

Это не просто «сменили язык ради хайпа». У Go есть конкретные преимущества для такого типа приложений:

Один бинарник. Go компилируется в один статически линкованный файл. Нет рантайма, нет зависимостей, нет виртуальной машины. Для инструмента, который нужно быстро развернуть на VPS или даже на Raspberry Pi — это огромный плюс. Скачал бинарник, chmod +x, запустил. Всё.

Сравните с OpenClaw на Node.js: Node.js рантайм (~70 МБ), npm install (~500-800 МБ node_modules), возможные конфликты нативных модулей, разные версии Node на разных системах. Для одного-двух проектов — терпимо. Для быстрого деплоя на минимальном железе — боль.

Потребление памяти. Go-приложение с аналогичной функциональностью потребляет в 3-5 раз меньше RAM, чем Node.js. Для AI-шлюза, который висит в фоне 24/7 и ждёт сообщений из мессенджеров, это существенно — особенно на дешёвых VPS с 512 МБ-1 ГБ памяти.

Конкурентность из коробки. Горутины в Go — это не костыль, а базовый примитив языка. Мультиагентная система, где несколько агентов работают параллельно, делегируют задачи друг другу и оркестрируют результаты — идеальный use case для горутин и каналов.

В Node.js асинхронность — через event loop и промисы. Работает, но когда нужно параллельно обрабатывать десятки агентных цепочек, каждая из которых ждёт ответа от API — Go справляется элегантнее.

Простота деплоя. Docker-образ Go-приложения — это scratch/alpine + бинарник. Итого: 40-50 МБ. Docker-образ Node.js приложения — node:slim + node_modules + код. Итого: 300-500 МБ. На слабом канале или при частых обновлениях разница ощутима.

Мультиагентная архитектура

Интересная часть GoClaw — система команд агентов. Вместо одного агента, который делает всё последовательно, здесь несколько специализированных агентов работают параллельно:

  • Архитектор — проектирует структуру решения

  • Кодер — пишет код

  • Тестировщик — ищет баги

  • Ревьюер — проверяет качество

Задачи распределяются через канбан-доску. Вы ставите задачу верхнеуровнево — «добавь авторизацию через OAuth» — и система сама декомпозирует её, распределяет между агентами и собирает результат.

На практике качество такой оркестрации зависит целиком от модели. Если под капотом Claude Opus или GPT-4o — декомпозиция будет разумной. Если модель послабее — агенты начнут путаться, дублировать работу друг друга и зацикливаться. Это ограничение не GoClaw, а любой мультиагентной системы в 2026 году.

Стоит ли переходить с OpenClaw

Честный ответ: зависит от ситуации.

GoClaw лучше, если:

  • У вас слабый VPS (1 ГБ RAM, медленный диск)

  • Вам важна простота деплоя — один файл, никаких зависимостей

  • Вы не пользуетесь экосистемой плагинов OpenClaw (ClawHub Skills)

  • Вам нужна стабильная работа в фоне 24/7

OpenClaw лучше, если:

  • Вы уже вложились в экосистему Skills и плагинов

  • Вам нужна максимальная гибкость и кастомизация

  • У вас нормальный сервер с достаточными ресурсами

  • Вам важно активное сообщество (180K+ звёзд vs молодой проект)

Проблемы

Молодой проект. Мало звёзд, мало пользователей, мало тестирования в продакшене. В OpenClaw баги находят и фиксят тысячи людей. Здесь — пока единицы.

Экосистема. OpenClaw — это не только агент, это экосистема. ClawHub с тысячами skills, MCP-серверы, интеграции с IDE. У GoClaw ничего этого нет.

Совместимость. Skills из OpenClaw нельзя просто перенести — это другая платформа с другим форматом.

Go vs Node.js для AI-агентов: общий вывод

GoClaw — хорошая демонстрация того, почему Go набирает популярность в инфраструктурных инструментах. Один бинарник, минимальное потребление ресурсов, нативная конкурентность — для long-running сервиса, который висит в фоне и обрабатывает запросы, это правильный выбор.

Node.js выигрывает в экосистеме и скорости прототипирования. npm-пакетов больше, разработчиков JavaScript больше, итерация быстрее.

Для AI-агента, который нужно один раз настроить и забыть — Go. Для агента, который активно развивается и обрастает плагинами — Node.js.

Репозиторий: github.com/nextlevelbuilder/goclaw


Что думаете про тренд переписывания Node.js-инструментов на Go/Rust? Оправдано или карго-культ? У кого есть опыт деплоя AI-агентов на минимальном железе?