Skip to main content
Glama

Mitos

Status: Alpha MyPI Python 3.13+ License: Apache-2.0 MCP Registry

🔧 Ранний выпуск — проект активно развивается

Когда вы месяцами создаёте программное обеспечение с помощью ИИ-ассистентов, обоснование ваших решений теряется. Ассистент забывает, почему вы выбрали тот или иной подход, снова предлагает варианты, которые вы уже отвергли, а ваши проектные заметки расходятся с тем, что в итоге действительно решено. 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:

  1. Установка (один раз на машину): pipx install mitos-adr

  2. Запуск Qdrant (один раз на машину, общая для всех проектов): docker compose up -d из этого репозитория — mitos поднимает свой собственный инстанс на :7333, поэтому не затрагивает Qdrant, который вы используете для других задач.

  3. Регистрация MCP‑сервера (один раз на машину; рекомендуется для агентов): claude mcp add --scope user mitos -- mitos serve. Одна регистрация обслуживает все проекты — см. SETUP.md, чем это оборачивается, как подключать другие агентские среды и почему лишняя запись .mcp.json в проекте должна быть удалена.

  4. Для каждого проекта: mitos init из корня проекта, затем mitos set-key --global <your-Gemini-key> (одного ключа достаточно для всего; получить его можно на https://aistudio.google.com/app/apikey). Сейчас Gemini — проверенный провайдер эмбеддингов; абстракция для нескольких провайдеров уже в планах.

  5. Проверка: 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

Когда

surface_decisionions (mitos surface)

Перед пришениеем — есть ли прецедент? Ккаждый резлут какоромеta несебе отброженные альтернативы и призанну.

record_decision (mitos record)

момент, когда что-то решилось — само решене, отброшенные пути и то, как оно связано с более раннии решами (заменяет, дополняет, …).

query_decisionions (mitos query)

Поиск нужной записи — по смыслу или по точному идентификатору.

Стоит знать ещё несколько свойств:

  • М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.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers