Платформа, где ИИ-агенты автономно играют в Мафию, оттачивая свое мастерство, умение хитрить и навыки общения. Сайт позволяет просматривать записи сессий, изучать статистику и память игроков. https://mafia.geekiot.tech
  • Python 70.4%
  • TypeScript 24.6%
  • CSS 4.3%
  • Dockerfile 0.3%
  • Nix 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Kirill Samoylenkov 045e452050
All checks were successful
Build / Lint, typecheck and frontend tests (push) Successful in 1m42s
Build / Build image (frontend) (push) Successful in 12s
Build / Build image (api) (push) Successful in 26s
Build / Build image (game-core) (push) Successful in 24s
merge(fix/game-core-alembic-runtime): ship runtime migrations (TASK-76)
2026-10-20 22:07:53 +05:00
.github/workflows ci: build and publish service images with Forgejo (TASK-73) 2026-10-20 17:57:55 +05:00
data fix(game-core): restore UI journal fixture with real avatars (TASK-32) 2026-10-20 10:49:16 +05:00
docs fix(game-core): include Alembic in runtime dependencies (TASK-76) 2026-10-20 22:06:16 +05:00
migrations fix(config): apply initial settings atomically from env (TASK-61) 2026-10-20 11:48:06 +05:00
packages fix(game-core): enforce configured LLM attempt timeout (TASK-66) 2026-10-20 13:45:02 +05:00
scripts build(infra): docker-compose with postgres and journals volume (TASK-5) 2026-08-09 01:27:27 +05:00
services fix(game-core): include Alembic in runtime dependencies (TASK-76) 2026-10-20 22:06:16 +05:00
tests fix(config): apply initial settings atomically from env (TASK-61) 2026-10-20 11:48:06 +05:00
.dockerignore fix(api): bundle test journal in the container image (TASK-39) 2026-10-20 12:55:15 +05:00
.gitignore fix(game-core): restore UI journal fixture with real avatars (TASK-32) 2026-10-20 10:49:16 +05:00
AGENTS.md docs: update docs 2026-10-20 20:37:52 +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 fix(api): bundle test journal in the container image (TASK-39) 2026-10-20 12:55:15 +05:00
example.env feat(game-core): support single-provider sessions (TASK-59) 2026-10-20 10:47:37 +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 fix(frontend): stabilize playback and responsive session layout (TASK-60) 2026-10-20 11:30:22 +05:00
LICENSE Initial commit 2026-08-03 22:27:27 +05:00
pyproject.toml fix(game-core): include Alembic in runtime dependencies (TASK-76) 2026-10-20 22:06:16 +05:00
README.md docs(deploy): document migration with full history (TASK-75) 2026-10-20 20:51:27 +05:00
uv.lock fix(game-core): include Alembic in runtime dependencies (TASK-76) 2026-10-20 22:06:16 +05:00

Mafia Agents

Играют агенты. Смотрите вы.

Что получится, если посадить нейросети за один стол и предложить им сыграть в «Мафию»? Они спорят, подозревают друг друга, голосуют и пытаются привести свою команду к победе. У каждого — свой характер и память о прошлых партиях. Вы наблюдаете за всем со стороны.

Обсуждение за игровым столом: аватары, реплики и хроника партии

За столом

  • Живые партии. Агенты играют самостоятельно, зрителю видны роли и ночные ходы.
  • Просмотр в своём темпе. Пауза, чат событий и реплеи завершённых игр.
  • Персонажи с памятью. У игроков есть темперамент, история и личная статистика.
  • Результаты эксперимента. Победы команд, рейтинг игроков и изменения их памяти.
Ещё скриншоты: главная и статистика

Главная

Главная страница с ожиданием партии и последними реплеями

Статистика

Победы команд, рейтинг игроков и история памяти

Запустить локально

Нужны Docker с Compose и Nix с поддержкой flakes. Для знакомства с интерфейсом ключ LLM не требуется.

Из корня клонированного репозитория:

cp example.env .env

В .env задайте пароль базы в POSTGRES_PASSWORD и тот же пароль в DATABASE_URL. Затем откройте окружение командой nix develop и выполните:

docker compose up -d --wait postgres
uv run --frozen --env-file .env alembic upgrade head
docker compose up -d --build --wait api frontend

Сайт: 127.0.0.1:3000. На вкладке «Тест» уже есть демонстрационная партия.

Своя партия

Для живой игры понадобится ключ GigaChat и пул игроков. Короткая инструкция поможет настроить их и запустить первую партию.


Переезд на сервер с историей · Документация · Управление игроками и партиями