surfaces/.planning/codebase/ARCHITECTURE.md

1.6 KiB
Raw Blame History

Архитектура (ARCHITECTURE.md)

Паттерн "Thin Adapter" (Тонкая поверхность)

Система разделена на три логических слоя:

  1. Транспортный слой (Adapter): Подключается к внешней платформе (Matrix). Занимается конвертацией нативных событий (room.message) во внутренние структуры (IncomingMessage).
  2. Ядро (Core): Предоставляет единый протокол (core/protocol.py), не зависящий от конкретной реализации (Matrix, Telegram и т.д.).
  3. Платформенный слой (SDK): RealPlatformClient инкапсулирует подключение по WebSocket к реальным агентам (AgentApi).

Routing & Registry

Бот может обслуживать множество агентов (multi-tenant). Маршрутизация настраивается статически через config/matrix-agents.yaml. Каждый пользователь (@user:server) привязан к конкретному agent_id, у которого есть свой HTTP URL и свой изолированный workspace_path (например, /agents/1/).

Файловый контракт

Файлы не передаются агенту в base64. Бот сохраняет вложение напрямую в локальную директорию (общий volume), и передает агенту только относительный путь (workspace_path).