—

解读:OpenMausBot——开源「Grok Bot 形」多智能体聊天壳:本地 harness、自带电脑与审批卡

  • #OpenMausBot
  • #Grok Bot
  • #Agent
  • #自托管
  • #Electron
  • #开源
  • #解读

本文是对开源项目 milind-soni/OpenMausBot 的摘要与评论。仓库也曾以 MausBot、更早的 OpenGrokBot 等名出现在讨论里;正式写作以当前仓库名 OpenMausBot 为准。起草时 GitHub API 显示约 ★10850、forks 1481;主语言为 TypeScript;GitHub 许可证字段为 Apache License 2.0;主页为 openmausbot.com。最新公开发布标签起草时为 v0.1.138(以 Releases 页现值为准)。

README 把自己写成「开源的 Grok Bot 替代方案」:形态上借鉴 Grok Bot(xAI 那套「侧边栏一排 bot、像聊联系人一样调度智能体」的产品形),也对照 Meta Muse、OpenAI dots、Cue by Manus 等封闭个人 Agent 产品;同时写明与 xAI、Meta、OpenAI、Manus 均无隶属或背书关系。仓库 topics 里常见 grok-bot-alternative、self-hosted、computer-use、electron 等标签,和这条定位一致。

钩子核对:标题与仓库定位一致。 它首先是一套「把多个真实 Agent 收进聊天应用」的本地优先壳层——每个 bot 可以有自己的人设、模型、电脑与已连接应用——而不是又一个单窗口聊天前端,也不是「换皮版 Grok 网页」。功能全表、桌面能力矩阵与企业目录细节以官方文档与 README 为准;本稿只做摘要与读法整理,不是全文转载。

OpenMausBot 聊天界面示意(来源:仓库 docs/screenshots/hero.png,压缩后存于本稿 assets)

这篇在说什么

先讲场景,再讲产品名词。很多人已经装过 Claude Code、Codex 或 Grok CLI(命令行界面上的 Agent:你在终端里下任务,它们会改文件、跑命令、调工具)。麻烦往往不在「能不能干活」,而在怎么同时养一队人、还看得懂他们在干什么:工作 bot、个人 bot、某个项目的专属 bot,各自记着不同线程;有的要登邮箱和 GitHub,有的要在云里开一台 Linux 桌面点网页;危险的 shell(系统命令行)或改文件,你又希望先看到一张卡再点允许或拒绝。封闭产品把模型、电脑和数据都留在厂商一侧;开源这边若只剩「再开一个终端窗口」,团队协作感和可审计性都会变差。

OpenMausBot 的回答,是把这套需求收成通讯录式聊天应用:侧边栏里每一个会话对象都是真实 Agent(底层跑你本机已登录的 claude / codex / grok CLI),而不是只会回几句闲聊的假联系人。你像跟人说话一样发任务,看着它们工作,并在关键步骤上做审批。数据与密钥默认落在本机目录 ~/.openmausbot;一个跑在 127.0.0.1(本机回环地址,只对本机进程开放)上的小型 harness(挽具 / 编排服务:统一拉起 Agent、转发事件、不把传输逻辑塞进聊天前端)管住所有 Agent 进程。

这篇更适合已经(或打算)在本机装好至少一种 Agent CLI、想用「多人小队 + 审批 + 电脑」而不是单会话聊天窗的人,以及需要把同一套团队形态接到 MCP(Model Context Protocol,一种让外部客户端调用工具的协议)或无界面脚本 / CI 的人。它不太适合完全不想安装任何桌面或 Node 运行时、又拒绝第三方云桌面与连接器条款的人;也不适合把「开源 Grok Bot 替代」四个字读成「官方 xAI 客户端开源镜像」的人——仓库自己反复声明:灵感来自形态,不是官方产品。

1. 核心能力:一队 bot,而不是一个万能助手

README 的「Why」写得很直白:一个箱子里塞一个万能助手,对 Agent 来说形状不对。OpenMausBot 保留的是 Grok Bot 一类产品里的通讯录隐喻,再用本地优先与自带 Agent 把它重做一遍。起草时可以从几条能力轴去读,而不必背完整功能清单:

