Универсальный runner для AI-агентов Team Board. Контейнеризованный, multi-model.
Go to file
2026-02-16 22:31:34 +01:00
agent Remove leftover NanoClaw file 2026-02-16 22:31:34 +01:00
.gitignore Initial runner: agent container + host runner + IPC 2026-02-16 22:31:30 +01:00
Dockerfile Initial runner: agent container + host runner + IPC 2026-02-16 22:31:30 +01:00
README.md Initial runner: agent container + host runner + IPC 2026-02-16 22:31:30 +01:00
requirements.txt Initial runner: agent container + host runner + IPC 2026-02-16 22:31:30 +01:00
runner.py Initial runner: agent container + host runner + IPC 2026-02-16 22:31:30 +01:00

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 событий

Использование

# Собрать 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 внутри контейнера.