ADR-0002: OpenClaw As Telegram Gateway
Status
Accepted (2026-04-14)
Context
OpenClaw уже работает на openclaw-synth (178.156.217.128):
- 8 специализированных агентов (main, synergy, production, sales, government, farm, offers, viki)
- Telegram бот @maxnovaocbot
- Модель: claude-sonnet-4-6
- Web panel: gateway.synth-nova.com
Новая мультиагентная система (synth-brain) строится с нуля с другой архитектурой (очередь задач, иерархия агентов, Policy Engine).
Вопрос: интегрировать мультиагентную логику в OpenClaw или строить отдельно?
Decision
OpenClaw становится gateway layer (Telegram ↔ система). Бизнес-логика оркестрации и агенты — в новый сервис synth-brain на synth-nova-prod.
Существующие 8 агентов мигрируют в Phase 2 как specialized executors.
Alternatives Considered
Option A: Build Everything in OpenClaw
- Pros: единая кодовая база, один сервер, не нужен API contract
- Cons: OpenClaw не спроектирован для multi-agent orchestration (нет очереди, нет Policy Engine, нет иерархии), переписывание core = risk сломать рабочий продукт, тяжело тестировать
Option B: Completely Separate, Ignore OpenClaw
- Pros: чистый старт, нет legacy constraints
- Cons: дублирование Telegram integration (уже работает в OpenClaw), двойные затраты на maintenance, разрозненный UX (два бота?)
Option C: OpenClaw = Gateway, synth-brain = Brain ← chosen
- Pros: разделение concerns (gateway vs logic), существующий продукт не ломается, ясный migration path, каждый сервис делает одно
- Cons: нужен API contract между сервисами, два repo + deploy pipeline, latency +50ms на cross-service call
- Why chosen: минимальный risk для existing users, чистая кодовая база для нового, постепенная миграция без big-bang rewrite
Consequences
Positive
- OpenClaw продолжает работать для existing users без изменений
- synth-brain — чистая кодовая база без legacy
- Постепенная миграция агентов без downtime
- Separation of concerns: OpenClaw знает про Telegram, synth-brain знает про бизнес-логику
Negative / Trade-offs
- Два сервиса для поддержки (разные серверы: openclaw-synth vs synth-nova-prod)
- API contract нужно определить и поддерживать
- Latency +50ms на inter-service call (acceptable для async tasks)
Mitigations
- OpenAPI spec как contract → автогенерация клиентов
- Shared auth: JWT или shared secret
- Common library для Telegram utils если дублирование станет проблемой
- Monitoring: track inter-service latency
Follow-ups
- Определить API contract: OpenClaw → synth-brain (message in, reply out)
- Auth mechanism: shared secret (MVP) → JWT (Phase 2)
- Rate limiting на OpenClaw side (protect synth-brain)
- Migration plan: 8 agents → synth-brain executors (Phase 2)
- Fallback: если synth-brain down → OpenClaw отвечает “система обновляется”
References
- System-Overview — общая архитектура
- Product-OpenClaw — описание продукта
- Phase-2 — migration plan