按 bot 选大脑。 模型选择器按提供商分轨展示 Claude 与 Codex 等模型,不可用的提供商会变灰并给出原因;对话中途也可以给某个 bot 换模型。引擎可以在 Settings → Engines 指向自定义 CLI 二进制(版本化构建或包装脚本),也就是「带上你已经付过钱的登录态」,中间不再插一层代理账号。

每个 bot 可以有一台电脑。 Computer 面板可以拉起云端 Linux 桌面(赞助方与集成方写明为 Boat / boat.dev)、隔离的 Local VM(本地虚拟机),或在平台安全边界已通过认证的前提下控制你自己的这台电脑。你可以看实时屏幕预览,也可以在浏览器里接管桌面。本机控制在 macOS 与 Ubuntu Xorg(一种较传统的 Linux 显示协议会话)上需显式选择加入;Ubuntu Wayland(更新的显示协议)上的本机控制在起草时仍因安全门禁保持关闭,跟踪议题见仓库 issue #345。

危险动作先问人。 Shell 命令、文件编辑与向你提问,会以行内卡片出现:允许、拒绝,或在聊天里作答。权限经纪(permission broker)把云电脑与本地电脑上的风险动作,都收成你可点的决策,而不是默默跑完再告诉你结果。

连接应用。 通过 Composio(一类把 Gmail、Slack、GitHub、Notion 等 SaaS 接到 Agent 工具面的连接层)提供一键市场;OAuth(开放授权,用浏览器登录授权而不是把密码交给 bot)一次之后,多个 bot 可以把这些应用当工具用。连接器与 Boat 等都是第三方服务,有各自账号与条款;云电脑在试用之后可能产生费用——选型时要单独记账,不要把它算进「纯本地零成本」。

像管理聊天一样管理 bot。 右键可以置顶、标未读、改资料、复制、隐藏、删除。频道(channel)用来拆开工作 / 个人 / 项目上下文:各自有 transcript(会话实录)、共享说明、工作目录、应答规则与可编辑的 bot 花名册,而不必把整队人复制多份。

此外还有语音朗读与通话(多种 TTS,即文本转语音提供商)、从一份 Markdown 团队包一键导入整队人(见 BotMRR 与配套的 openmausbot-teams)、部门 / 模板分享,以及用 Jev(TypeSafe 的类型化决策模型)或 OpenRouter 上的决策模型做房间内「未 @ 时由谁接话」的快速路由。这些都是加分项;真正把产品和「又一个 Chat UI」分开的,仍是 harness + 审批卡 + 每 bot 一台电脑。

解读: 星标过万时,很容易被标题带去和「最新聊天模型」比谁更聪明。更稳的读法是:OpenMausBot 卖的是小队编排与人机共治的壳,智力主要来自你本机已经登录的那些 CLI。壳好不好用,和模型聪不聪明,是两笔账。

2. 部署与架构:两进程、本机优先,发行版已嵌入 harness

架构上可以粗读成两层。聊天应用(React + Tailwind,开发态常见端口 5199)自己不握传输;它只发类型化的 HTTP 命令,并把一条 SSE(Server-Sent Events,服务器推送事件流)折进界面状态。Harness 服务默认听在 127.0.0.1:8799:驱动注册表拉起各家 CLI,事件总线把提供商协议归一成规范运行时事件(按线程记成 NDJSON),权限经纪处理审批。桌面壳用 Electron(用网页技术打包原生桌面应用的框架)覆盖 macOS、Windows 与 Ubuntu;发行版把 harness 嵌进去,所以下载安装后通常不必再单独起服务。

快速上手路径,按门槛从低到高大致是:

路径 白话适合什么
发行版安装包 只想先跑通「发消息 → Agent → 流式回复 → 工具 → 审批 → 用电脑」;macOS 有 Apple silicon / Intel 的已签名公证 .dmg,Windows 有 x64 安装包,Ubuntu 24.04 x64 有 .deb / AppImage(Linux 仍标 beta)
源码开发 要改 UI 或驱动;pnpm install 后分别起 dev:server、dev,需要桌面壳再加 dev:desktop
全局 CLI / 无界面 服务器或脚本场景:npx openmausbot、openmausbot serve,以及 openmausbot team apply / run 一类无屏驱动;详见仓库 docs/headless-cli.md、docs/deploy-vps.md

