mitos
Mitos
🔧 Ранний выпуск — проект активно развивается
Когда вы месяцами создаёте программное обеспечение с помощью ИИ-ассистентов, обоснование ваших решений теряется. Ассистент забывает, почему вы выбрали тот или иной подход, снова предлагает варианты, которые вы уже отвергли, а ваши проектные заметки расходятся с тем, что в итоге действительно решено. Mitos — это слой памяти для таких решений: он фиксирует каждое решение, альтернативы, которые вы отбросили, и то, как более поздние решения заменяют ранние, а затем отдаёт эту историю вашему ИИ-ассистенту в компактном и надёжном виде.
Итог: ваш ИИ-сотрудник остаётся верен решениям, которые вы действительно приняли — он перестаёт противоречить прошлым решениям и вновь открывать уже закрытые вопросы, а ваш записи решений никогда незаметно не текут.
Устройство: markdown для людей (decisions.md — это источник истины, который всегда можно прочитать и прогнать через grep), типизированный граф для агентов (SQLite + локальный Qdrant для смыслового поиска) и MCP‑сервер, чтобы агенты проверяли прецеденты до принятия решения и фиксировали решения по мере их появления.
Доступен на PyPI и в MCP Registry.
Самый быстрый способ установки: поручите агенту
Если вы работаете с ИИ-кодингом (Claude Code, Cursor, Gemini CLI, …), проще всего доверить процесс. При этом в проекте, в котором вы хотите использовать mitos, выдайте агенту:
Read https://github.com/dovahkiin-v/mitos/blob/main/SETUP.md and set up mitos
for this project. When done, run `mitos status .` from the project directory
and report the result.Что в итоге сделает ваш агент — те же шаги, которые вручную проходит человек, и все они описаны в SETUP.md, где вы можете прочитать их заранее:
установите CLI
mitosчерез pipx (из PyPI или этого репозитория);запустит локальный контейнер Qdrant (
qdrant/qdrantна порту7333, изолированный от любого другого Qdrant, который вы уже используете);зарегистрируете MСP-сервер один раз для всей машины, если он ещё не зарегистрирован;
инициализирует рабочую область проекта, что также регистрирует проект по имени;
попросит вас самостоятельно задать API‑ключи (
mitos set-key) — ключ Gemini (обязательно) и ключ Anthropic для уровня аутита конфликтов (настоятельно рекомендуется); по той установки требует, чтобы агенты не имели дело с самими значениями ключей.
То, сколько ваш агент будет уточнять по ходу, определяете настройки вашего агента, а не этот текст.
Related MCP server: mcp-adr
Установка вручную
Те же шаги вручную — подробно в SETUP.md:
Установка (один раз на машину):
pipx install mitos-adrЗапуск Qdrant (один раз на машину, общая для всех проектов):
docker compose up -dиз этого репозитория — mitos поднимает свой собственный инстанс на:7333, поэтому не затрагивает Qdrant, который вы используете для других задач.Регистрация MCP‑сервера (один раз на машину; рекомендуется для агентов):
claude mcp add --scope user mitos -- mitos serve. Одна регистрация обслуживает все проекты — см. SETUP.md, чем это оборачивается, как подключать другие агентские среды и почему лишняя запись.mcp.jsonв проекте должна быть удалена.Для каждого проекта:
mitos initиз корня проекта, затемmitos set-key --global <your-Gemini-key>(одного ключа достаточно для всего; получить его можно на https://aistudio.google.com/app/apikey). Сейчас Gemini — проверенный провайдер эмбеддингов; абстракция для нескольких провайдеров уже в планах.Проверка:
mitos status .→READY ✓.
mitos status . — это компас на всём протяжении: он точно показывает, что уже сделано, чего не хватает и что делать дальше для данного проекта. Если проект не указан, mitos status отвечает на другой вопрос — что есть на этой машине, — перечисляя все зарегистрированные проекты и проверяя Qdrant.
Каждая команда называет свой проект. Цели по умолчанию нет: mitos init регистрирует проект по имени, и дальше каждый глагол принимает -p <name>, -p <absolute path> или -p . из корня проекта (агенты передают то же самое в качестве аргумента project). mitos projects показывает список зарегистрированного. Именно поэтому одна установка и один MCP‑сервер обслуживают все проекты на машине, и ни один вызов не попадает не в тот корпус.
Как это работает
Mitos — строго по проектам: у каждого проекта свой граф решенный такая и своя коллекая Qdrant. Изо дня в день триглагола поддеrживают этотцикл (как, как MCP-инструменты для агентов и с текими же CLI-двойники):
Глаgot | Когда |
| Перед пришениеем — есть ли прецедент? Ккаждый резлут какоромеta несебе отброженные альтернативы и призанну. |
| момент, когда что-то решилось — само решене, отброшенные пути и то, как оно связано с более раннии решами (заменяет, дополняет, …). |
| Поиск нужной записи — по смыслу или по точному идентификатору. |
Стоит знать ещё несколько свойств:
Мarkdown — источник истий. Каждое решение попадает в
decisions.md— читаемый человеком и доступный для grep; граф решений и поисковой индекс производятся из него и могут быть пересборены в любое функцию (mitos rebuild).Решения никогда не редактируются и не удаляются — они переигрываются. Статус (активно / заменён / дополнен) вычисляется из типовых связей между решением, поэтому история «почему» всегда сохраняется.
Безопасное смыхание (fails safe). Если поисковой индекс или API эмбеддингов недоступен, запись решений продолжает работать, а поиск честно снижается до сопоставления по тексту в markdown — ничего не блокируется, ничто не теряется, а результат в дежурном режиме прямым говорит о ты такого режима.
Самопроверка. Обход корпуса (
mitos check -p .) находит решения, которые молча противоречат друг другу, а--stagedставит новые записи на ворота как шаг pre‑commit или CI — см. рецепты для hookпрекомит, CI и cron в SETUP.md, где проект запущен три разными способами.
Остальное вы легко можете внутри-вижу с помощью mitos --help — справка же служит и API‑справочником.
Зачем это существует
Разработка программного обеспечения через ИИ-обсуждение (ЮГ) — это архитек -решения появляться быстре, чем челове might их успеть. Один месяц такого рабочего пути дал почти 900 записи решений в один markdown-файл — это уже ни прочитать, ни найти вручную. Существующие ADR инструменты расчитание на человеческие команды, мили фиксируют редкие решении; mitos сделано для соло‑разработчика, чейИ-ассистент постоянный генерирует и потребляет решения.
Если ваш образ работы — именно е, размасса проект почти так проважается: чем выше напряжение решений, тем быстрее mitos из удобства станет необходимостью.
Разработка
pip install -e '.[test]'
MITOS_NO_LIVE_TESTS=1 pytest -m "not packaging" -n auto # offline suite, parallel (~50s)
pytest -m "not packaging" # adds the live tier — serial only
pytest -m packaging # real-install check: fresh venv + pip install-n auto безопасен для офлайн‑набора тестов и не для живого яруса: сборка тестов sys‑scoped, поэтому параллельные «ресобщники» удаляют Qdrant‑коллекции друг у каждого, а затронутые тесты превращаются в skip, а не в fail.
Сюиты *_пос_tеst*.py и «золоты» — это real calls to Gemini and Anthropic API на ваши собственные ключи и требуют Qdrant на :7333. Они пропускаются, если ключ не резолвится, так что свежая копия по умолчанию идёт по проростому пути.
Ключи извлекаются из окружения, из .env в корню репозитория или ~/.config/mitos/.env — поэтому если вы уже пользуетесь mitos, тотестовый может быть подхватить ваш personal ключ и потратить егою. Явно отключитесь:
MITOS_NO_LIVE_TESTS=1 PYTHONPATH=. pytest -m "not packaging"Kanонический формDesc записи решений лежит в mit/os/format-spec.md. Лицензия: Apache 2.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
Keeps AI agents from repeating costly mistakes: past decisions, rules and incidents, shared by all.
Persistent memory for AI agents. Search and store durable facts, preferences and decisions.
Decision memory for AI agents: record, revisit, and resolve consequential choices.
Long-term memory for AI agents: bitemporal fact ledger, contradiction detection, explainability.
Related MCP Servers
FlicenseAqualityCmaintenanceProvides a persistent memory and governance layer that allows AI coding agents to query documented architecture rules and validate code against team standards. It enables agents to verify compliance across categories like security and testing before suggesting changes to ensure consistency across development sessions.317-- AlicenseBqualityDmaintenanceEnables AI assistants to create, manage, diagram, and export Architecture Decision Records (ADRs) directly from conversation.15MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to index, search, and retrieve architectural documentation and store self-learning notes from codebases.1-
- AlicenseNot gradedqualityBmaintenanceEnables capturing and storing AI coding decisions as markdown, and provides MCP tools for assistants to query and record those decisions so they respect past architectural choices.MIT