mitos
Mitos
🔧 早期发布 —— 持续开发中
当你与 AI 助手构建软件数月或更久时,决策背后的思考过程会丢失。助手会忘记你为什么选择某种方案,重新提出你已经淘汰的选项,而你的设计笔记会逐渐和实际拍板的决策脱节。Mitos 就是这些决策的记忆层:它记录每一条决策、你排除过的备选方案,以及后续决策如何取代早先的决策——然后再以紧凑、可信的形式把这段历史反馈给你的 AI 助手。
结果是:你的 AI 协作者始终与你真正做过的判断保持一致——它不会与过去的决策相矛盾,也不会重新翻开已定论的问题,同时你的决策记录永远不会悄悄烂掉。
技术内部是这样的:markdown 供人类阅读(decisions.md 是你随时可以阅读和 grep 的事实来源),一套类型化图供智能体使用(SQLite + 本地 Qdrant 做语义召回),以及一个 MCP 服务器,让智能体在做决定前先查先例,并在做出决定时记录决策。
你可以在 PyPI 和 MCP Registry 上获取它。
最快安装:把它交给你的智能体
如果你在使用 AI 编程智能体(例如 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 中,你可以随时先读一遍:
通过 pipx 安装
mitosCLI(可以从 PyPI 或这个仓库安装);启动一个本地 Qdrant 容器(使用
qdrant/qdrant,监听7333端口,与你已有的其他 Qdrant 实例完全隔离);注册 MCP 服务器,每台机器只需注册一次(如果尚未注册的话);
初始化项目工作区,同时把项目按名称注册;
让你自己手动设置 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。一次注册即可服务所有项目 —— 关于它有什么代价、对其他 harness 怎么说,以及为什么需要移除项目里遗留的.mcp.json条目,参见 SETUP.md。每个项目:在项目根目录执行
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 集合。日常使用中,三个动词构成整个回路(对智能体来说是 MCP 工具,同时有完全相同的 CLI 孪生命令):
Verb | When |
| 需要做决定之前——是否有先例?每个命中都会把您已经否决的备选方案和原因一并带出来。 |
| 在一件事尘埃落定的时刻——记录决策本身、被否决的路径,以及它与先前决策的关系(supersedes、amends,……)。 |
| 查询某条决策——按语义,或按精确的句柄。 |
几个值得知道的特性:
Markdown 是唯一事实源头。每一条决策都会落到
decisions.md,可供人类阅读和 grep;决策图和搜索索引都是从这个文件派生出来的,可以随时重建(使用mitos rebuild)。决策永不修改、删除——只会被取代。状态(active / superseded / amended)是根据决策间的类型化关系计算出来的,因此为什么会这样的历史永远留存。
安全降级。如果搜索索引或 embedding API 不可用,记录仍然可以正常工作,搜索会退回为对 markdown 的诚实文本匹配;不会阻塞任何操作、不会丢失任何数据,降级的输出也会明确告诉你它处于降级状态。
自我审计。语料库扫描(
mitos check -p .)能发现彼此静默冲突的决策,而--staged可以把新条目作为 pre-commit 或 CI 的一个门槛 —— 关于 pre-commit hook、CI 和 cron 方案,均见 SETUP.md,这些方案会以三种不同的方式指定项目名称。
尝试 mitos --help 可以探索其余内容——帮助文本同时就是 API 参考。
它为什么存在
通过 AI 设计评审来构建软件,产生架构决策的速度快于一个人能跟踪的速度。仅一个月的工作方式就在一个 markdown 文件里产生了近 900 条决策记录——我们的方法已经退化成人工不可读、不可 grep、不可维护。现有的 ADR 工具是为偶尔记录一条决策的人类团队而设计的;而 mitos 是为那种 AI 助手持续生成、消费决策的独行开发者打造的。
如果你的工作方式恰好是这样,项目大小其实并不太重要——决策量越大,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 对离线测试套件是安全的,但不适合线上(live)层:测试集合的扫描是会话作用域的,因此并行 worker 会删除彼此的 Qdrant 集合,相关测试会退化为 skip(跳过)而不是失败。
*_live.py 测试套件和 golden Layer B 会真实地使用你自己 key 发起 Gemini 和 Anthropic API 调用,并且依赖 :7333 上的 Qdrant。当找不到可用的 key 时它们自动跳过,所以全新克隆默认走快速路径。
密钥可以从环境变量、仓库根的 .env 或 ~/.config/mitos/.env 中解析 —— 因此如果你已经在使用 mitos,一次测试运行可能会读取你个人的 key 并消耗你的配额。请显式退出:
MITOS_NO_LIVE_TESTS=1 PYTHONPATH=. pytest -m "not packaging"标准的决策格式定义在 mitos/format-spec.md。许可证:Apache 2.0。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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
- AlicenseNot gradedqualityBmaintenanceProvides persistent, searchable memory and knowledge capture for AI-assisted development, enabling agents to retain decisions, bugs, and patterns across sessions and projects.MIT
- AlicenseNot gradedqualityAmaintenanceStores architectural decisions in a SQL database for persistent AI agent memory, enabling cross-session continuity and duplicate detection.2,9004Apache 2.0
Related MCP Connectors
Persistent memory for AI agents — verbatim conversations, searchable by meaning.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent memory for AI agents. Search, store, and recall across sessions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dovahkiin-v/mitos'
If you have feedback or need assistance with the MCP directory API, please join our Discord server