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