mindroom
驻留在您聊天室中的 AI 智能体。
MindRoom 是一个基于 Matrix 构建的开源多智能体运行时,可与几乎任何 云端或本地 AI 模型 配合使用。 您在 YAML 文件或 Web 仪表板中定义智能体;MindRoom 为每个智能体分配一个 Matrix 账户,您可以在 MindRoom Chat 的线程中与它们对话——或者使用您已使用的任何其他 Matrix 客户端。 由于 Matrix 可桥接其他平台,相同的智能体也可在 Slack、Telegram、Discord、WhatsApp、IRC 和电子邮件中工作——并在所有地方拥有相同的持久记忆。 自托管整个技术栈,或仅在本地运行 MindRoom 后端,并与 mindroom.chat 上的托管 Matrix 配对。
https://github.com/user-attachments/assets/1f121c89-5418-4f42-bdfe-fb9de0fecd03
功能
- 多智能体编排 — 在
config.yaml中定义专家智能体和团队;当你未 @-mention 特定智能体时,内置路由器会选择响应者,而提及多个智能体则使它们在线程中协作。 - 持久记忆 — 智能体在对话和平台之间记住人员、偏好和上下文(Mem0 + ChromaDB,存储在你的磁盘上)。
- 100+ 工具集成 — Gmail、GitHub、Google Docs、Google Drive、Home Assistant、shell、Python、网络搜索等,以及原生 Matrix 工具和每线程
todo规划器,具备沙箱执行和每工具审批规则。 - 知识库 (RAG) — 将智能体指向一个文件文件夹;MindRoom 对其进行索引,并可监视其变更。
- 调度与自动化 — cron 或自然语言定时任务(
!schedule),带有人员升级机制的后台工作。 - 模型路由 — 每个智能体、房间或线程使用不同的模型(
!model);将敏感房间路由到本地 Ollama,其他所有内容路由到云端模型。 - 语音 — Matrix 语音消息的转录,以及通过 OpenAI、Groq、ElevenLabs 和 Cartesia 提供的文本转语音工具。
- 流式响应 — 智能体通过渐进式编辑在房间中打字,显示工具轨迹,并支持取消。
- 插件与钩子 — 即插即用 plugins 添加自定义工具、技能和 OAuth 提供商,类型化的 event-hook system(每钩子超时、故障隔离)允许它们观察和转换消息;在运行时使用
!reload-plugins重新加载插件。 - 热重载与重启安全 —
config.yaml和插件更改可实时生效,无需中断整个技术栈,且重启后会话可无缝恢复:会话历史和轮次状态持久化在磁盘上,因此智能体可以从中断处继续,而不会重复回复。 - Web 仪表盘 — 通过点击而非编辑 YAML 来创建和配置智能体、团队、模型、工具、凭据和知识库;聊天仍保留在你的 Matrix 客户端中。
- 企业级部署 — 相同的运行时可从笔记本电脑扩展到多租户 Kubernetes,支持 Helm 图表、隔离的执行工作负载以及针对受控环境的出口审批。
它看起来是这样的:
You: @research @analyst @writer Create a competitive analysis report
Research: I'll gather data on our top 5 competitors...
Analyst: I'll identify strategic patterns and opportunities...
Writer: I'll compile everything into an executive summary...
我们为何构建此产品
每个 AI 应用都是孤岛:
- ChatGPT 了解你的编码风格……但无法加入你团队的 Slack
- Claude 理解你的写作……但无法访问你的邮件
- GitHub Copilot 辅助代码编写……但无法查看你的项目规格
- 你不得不从头开始,一次又一次地教导每个 AI
你的团队每天通过 Slack、Discord、Telegram 和邮件进行协作——你的 AI 也应该如此。 MindRoom 智能体存在于一个地方(Matrix),并通过桥接跟随你到任何地方,且记忆完整。
联邦机制甚至允许智能体跨越组织边界:
Your client asks in their Discord:
Client: Can our architect AI review this with your team?
You: Sure! @assistant please collaborate with them
Your Assistant: [Joins from your Matrix server]
Client's Architect AI: [Joins from their server]
Together: [They review architecture, sharing context from both organizations]
来自不同公司的两个 AI 智能体协作——对于绑定在应用内的助手而言,这是不可能的。
与 OpenClaw 和 Hermes 的对比
OpenClaw 和 Hermes Agent 是自托管助手,将智能体接入你已在使用的聊天应用。 MindRoom 处于同一领域,但做出了不同的架构选择:
- 默认支持多智能体和多用户。 两者均以个人优先:一位所有者与其助手对话。在 MindRoom 中,每个智能体都是一个真实的 Matrix 用户,因此你可以运行由专家和团队组成的集群,将它们分享给家庭、项目或整个公司,并按用户和按房间限定访问权限。
- 基于开放协议的 AI 原生界面。 如果以 WhatsApp、Signal 或 Telegram 作为前端,你是在租用那些从未为智能体设计的平台的用户体验,并且这些平台随时可能切断机器人。MindRoom 的主场是 Matrix,配备了专为 AI 调优的 MindRoom Chat:可折叠的工具调用轨迹、每个响应上的模型元数据、带原位编辑的流式传输、响应取消以及一等线程。到这些应用的桥接是附加功能,而非基础。
- 具有真实密钥隔离的沙箱。 执行工具(shell、Python、编码)可以在隔离的容器工作器中运行,无法访问主进程的密钥——你的智能体使用带凭据的工具(Gmail、GitHub、...),而其执行的代码永远无法读取这些凭据。按工具的 审批规则 和 出口审批 增加了人在回路控制。
- 功能完备。 100+ 内置工具集成,具有类型化配置、OAuth 流程和自动依赖安装——外加 OpenClaw 兼容的技能。
来自 OpenClaw?MindRoom 导入 OpenClaw 工作区(SOUL.md、MEMORY.md、技能)并提供一个 openclaw_compat 工具预设。
快速开始
托管 Matrix + 本地 MindRoom(最快)
MindRoom 运行在你的机器上;Matrix 托管在 mindroom.chat,聊天界面位于 chat.mindroom.chat。
唯一的先决条件是 uv,如果需要,它会自动安装 Python。
观看 2 分钟的设置视频:
# Create ~/.mindroom/config.yaml and ~/.mindroom/.env with hosted defaults
uvx mindroom config init
# Add model auth, or run `uvx mindroom config init --provider codex` and `codex login`
$EDITOR ~/.mindroom/.env
# Generate pair code in https://chat.mindroom.chat:
# Settings -> Local MindRoom -> Generate Pair Code
uvx mindroom connect --pair-code ABCD-EFGH
# Start MindRoom
uvx mindroom run
请参阅 托管 Matrix 部署指南 以获取完整详情。
自托管,从源码
需要 Python 3.12+ 和 uv;仓库开发 shell 提供 Node.js 24 以及 bun 用于可选构建 Web 仪表板。
git clone https://github.com/mindroom-ai/mindroom
cd mindroom
uv sync
# Point at your Matrix homeserver, or bootstrap a local Synapse + MindRoom Chat stack:
# mindroom local-stack-setup --synapse-dir /path/to/mindroom-stack/local/matrix
export MATRIX_HOMESERVER=https://your-matrix.server
export ANTHROPIC_API_KEY=your-key-here
# Start MindRoom (agents + API + web dashboard)
uv run mindroom run
Web 仪表盘可在 http://localhost:8765 访问。 Matrix E2EE 支持默认已安装。
macOS 菜单栏应用
菜单栏应用运行本地 MindRoom 服务,而无需保持终端打开。
它捆绑了 uv,使用 ~/.mindroom 进行配置和状态管理,并管理 mindroom service launchd 服务。
该签名的通用应用同时支持 Apple silicon 和 Intel Mac。
brew install --cask mindroom-ai/tap/mindroom
从 /Applications 打开 MindRoom,并使用菜单栏项安装运行时、与托管的聊天 UI 配对,并打开仪表板。
请参阅 macOS 应用指南 以获取设置、更新和卸载说明。
初始步骤
在 MindRoom 聊天客户端中(托管于 chat.mindroom.chat,或随本地堆栈捆绑提供):
You: @assistant What can you do?
Assistant: I can coordinate our team of specialized agents...
You: @research @analyst What are the latest AI breakthroughs?
[Agents collaborate to research and analyze]
智能体如何响应
智能体和团队使用 Matrix 线程关系来保持对话的有序性。 如果你的客户端或桥接器仅发送普通回复,当回复链最终到达线程祖先或已验证的线程根时,MindRoom 会将它们保留在现有线程中。 从未到达线程上下文的普通回复仍保持为普通回复。
- 被提及的智能体和团队会响应 - 标记它们以引起其注意
- 单一响应者继续 - 线程中的一个智能体或团队会持续响应
- 多个智能体协作 - 当你想要临时协作时,提及多个智能体
- 智能路由 - 系统为新线程选择最佳智能体或团队
- 私信无需提及 - 智能体在 1:1 房间中自然响应,你可以向私信添加更多智能体进行私密协作
聊天命令
!help [topic]- 获取帮助!reload-plugins- 重新加载已配置的插件(仅限管理员)!schedule <task>- 安排一个任务!list_schedules- 列出已安排的任务!cancel_schedule <id>- 取消一个已安排的任务!edit_schedule <id> <task>- 编辑一个现有的已安排任务!config <operation>- 管理配置!desktop [setup|status|confirm|rotate|disconnect]- 管理你的 Desktop 目标!model [name|list|reset]- 显示或切换当前线程使用的模型!thread_mode [room|thread|reset|show]- 显示或切换当前房间使用的线程模式(仅限房间管理员)!encrypt [confirm]- 为此房间启用端到端加密(不可逆,仅限房间管理员)!e2ee- 显示此房间的加密诊断信息!hi- 显示欢迎消息
配置
所有内容都位于 config.yaml 中:agents、teams、models、rooms、knowledge bases、voice、memory 和 authorization。
Web 仪表盘编辑的是同一个文件,因此您可以使用点击操作,而无需编写 YAML。
无论哪种方式,更改都会热加载,无需重启即可生效。
agents:
assistant:
display_name: Assistant
role: A helpful AI assistant
model: default
rooms: [lobby]
tools: [matrix_message]
accept_invites: true # Optional: accept authorized ad-hoc room invites
knowledge_bases: [engineering_docs]
models:
default:
provider: anthropic
id: claude-sonnet-5
knowledge_bases:
engineering_docs:
path: ./knowledge_docs
watch: true
voice:
enabled: true
stt:
provider: openai
model: gpt-4o-transcribe
mindroom_user:
username: mindroom_user # Immutable once the account is created on first run
display_name: MindRoomUser
authorization:
global_users: ["@alice:example.com"]
default_room_access: false
环境变量位于 .env(托管路径为 ~/.mindroom/.env):
MATRIX_HOMESERVER=https://your-matrix.server
ANTHROPIC_API_KEY=your-key-here
# Optional: protect dashboard API endpoints (recommended for non-localhost)
# MINDROOM_API_KEY=your-secret-key
# Optional: use a non-default config location
# MINDROOM_CONFIG_PATH=/path/to/config.yaml
团队、文化、按房间划分的模型、上下文压缩、历史记录控制以及记忆后端,详见配置文档以及 docs.mindroom.chat。
部署
- 自有 homeserver — 设置
MATRIX_HOMESERVER并针对任意 Synapse、Conduit 或 Dendrite 实例运行。 - 本地栈 —
mindroom local-stack-setup通过 Docker 引导本地 Synapse + MindRoom Chat。 - 托管 Matrix — 仅本地运行后端,针对 mindroom.chat 上的托管 Matrix,通过 chat.mindroom.chat 进行配对(指南)。
- Docker — 单容器运行时(指南)。
- Kubernetes — 用于企业级、多租户部署的 Helm 图表(指南)。
- NixOS LXC (Incus) — 作者个人使用的最爱:mindroom-ai/lxc-nixos 配置一个持久的、由 agent 控制的 NixOS 容器,包含完整栈,agent 可以自行重建和管理,而主机控制其可见内容。
- Bridges — 通过 docs/deployment/bridges 连接 Slack、Telegram、WhatsApp 等。
为什么选择 Matrix?
Matrix 是一个开放、联邦化的消息协议,拥有十年的生产环境使用经验,包括大型政府和医疗部署。 基于它构建,MindRoom 继承而非重新实现:
- 端到端加密 (Olm/Megolm)
- 联邦 — 你的 agent 可以加入其他 homeserver 上的房间,包括其他组织的
- 每个平台上的成熟客户端 (Element, Cinny, FluffyChat)
- 50+ 维护中的 bridges,连接 Slack、Telegram、Discord、WhatsApp、IRC、电子邮件等
Matrix 采用情况一览
- 10+ 年由 Matrix.org 基金会主导开发,投入超过 €10M,拥有 100+ 核心贡献者
- 全球 3500 万+ 用户
- 德国医疗领域:TI-Messenger 上有 150,000+ 机构
- 法国政府:Tchap 上有 550 万公务员
- 国防领域:NATO、美国太空军及其他国防组织
- 专为欧洲隐私标准(GDPR)而构建
架构
- Matrix: 任意 homeserver(Synapse、Conduit、Dendrite、...)
- Agents: Python,基于 Agno 和 mindroom-nio
- AI models: Anthropic、OpenAI、Google、Ollama、Bedrock,或任何 OpenAI 兼容端点
- Memory: Mem0 + ChromaDB 向量存储,持久化到磁盘
- UI: 用于管理的 web 仪表盘;MindRoom Chat(或任意 Matrix 客户端)用于聊天
请参阅 docs/architecture 了解内部细节。
自托管用户须知
本仓库包含自托管 MindRoom 所需的一切。
saas-platform/ 目录包含将 MindRoom 作为托管服务运行所需的基础设施,自托管用户可以安全地忽略它。
贡献
我们欢迎贡献! 请参阅 CLAUDE.md 了解当前的开发工作流程和质量检查。
许可证
- 仓库(除
saas-platform/外): Apache License 2.0 - SaaS 平台(
saas-platform/): Business Source License 1.1(将于 2030-02-06 转换为 Apache 2.0)
致谢
构建于:
- Matrix - 联邦通信协议
- Agno - AI 智能体框架
- mindroom-nio - Python Matrix 客户端
