ITADN
mindroom-ai/mindroom
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

mindroom

PyPI Python Tests Build Docs License Downloads GitHub

MindRoom Logo

驻留在您聊天室中的 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 的对比

OpenClawHermes Agent 是自托管助手,将智能体接入你已在使用的聊天应用。 MindRoom 处于同一领域,但做出了不同的架构选择:

  • 默认支持多智能体和多用户。 两者均以个人优先:一位所有者与其助手对话。在 MindRoom 中,每个智能体都是一个真实的 Matrix 用户,因此你可以运行由专家和团队组成的集群,将它们分享给家庭、项目或整个公司,并按用户和按房间限定访问权限。
  • 基于开放协议的 AI 原生界面。 如果以 WhatsApp、Signal 或 Telegram 作为前端,你是在租用那些从未为智能体设计的平台的用户体验,并且这些平台随时可能切断机器人。MindRoom 的主场是 Matrix,配备了专为 AI 调优的 MindRoom Chat:可折叠的工具调用轨迹、每个响应上的模型元数据、带原位编辑的流式传输、响应取消以及一等线程。到这些应用的桥接是附加功能,而非基础。
  • 具有真实密钥隔离的沙箱。 执行工具(shell、Python、编码)可以在隔离的容器工作器中运行,无法访问主进程的密钥——你的智能体使用带凭据的工具(Gmail、GitHub、...),而其执行的代码永远无法读取这些凭据。按工具的 审批规则出口审批 增加了人在回路控制。
  • 功能完备。 100+ 内置工具集成,具有类型化配置、OAuth 流程和自动依赖安装——外加 OpenClaw 兼容的技能。

来自 OpenClaw?MindRoom 导入 OpenClaw 工作区SOUL.mdMEMORY.md、技能)并提供一个 openclaw_compat 工具预设。

快速开始

托管 Matrix + 本地 MindRoom(最快)

MindRoom 运行在你的机器上;Matrix 托管在 mindroom.chat,聊天界面位于 chat.mindroom.chat。 唯一的先决条件是 uv,如果需要,它会自动安装 Python。 观看 2 分钟的设置视频:

MindRoom: installing and talking to my first AI agent in 2 minutes

# 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. 被提及的智能体和团队会响应 - 标记它们以引起其注意
  2. 单一响应者继续 - 线程中的一个智能体或团队会持续响应
  3. 多个智能体协作 - 当你想要临时协作时,提及多个智能体
  4. 智能路由 - 系统为新线程选择最佳智能体或团队
  5. 私信无需提及 - 智能体在 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,基于 Agnomindroom-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 了解当前的开发工作流程和质量检查。

许可证

致谢

构建于: