你想给 AI 配一台自己的电脑:能开浏览器、能敲命令、能读写文件,关机之后活儿还在跑。这类项目今年多得数不清,但真把代码拉下来跑一遍,十有八九卡在第一步——装不上、起不来、文档说的和代码里的对不上。CopilotKit 开源的 OpenMuse 是少数反过来的:我把仓库整个拷进沙箱,装依赖、跑检查、跑测试、起服务,520 个测试用例一个不挂,0 个失败。但同一份代码里,官方自己开了两个待合并的改动请求,要把读者劝去另一个项目。测试越绿,这件事越难看懂。
一、它是什么:一个自己带服务器的「个人 Agent 应用」
先说人话。OpenMuse(取名自「缪斯」)是一个开箱即用的个人助理应用,2026 年 9 月 15 日开源,MIT 协议,6,361 个星标。它不是你手机里那种只会聊天的助手,而是给助手配了一套「手和眼」:
- 一个浏览器,可以持久登录、读公开网页、截图,还能让你接管正在跑的那个页面;
- 一个可选的 Linux 终端,跑在独立容器里,能建文件、改文件、导入导出 PDF,但断网;
- 一套后台任务,任务有计划、有检查点、可暂停、可取消,进程重启用数据库租约(也就是给任务发一张带过期时间的「占位凭证」,谁先抢到谁干活)把中断的活儿捡回来。
界面上是 iOS、Android、网页三端共用一套代码,底层用 CopilotKit 与 AG-UI(一套让前端和后端 Agent 说同一种话的协议)对接模型。
拆开看,仓库是 231 个受版本控制的文件、38,356 行 TypeScript。重心分布很诚实:
| 目录 | 位置与规模 | 干什么 |
|---|---|---|
| apps/server | 9,307 行 | 接口层、Agent 运行时、任务引擎、动作审计、存储 |
| apps/mobile | 10,281 行 | iOS / Android / 网页三端界面 |
| apps/worker | 1,518 行 | 独立的浏览器服务,带持久化登录配置 |
| apps/computer | 371 行 | 非 root 的 Linux 容器镜像与文件助手 |
| tests | 52 个文件、14,733 行 | 行为测试,行数与核心代码几乎一比一 |
一个细节值得停一下:packages 目录下的三个文件夹(共享类型、集成适配、外部后端),看着像三个公共包,实际一个包声明文件都没有,也不在工作区清单里。服务端是靠相对路径直接引到对方源码的,比如从 apps/server 往上三层跳进 packages/domain/src。好处是不用给每个包配构建流程,改一行立刻生效;代价是 README 目录表里那句「共享类型包」听着像个能单独安装的东西,其实不能。
二、怎么做到的:把「AI 干活」拆成可审计的零件
这个项目的设计取舍,读代码比读文档清楚。有三处我认为是真功夫:
第一,外部动作和模型推理是分开的。发邮件、改日历这类真会碰到外部世界的操作,不走模型直接调用,而是先存成一条「动作提案」,带归属人、内容哈希、版本号,等你点确认才发。代码注释里写明「外部写操作绝不在这里重试」,因为重试一次就等于多发一封邮件。
第二,模型供应商是可换的零件。一个模型字符串、三家供应商(OpenAI、Anthropic、Google)各一套适配,还能切到兼容接口。上游明确写了哪些情况会重试、哪些 4xx 一次就失败——这类边界写在代码里而不是藏起来,是可维护的表现。
第三,后台任务有真正的失败语义。任务引擎里有一个专门的「租约丢失」错误类型,任务被暂停、取消或被别的进程抢走时会抛出来,让执行体干净退出,而不是写一半留下垃圾。它甚至有专门的测试文件去压这条路径。
三、实证:我跑出来的数字(一台受限沙箱,2026-11-09)
全部命令都在一次性沙箱里跑,没有碰生产目录,测试数据一条没编。先说结论:这个仓库的工程质量,是我今年跑的同类项目里最整齐的一档。
| 我跑的命令 | 结果 | 这个数字意味着什么 |
|---|---|---|
| 装依赖(按锁定文件严格安装) | 1,410 个包,9.8 秒 | 依赖树干净,没有版本漂移 |
| 代码风格与静态检查 | 177 个文件,0 报错 | 只有一条提示:检查器配置版本比工具落后一个小版本 |
| 类型检查(服务端 + 移动端) | 通过 | 严格模式下无类型错误 |
| 类型检查(浏览器服务) | 通过 | 独立子目录也守住了 |
| 构建服务端 | 通过,产物 1.1 MB | 能出可部署的 JS |
| 60 个测试文件逐个跑 | 520 通过 / 0 失败 / 0 跳过 | 覆盖接口、任务引擎、集成、容器、浏览器、财务 |
| 一条命令跑全量测试 | 崩了 | 见下段,原因不在代码 |
最后两行必须放在一起看,否则会得出错误结论。仓库的测试脚本把 60 个文件一次全交给测试器并行跑;在我这台内存与进程数都受限的机器上,每个文件都要拉起一个编译子进程,跑到第八个左右就开始报「工作线程初始化失败」「线程创建:资源暂时不可用」——资源不够,不是测试写坏了。我把文件拆成一个一个串行跑,520 个用例全绿、零失败、零跳过,最慢的一个文件 14 秒。所以我给的口径是:逐文件跑全绿,一条命令跑需要一台不被限流的机器。这一点值得记住,它的持续集成配置跑在标准运行器上,那边没这个问题。
再往下是起服务,这里撞上了一个真实门槛。照文档把示例配置复制成正式配置,直接启动,进程立刻退出,报错只有一句:缺少 CopilotKit 的对话存储密钥。
这是 CopilotKit 自家托管对话存储(名叫 Intelligence)的密钥,要先登录它的命令行工具、选一个项目才发得出来。我塞了一个假密钥再启动,服务正常拉起,健康检查返回 {"ok":true,"mode":"sample","agentConfigured":true},未登录取接口返回 401——鉴权边界是真的,不是摆设。
问题在文档这层。README 开头写「兼容任何 Agent 编排外壳」(原文 Compatible with any agent harness,harness 也就是跑 Agent 的那层外壳),后面又有一处说这套托管存储「需要自己配置」。而代码里这个密钥是无条件必填的:读取配置的函数直接调必填校验,没有分支。这不是我一个人的发现,仓库里有个 2026-09-26 的 issue 就是提这个,标题直白——「让对话存储对自托管部署变成可选」,正文还贴了改动历史:先是一次提交把它设成线上必填,再一次把要求扩展到所有模式,并删掉了跳过它的分支。另有一位开发者干脆自己分叉了一个「不需要密钥」的版本发出来。
四、坐标:它站在哪,官方又想让它去哪
放进同类里看。CowAgent 那类国产 Agent 编排框架(也就是把多个步骤串起来调度的那层),考的是「能不能把复杂任务串起来」,我上次实测它 421 个测试文件跑两遍数字不同;OpenMuse 反过来,520 个用例逐个跑完全一致,但它考的不是编排能力,是「一个人用」的完整度——登录、邮件、日历、文档、财务、浏览记录,全在一个应用里。hermes-jev-skills 那篇测的是决策引擎,重点是「模型怎么选」,OpenMuse 的重点是「选了之后谁来兜底」:动作审计、租约、断点恢复。三个项目其实回答三个不同问题。
真正的反差在官方态度。仓库现在有 42 个分支、32 位贡献者,零个正式版本、零个版本标签,更新日志只有一条「0.1.0-alpha」。而 11 月 2 日和 11 月 4 日连开两个待合并的改动请求,说得很清楚:OpenMuse 现在是另一个项目 OpenBot 的一个「皮肤」,那个项目才是 CopilotKit 持续维护、带登录、带每个机器人权限、带审计轨迹的版本;这个仓库转为社区维护的起点模板。
这解释了我实测到的很多东西:为什么星数六千多却一个版本都不发,为什么 61 个待处理里 46 个是改动请求、真正的问题只有 15 个,为什么 README 里「可选」和代码里「必填」能同时存在——它正在从「产品」变成「样板间」。
五、结论:值得拷,别指望拿来就用
值得拷: 如果你想要一个「个人 Agent 应用」的完整参考实现,这是目前最整齐的开源样本之一。三个应用分工清楚,测试与代码接近一比一,动作审计、任务租约、容器隔离这些容易糊弄的地方它都写了专门的测试。拿它当骨架改,比自己从零搭省几周。
别指望: 一是别指望装完就跑。没有 CopilotKit 的密钥,服务连启动都做不到,这一点文档说得比代码含糊。二是别指望拿到稳定版本或升级路径,一个版本标签都没有。三是别按开头那句「兼容任何 Agent 编排外壳」去理解——它确实能接外部 Agent 端点,但主路径绑定的是自家运行时。
如果只想体验:等 OpenBot 那条路更省事,官方改动请求里写的迁移表就是给这个用的。如果想改代码:现在就拷这个仓库,趁它还是「纯应用」而不是「皮肤」,改动半径最小。
局限说明:本次实测在一台内存与进程数受限的沙箱里完成,全量测试的并行方式没跑通,只拿到逐文件串行结果;浏览器与 Docker 容器的两个真机冒烟测试需要 Chromium 与 Docker 守护进程,我没跑,它们在持续集成里是独立任务;模型侧只用了假密钥验证启动与鉴权,没有接真实模型跑对话。数据取自 2026-11-09 的仓库快照,主分支最后一次提交是 2026-10-26。
相关阅读:hermes-jev-skills 深度评测:823 Star 的 Jev 决策引擎,1020 个测试全绿、6 个基准我复现 5 个;CowAgent 深度评测:4.7 万 Star 的国产 Agent Harness,421 个测试文件我跑两遍数字不同
关注 AI商业快讯,每天一篇 AI 热点深度解读。