Meta于9月8日推出了Muse,短短几天内它就登上了美国应用商店免费榜榜首,超越了ChatGPT。这是一个个人智能体(Personal Agent)。你可以直接在它的应用中或通过WhatsApp给它发消息,它会在一台由Meta在云端为你运行的虚拟计算机上执行任务。老实说,这是一个经过深思熟虑的产品,这也是为什么那么多人迅速下载它的主要原因之一。但其中也有一些限制条件。免费层级有每周的Muse令牌上限,而一个长时间的后台任务可能会消耗大量这些额度。在此之后,Power计划每月收费20美元,Max计划则高达100美元。目前它仅在美国可用。对我来说更大的问题是它是封闭的:你无法查看代码,不能选择模型,也无法在自己的服务器上运行它。

你提供给它的每封电子邮件、日历事件和个人目标都存储在Meta的机器上。虽然Meta表示你的聊天记录不会进入其广告系统,且你可以选择退出训练数据的使用,但你仍然是在将整天的日常事务托付给Meta。大约两周后Muse发布之际,Copilot Kit在GitHub上推出了一个名为Open Muse的项目。基本理念相同:拥有独立浏览器、终端和文件系统的个人智能体,即使你离开屏幕,工作也会继续。区别在于它采用MIT许可证授权,你可以自行托管,并随意使用任何你想要的模型。目前该仓库已获得近6000个星标和80多个分支,并登上了GitHub趋势榜。

Copilot Kit是一家流行框架背后的公司,该框架用于在应用内构建AI副驾驶和智能体界面。因此,Open Muse也是他们展示其技术栈能力的案例之一。在演示中,他们要求它寻找Hacker News上有趣的故事并总结Copilot Kit的网站。在桌面网页版演示中,它检查了一封关于学校旅行的电子邮件,打开消息并研究蒙特雷湾水族馆的展览。结果以卡片形式直接返回在聊天中,还有一个名为“接管控制”(Take Control)的按钮,可以打开智能体正在使用的完全相同的浏览器会话。

如果它在登录页面或弹出窗口处卡住,你可以介入并自己完成那部分操作。还有一个长达83秒的同一水族馆之旅演示,其中智能体会提出澄清问题,显示带有来源的展览卡片,并允许你在确认前完善你的选择。标题下方有一个注明“Alpha”(测试版)的说明,这一点值得认真对待。它是为自托管和二次开发而设计的,目前还不是像Muse那样成熟的消费级应用,对此他们直言不讳。

该应用程序底部有五个标签页。第一个是聊天(Chat)。你可以看到小羊驼头像、名称Open Muse,以及当智能体计算机未运行时显示“Computer Offline”的状态标签。有一些起始提示词,如在Hacker News上寻找酷炫内容或监控某个网站。聊天流使用AGUI协议进行传输,这是Copilot Kit创建的用于连接智能体后端和前端的开放协议。这也解释了为什么他们说它与任何智能体框架(Agent Harness)兼容。

当智能体回复时,发送箭头会变成停止按钮;如果你点击停止,你的草稿仍然保留。你可以排队后续消息,而大型任务则作为委托任务移交处理。第二个标签页是活动(Activity)。每个委托的任务都有一个计划、进度视图以及暂停、恢复、取消或重试的控制选项。在其下方有一个名为“审核与收据”(Reviews and Receipts)的部分。在我的截图中,有一项标记为“等待审核”,内容是创建与Jamie的咖啡约会日历事件。在你批准之前,实际上不会发生任何事情。

任务以他们称为“SQL租约”(SQL Leases)的方式保存在数据库中。因此,如果服务器在半途崩溃,工作会被重新拾起而不是消失。这里有一个我很喜欢的设计选择:如果智能体不确定外部操作是否成功执行(例如Gmail是否真的接受了电子邮件),它不会悄悄重试并发送两次。它会停止操作,让你进行检查。第三个标签页是想法(Ideas)。

这些是智能体自行提出的建议,每一项都显示了其背后的证据,比如它来自哪封电子邮件。你可以编辑、接受或忽略它们。它也会跳过你已经处理过的想法,所以如果你已经发送了那封回复邮件,它就不会继续建议。第四个标签页是目标(Goals),分为两部分。“追踪”(Tracking)用于处理如机票价格、预订或你正在关注的网页等事项。它按计划检查公共网页,并在页面发生变化、出现特定文本(如“有货”)或价格低于你设定的金额时发出警报。

警报不会重复发送,如果检查持续失败,它会退避而不是频繁轰炸该网站。“目标”部分允许你在健康、关系、财务或其他类别下创建目标并添加里程碑。如果你用过Muse,这会感觉很熟悉,因为Muse也是围绕类似的生活目标构建的。最后一个标签页是应用(Apps)。在“连接”下,你会看到Gmail和Google日历,两者都标记为本地数据。这是因为开箱即用状态下,所有内容都在虚构的示例邮箱和日历上运行。

要使用真实的Gmail,你必须创建自己的Google OAuth客户端,启用Gmail和日历API并首先连接读取权限。写入权限是单独的步骤,即便如此,每次发送或更改日历仍需单独审核。“可用集成”下还有Agent Computer和Openbot,均显示正在设置中。我稍后会回到这些内容。有些功能没有自己的标签页,但确实存在。“文档”(Documents)处理一个相当特定的流程:收到一封带有PDF附件的电子邮件,智能体打开它,询问表单所需的值,填写副本,然后准备供你审核的回复。

“财务”(Finance)允许你导入交易CSV文件,并将其转化为带有分类的支出摘要,以及设置储蓄目标的选项。“个人上下文”(Personal Context)让你编辑智能体的名称、语气、头像和记忆。而“丰富线程”(Rich Threads)则提供主对话以及你可以重命名、归档、恢复和回放的侧边聊天。好了,现在来看看它是如何构建的。前端是一个单一的Expo和React Native代码库,可在iOS、Android和网络端运行。它通过Hono API与Copilot Kit运行时进行通信。

该API运行一个任务工作进程以处理后台作业,并将所有内容存储在PGlite中(这基本上是将PostgreSQL嵌入应用中),或者你可以将其指向真实的PostgreSQL数据库。浏览器是一个独立的服务,使用Playwright和Chromium构建,并通过令牌保护,它保持持久的浏览器配置文件,以便登录状态在会话之间得以保留。Agent Computer是可选的,它是一个Docker容器,以非root用户身份运行。它无法访问你的主机文件夹,且完全没有网络访问权限。因此,如果智能体需要上网,它必须通过……

通过浏览器服务执行命令,每个命令在30秒后超时。每条指令都会保存带有输出的收据,工作区卷会在容器停止时保留你的文件。需要明确的是,这是一个Linux容器,而不是Muse提供的那种完整的虚拟机。对于网络搜索功能,它默认使用Parallels免费提供的Search MCP服务。请注意,你的搜索查询以及部分聊天上下文会被发送至Parallel服务器进行处理。

在仓库本身的结构中,apps文件夹包含四个主要部分:Mobile是共享的用户界面;Server负责API和任务引擎;Worker提供浏览器服务;Computer则是Linux镜像。Packages文件夹保存了共享类型定义、Google和浏览器的适配器,以及一个Openbot适配器。目前该Openbot适配器处于禁用状态,计划是让OpenMuse稍后作为后端接入OpenBot,但相关的连接工作尚未完成。

在本地运行该项目相当轻量级。你需要Node 24、PNPM以及一个Copilot Kit智能项目的密钥。你不需要模型服务、Google账户或Docker即可运行示例应用。只需克隆仓库,安装依赖,复制环境变量示例文件,使用Copilot Kit命令行工具登录并选择一个项目,然后粘贴它提供的密钥。接着在一个终端启动API服务,在另一个终端运行Web应用,最后打开localhost的8081端口即可访问。

如果你希望将其部署到线上环境,可以使用一键部署至Render的按钮功能。这将设置三个服务:API、Web应用以及一个没有公开URL的私有浏览器服务。你需要提供三项值:你的Copilot Kit密钥、遥测ID以及OpenAI密钥,因为默认模型是GPT-5。你也可以选择切换至Anthropic或Google的模型作为替代方案。

Render会生成你登录所需的访问密钥,以及用于加密你的Google凭据的密钥。现在谈谈诚实的一面:代码采用MIT许可证开源,但每种模式都需要Copilot Kit智能服务来存储聊天线程,而这是一个不受MIT许可证覆盖的托管服务。因此,它虽然是开源软件,但尚未完全独立运作。

遥测功能默认开启,并将使用数据发送至PostHog平台,尽管你可以选择退出。该系统是为单个拥有者设计的,共享访问密钥并不适合团队协作使用。此外,让Muse显得神奇的功能——如自动结账、语音交互、推送通知以及银行或健康数据连接器——目前仍处于路线图规划阶段。

如果直接对比两者,Muse更加易用且经过精心打磨。它内置于WhatsApp中,能够处理支付功能,用户无需进行任何设置操作即可使用。相比之下,OpenMuse赋予你更多的控制权:你可以阅读每一行代码、替换模型、将数据保留在自己的服务器上,且成本仅包含托管费用和API使用费,没有每周令牌数量的限制。

在我看来,OpenMuse最适合开发者群体。如果有客户要求你构建个人助手或团队内部代理,这是一个非常扎实的起始模板,其中审批流程、收据生成和后台任务等机制都已经预先设计好。如果你只是想了解生产级代理应用的结构,它也是一个极佳的参考案例。

对于注重隐私且有能力运行服务器的人来说,这也适用。但在连接你的真实邮箱之前,我建议先使用虚构的示例数据和临时的Google账户进行测试体验。