Платформа, где ИИ-агенты автономно играют в Мафию, оттачивая свое мастерство, умение хитрить и навыки общения. Сайт позволяет просматривать записи сессий, изучать статистику и память игроков.
  • Python 80.9%
  • TypeScript 17%
  • CSS 1.2%
  • Dockerfile 0.4%
  • Nix 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Kirill Samoylenkov 0bd057cc0f merge(feat/pilot-e7): live LLM pilots, real api/frontend images, speech-limit and balance fixes (TASK-53…TASK-56)
- game-core: live session process (runner, python -m game_core, start-now/wakeup,
  journal recovery, connection lifecycle) (D-81)
- LLM agent on GigaChat/Kimi: greeting and voting prompts,
  KIMI_BASE_URL and GIGACHAT_VERIFY_SSL_CERTS from env
- Docker (TASK-56): real api and frontend images in compose replacing stubs,
  NextJS standalone build, healthchecks and depends_on
- pilot fixes: RULE-094/D-111 — replies over 6 sentences are truncated without
  retry (prompts ≤ 4); D-112 — don counts within the black-team limit
- content: temperaments catalog, 20 entries (D-94, D-95)
- checks: pytest 547 passed, vitest 165 passed, compose-config valid,
  4 services healthy (api 200, /api/v1 proxy 200)
2026-08-12 22:52:26 +05:00
data feat(data): temperaments catalog content — 20 entries (D-94, D-95, TASK-53) 2026-08-09 22:16:11 +05:00
docs fix(game-core): clamp all spoken replies to RULE-094 sentence limit 2026-08-10 23:04:54 +05:00
migrations test(game-core): golden session tests (TASK-31, OPEN-7 closed) 2026-08-09 16:20:47 +05:00
packages fix(domain): count don inside the black-team limit in role composition 2026-08-10 22:39:37 +05:00
scripts build(infra): docker-compose with postgres and journals volume (TASK-5) 2026-08-09 01:27:27 +05:00
services build(docker): real api and frontend images in compose (TASK-56) 2026-08-10 23:27:31 +05:00
tests feat(game-core): session lifecycle in DB (TASK-17) 2026-08-09 03:47:41 +05:00
.dockerignore feat(game-core): Dockerfile and compose wiring — TASK-56 increment (TASK-53) 2026-08-09 23:12:49 +05:00
.gitignore feat(frontend): session screen — ellipse table, layered avatars, timed speech bubbles (TASK-44, FR-041, US-V-03, D-26, D-47) 2026-08-09 19:01:41 +05:00
AGENTS.md docs: epic E6 status — game-cli implemented, E7 next 2026-08-09 21:16:36 +05:00
alembic.ini feat(db): alembic migrations for initial schema and player_memory (TASK-4) 2026-08-09 01:44:32 +05:00
conftest.py test(game-core): golden session tests (TASK-31, OPEN-7 closed) 2026-08-09 16:20:47 +05:00
docker-compose.yml build(docker): real api and frontend images in compose (TASK-56) 2026-08-10 23:27:31 +05:00
example.env docs(env): complete example.env — ADMIN_HOST, GAME_CORE_ADMIN_URL, DATA_DIR, runtime settings overrides 2026-08-09 23:25:05 +05:00
flake.lock build(nix): add flake.nix devShell with uv2nix, nodejs, gum (TASK-2) 2026-08-09 01:05:16 +05:00
flake.nix docs(plan): E7 pilot dashboard queries; jq in devShell (TASK-53) 2026-08-09 22:17:27 +05:00
LICENSE Initial commit 2026-08-03 22:27:27 +05:00
pyproject.toml feat(domain): full event catalog with typed payloads (TASK-10) 2026-08-09 03:00:29 +05:00
README.md docs: epic E6 status — game-cli implemented, E7 next 2026-08-09 21:16:36 +05:00
uv.lock feat(game-cli): settings management commands (TASK-51, FR-051, US-A-03…05, D-49, D-80) 2026-08-09 21:03:09 +05:00

Mafia Agents

Платформа, где LLM-агенты играют в «Мафию»: партии разыгрываются полностью автономно, а зрители смотрят сессии в реальном времени, пересматривают реплеи и следят за статистикой игроков и моделей. Экспериментальная цель — наблюдать, как агенты с долгосрочной памятью между сессиями развивают стратегии для победы.

Стек: Python, FastAPI, NextJS, PostgreSQL, LangChain + LangGraph (gigachat, kimi), uv workspaces, Docker.

Спецификация (AI-PDLC)

Проект разрабатывается по методологии AI-PDLC: сначала формальная спецификация, затем реализация (в т.ч. ИИ-агентами) строго по ней.

docs/spec/ — единственный источник правды: видение, требования (FR/NFR), игровые правила (RULE), архитектура (C4, state machines), контракты API, модель данных, реестр решений (D-n) и ADR. Порядок чтения и правила работы — в docs/spec/README.md.

  • docs/plan/roadmap.md — карта эпиков, граф зависимостей (критический путь E1 → E2 → E3 → E7), реестр блокеров (OPEN-n), аудит готовности к этапу Design & Contracts.
  • docs/plan/e<номер>-*.md — задачи эпика: у каждой зависимости, трассировка к FR/RULE/D-n, ссылки на контракты, границы и DoD с тестами из acceptance criteria спецификации.
  • docs/contracts/ — контракты этапа Design & Contracts: DDL миграций, сигнатуры пакетов, OpenAPI (viewer/admin), дизайн-решения. Нормативные JSON Schema событий и enum'ы — в спецификации: docs/spec/05-api/schemas/ (D-105…D-108).

Спека отвечает на вопрос «что», план — «когда и как»; конфликт задачи со спекой недопустим.

Промпты этапов

docs/prompts/ — системные промпты (CO-STAR) для lead-агентов этапов AI-PDLC:

  • create-spec.md — создание спецификации на основе черновиков с описанием.
  • planning-agent.md — декомпозиция и планирование (результат — docs/plan/);
  • design-contracts-agent.md — Design & Contracts: JSON Schema событий, сигнатуры пакетов, DDL миграций, OpenAPI-контракты (результат — docs/contracts/).
  • implementation-agent.md — Implementation: реализация задач TASK-1…57 по спецификации, плану и контрактам (TDD, итерации с коммитами владельца).

AGENTS.md

AGENTS.md в корне — обязательная инструкция для ИИ-агентов (и людей), работающих с репозиторием: источник правды, структура монорепозитория, архитектурные принципы, стиль кода, процесс изменения спецификации и соглашения о коммитах.

Структура монорепозитория

Путь Компонент Статус
packages/domain Доменное ядро: события, роли, победа, видимость (E2) реализован
packages/config Env-конфигурация, реестр настроек, JSON-логирование реализован
services/game-core Игровой движок: сессии, журнал, фазы, LLM, админ-API (E3) реализован
services/api Зрительское API, read-only (E4) реализован
services/game-cli Админская CLI на gum (E6) реализован
services/frontend Зрительский фронтенд NextJS (E5) реализован
data/ YAML-контент (имена, темпераменты, аватары) и журнал-фикстура fixtures/test-session.jsonl частично (темпераменты — от владельца)
migrations/ Миграции alembic (0001 схема, 0002 player_memory)

У каждого компонента — свой README.md с составом модулей и трассировкой к TASK-n. Статус эпиков: E1 (инфраструктура), E2 (домен), E3 (game-core), E4 (api), E5 (frontend), E6 (game-cli) — завершены; дальше E7 (LLM-оркестрация) по docs/plan/roadmap.md.