# Team Board Runner Универсальный runner для AI-агентов Team Board. Запускает агентов в Docker-контейнерах с изоляцией. ## Архитектура ``` Host (runner.py) Docker Container (agent) ┌──────────────┐ stdin/stdout ┌──────────────────────┐ │ Runner │◄──────────────────►│ Claude Agent SDK │ │ │ │ + MCP Tools │ │ - Container │ IPC files │ + Persistent │ │ manager │◄──────────────────►│ Sessions │ │ - IPC → │ │ + SQLite (internal) │ │ Tracker │ │ │ └──────────────┘ └──────────────────────┘ ``` ## Компоненты ### agent/ — код внутри контейнера - `index.ts` — Claude Agent SDK query loop с persistent sessions - `mcp.ts` — MCP tools для работы с Tracker (chat, tasks) ### runner.py — код на хосте - Запускает Docker контейнеры - Маршрутизирует IPC файлы → Tracker REST API - Будущее: WebSocket к Tracker для real-time событий ## Использование ```bash # Собрать Docker образ docker build -t team-board-agent . # Запустить интерактивную сессию CLAUDE_CODE_OAUTH_TOKEN=xxx python3 runner.py --slug coder --name "Кодер" ``` ## IPC Protocol Агент внутри контейнера общается с runner'ом через файлы: - `/workspace/ipc/input/*.json` — сообщения от runner'а к агенту - `/workspace/ipc/messages/*.json` — чат-сообщения от агента - `/workspace/ipc/tasks/*.json` — операции с задачами от агента - `/workspace/ipc/input/_close` — сигнал завершения ## Multi-model (будущее) Архитектура позволяет подключить другие модели: - Gemini (через MCP или прямой API) - ChatGPT (через API) - Локальные модели (ollama) Для этого нужно заменить Claude Agent SDK на соответствующий SDK внутри контейнера.