要求侧:操作系统支持 macOS、Windows 或 Ubuntu 24.04 x64;从源码构建还需要 Node 24+ 与 pnpm;并且至少装好一种已登录的 Agent CLI——claude、codex 或 grok——它们会自动出现在模型选择器里。可选密钥(Composio、Boat、ElevenLabs、Fish Audio 等)在应用设置里粘贴一次即可;本地聊天本身可以在没有这些云密钥的情况下工作。

对外编排方面,仓库附带 stdio MCP 服务,给 Claude Desktop、Cursor 一类客户端用:可以查看 bot 与频道、翻 compact transcript、创建与配置、派活、等完成、切模型、打断回合;刻意不暴露审批授权、删除、任意设置、凭据或电脑生命周期。也就是说,外部 Agent 可以「管团队」,但不能偷偷替你点「允许删库」。

解读: 「本机优先」不等于「永远不上网」。云桌面、连接器、托管语音都会把数据或密钥边界推到第三方;本机控制则把风险推到你自己的真实桌面。选型时先画清楚:transcript 与密钥落在哪、电脑落在哪、谁有权点审批卡,再决定要不要开 Boat / Composio / 本机控制,而不是先被截图里的聊天皮肤带走。

3. 许可与边界:根上是 Apache-2.0,但 enterprise/ 是单独一块

GitHub API 返回的许可证为 Apache-2.0,与根目录 LICENSE 一致。同一仓库的 LICENSING.md 又写明一块重要切割:

  • enterprise/ 目录不在 Apache-2.0 之下,而在 OpenMausBot Enterprise License(源码可得:可阅读、构建、评估,以及在开发与测试中自由运行;生产环境启用其功能需要组织许可证;对外托管或白标需要合作协议)。
  • 删掉该目录之后,剩下的就是开源版:服务会报告 {"edition":"oss"},普通单机使用形态不变。
  • 贡献规则也按边界拆分:核心目录按 Apache-2.0 贡献;enterprise/ 内贡献需签署 CLA(贡献者许可协议)。
  • 打包进去的 Cua Driver 等第三方组件保留各自上游许可证;OpenMausBot / MausBot 名称与吉祥物是商标,Apache 第 6 条不授予商标权——基于本项目做发行版时通常需要自有产品名,除非另有合作协议。

仓库还强调:它与任何加密货币无关,没有代币;凡是借用 OpenMausBot / Maus / SupaMaus 名义发币的,均非本项目创建或背书。状态上,作者自称「早期但真实」:消息 → Agent → 流式回复 → 工具 → 审批 → 电脑使用的闭环已经打通;托管 / 移动连通与始终在线的 webhook 中继仍在建设;通话目前主要落在 macOS(依赖本机听写能力)。开源议题数量在起草时也不少(API 显示 open issues 约 647),读作「活跃且粗糙边仍在」比读作「已经完工的企业套件」更贴切。

一句话风险: 把「Apache-2.0 徽章」当成整个 monorepo(多模块同仓)都可以按同一条款做商业托管与白标;或者把「开源 Grok Bot 替代」读成官方客户端,从而在合规与商标上踩线。另一侧的运行时风险,则是在未理解审批卡的前提下打开本机控制或把 webhook 接收器裸露到公网。

适合谁 / 不适合谁(复述)

  • 适合: 已经在用 Claude / Codex / Grok 一类本地 Agent CLI;需要多 bot、多频道、审批与「每 bot 一台电脑」;愿意接受 Electron 桌面或自托管 harness,并把第三方云桌面 / 连接器费用与条款单独算清楚的人。
  • 不适合: 只想要一个网页里的单助手、完全不想碰本机 CLI 与桌面安装的人;需要开箱即用的厂商托管 SLA、却又拒绝阅读 enterprise/ 切割与第三方服务条款的人;以及把本仓库误当成 xAI / Meta / OpenAI / Manus 官方开源版的人。

原文与延伸