← BACK TO TONY'S LAB
AI AGENT DEEP-DIVE · 开源项目拆解

AGENT WITH
A COMPUTER

OpenMuse 是 CopilotKit 开源的个人 Agent 应用:自带浏览器、终端、文件系统,任务能跨崩溃继续跑,全程可见、随时接管。这个页面拆它的架构、能力和工程底细。

1,337★
GitHub Stars · 2026-09-23
137
Forks
MIT
License · 全部可改
TS
TypeScript 全栈
9-15
Created 2026-09-15
WHAT IT IS

它到底是什么

一句话:一个把「电脑」交给 Agent 的自托管个人助手。不是聊天框,是一个能自己动手的工作台。

OpenMuse(GitHub: CopilotKit/OpenMuse)是 CopilotKit 出品的个人 Agent 应用——Alpha 阶段、MIT 协议、面向自托管。它是 CopilotKit 全家桶 + AG-UI 协议的「旗舰演示机」:把官方那些库组装成一个真实能用的产品形态,跑给生态看。

它的核心主张有四个:

  • Agent 有台电脑:持久化的 Chromium 浏览器 + 可选的 Docker Linux 工作区(终端、文件、PDF 转移)
  • 看得见的工作:Agent 的每一步——开网页、跑命令、读邮件——都以实时卡片呈现在界面里,不是黑箱
  • 随时接管:屏幕上直接打开同一个浏览器会话,人接着干(Take control)
  • 打不断的工作:任务有计划、检查点、SQL 租约,进程崩了能恢复,关键外部操作要人工审批

两个官方演示片段很有代表性:iPhone 上让 Agent「去 Hacker News 找点有意思的新闻并总结 CopilotKit」;桌面上让它「查学校旅行的邮件、打开邮件、研究 Monterey Bay Aquarium 的展品」。邮件和浏览器结果都内联展示,要接管就接管。

SYSTEM MAP

系统结构图

一张图看懂:客户端只做交互,重活全在服务端的三类 worker 和一条可靠的任务链路里。

CLIENT · Expo / React Native / Web
CopilotKit headless hooks,AG-UI 事件流驱动聊天与工具卡片
API · Hono + CopilotKit runtime
身份边界、任务引擎、审批、文件与持久化唯一入口
TASKS · Durable Task Worker
任务计划、检查点、租约恢复、暂停/取消/重试、行动收据
STORE · PGlite / PostgreSQL
本地嵌入式库起步,多 worker 场景换 PostgreSQL,靠 SQL 租约协调
BROWSER · Chromium Worker
Playwright 服务、持久化 profile、真实截图、URL/DNS/出口检查
COMPUTER · Docker Linux 容器
非 root、只读根文件系统、断网终端、/workspace 持久卷
GOOGLE · Gmail / Calendar 适配器
OAuth、完整会话线程、草稿/附件、日历增删改,每步需 review
THREADS · CopilotKit Intelligence
live 模式会话持久化与回放(独立服务,服务端 key)
OPENBOT · 未来适配器
已 pin 住契约测试,尚未接通(虚线 = 未上线)
// 紫色 = CopilotKit 生态组件;绿色 = 独立的安全边界;虚线 = roadmap
CAPABILITIES

六个能力模块

README 里列了一长串,真正值得细看的就这六块。

01 · 交互

Chat — 聊天本身被当产品做

  • CopilotKit headless 聊天,AG-UI 事件流驱动:工具调用不是转圈圈,是带状态的实时卡片(邮件、浏览器、PDF、计划、理财)
  • 发送/停止集成在同一个输入胶囊里:回复期间箭头变方块,点停 草稿原样保留
  • 追问进入可见的跟进队列,按序执行,可删;停止/失败会暂停队列而不是丢任务
  • 回复期间输入框照常可编辑——不用干等 Agent 说完
02 · 引擎

Durable Tasks — 最硬核的部分

任务归服务端所有:先生成计划,再逐步执行,每步落检查点。两个 worker 抢同一任务靠 SQL 租约(lease)裁决;租约过期自动恢复,中断的活能捡回来继续。暂停/恢复/取消/重试全支持。

  • 关键外部操作走 Review 审批:发送邮件、改日程这类动作,先给主人看「将发生什么」,批准才执行
  • 每个动作留 receipt(收据):干了什么、结果如何,可追溯;「不确定的外部写入」绝不自动重试,先人工判断
  • 已批准的在途请求可能赶在取消前完成——文档里明说,不藏
03 · 浏览器

Browser Worker — 会记事的浏览器

  • Playwright 独立服务,持久化 Chromium profile:Agent 逛完的登录态、localStorage 下次还在
  • 卡片里显示真实截图和阅读进度;Take control 打开同一会话,人机无缝接力
  • 能下载 PDF 进 Documents;同样的 worker 也服务「监控网页变化」类任务
  • 安全:目标 URL/DNS/出口都有检查,失败的下载有自动化覆盖
04 · 电脑

Linux Computer — 可选的 Docker 工作区

  • 非 root 容器、只读根文件系统、无主机目录挂载、无凭证注入;命令 30 秒上限,输出/退出码留收据
  • 终端禁用网络——公网访问一律走浏览器 worker,双保险
  • /workspace 命名卷持久化:停容器文件不丢,重启恢复
  • 支持跑 bash / Python / Node / git、文本编辑、PDF 导入导出;不是交互式 PTY,整屏终端应用不行
05 · 外部

Gmail / Calendar — 带审批的真收发

  • Google OAuth 适配器:完整邮件线程、草稿/附件、日历发现与事件增删改
  • 凭证加密存储;每次发送邮件或改日程,都要过一次人工 review
  • 换绑/断开账号会作废在途的绑定任务——状态联动是测过的
  • ⚠️ 官方只做了 fixture 级验证,还没用真实 Google 账号跑过验收
06 · 记忆

Rich Threads — 多会话持久化

  • live 模式接 CopilotKit Intelligence:主会话稳定、侧聊、重命名、归档、恢复、回放
  • sample 模式免 key:本地库存单个会话,够体验;Intelligence 是闭源独立服务,不在 MIT 范围内
  • 工具卡片带任务 ID,回放时实时拉取最新状态——链接的是活数据不是静态快照
RELIABILITY

可靠性文化:验证而不是吹牛

这个项目最难得的是诚实——VERIFICATION.md 明确区分「已实测」和「待验收」,不拿计划当卖点。

  • 154 个自动化测试全绿:覆盖 API、任务引擎、集成、计算机生命周期、Docker 运行器、会话队列等
  • 真实 Chromium 生命周期测试:页面导航/读取、失败 profile 清理、同 UUID 重开、文本截断、重启后 localStorage 持久化——都是真浏览器跑的
  • 真实 Docker 冒烟测试:本地镜像构建、非 root 命令、只读系统文件、断网、对称链接拒绝、PDF 字节级保真导入导出、停止/启动文件持久化、打断真实运行中的命令
  • Excel 风格的功能验收矩阵(feature acceptance matrix):每块能力都有「证据」和「边界」两栏,例如「Gmail 适配器——fixture 测过 OAuth 竞态/CRLF 发送/时区 DST,但无真实凭证」
  • 任务引擎的故障路径全测:PGlite 重启、双 worker 租约竞争、租约过期恢复、取消、暂停/恢复、缺输入、审批公平性

这套「租约 + 检查点 + 收据 + 审批 + 不自动重试不确定写入」的组合,是真实生产环境才需要的细节——大部分 demo 级 Agent 项目根本不碰这些。

BOUNDARIES

边界与安全设计

官方文档把「能做什么」和「绝不做什么」写得清清楚楚。

维度设计
部署模型单 owner + 共享访问密钥,不是多租户认证系统;远程部署必须 HTTPS + 限制网络
凭证Google 凭证加密存储于服务端;provider 密钥只留服务器
链接文件/浏览器控制台用短时签名 URL,过期即失效,不落库
计算机容器非 root + 只读根 + 无主机挂载 + 无 Docker socket + 无模型/Google/API 密钥 + 断网
自动重试不确定的外部写入绝不悄悄重试;先看 provider 结果再决定
数据本地化默认 loopback 本地数据模式;PGlite、文档、签名密钥在 .openmuse/ 目录,文档要求私密 + 备份
明确不做自动预订/支付、图形桌面、每用户 VM 隔离、自治多租户
RUN IT

本地跑起来:比想象简单

requirements: Node 24 LTS + pnpm 11.19。sample 模式不需要模型 key、Google 账号、Docker 或 Intelligence 订阅。

# 终端一
git clone https://github.com/CopilotKit/OpenMuse.git openmuse
cd openmuse && pnpm install --frozen-lockfile
cp .env.example .env
pnpm dev
# 终端二
pnpm dev:web # API 在 localhost:8787/api/health

打开 localhost:8081,官方建议的第一条演示流程:

  • Chat 里发「Complete the permission slip」——任务会拆计划、向你索要虚构的表单值、填进 PDF、保存副本、给你看准备好的回复草稿。全程只写本地邮箱,零风险
  • Goals → Track 建一个内置的可用性监控,改一下内置测试页触发告警
  • 配了模型后问「Check out Hacker News for cool stuff」,浏览器 worker 实时出图,你随时 Take control
ROADMAP

还没做的(官方 roadmap)

  • 验收类:真实 Google 账号 OAuth/邮件/日历验收、Intelligence 实盘持久化、真实模型跑开放式任务、Android 模拟器冒烟
  • OpenBot 桥:用户/会话桥接、routines、computer 后端——适配器已写好并被契约测试 pin 住,只差接通
  • 产品类:交互式终端、桌面应用、每用户 VM 编排、受控网络访问、磁盘配额
  • 能力类:Agent 自主操作网站/预订/客服/受控购买交接、Drive/Docs、社交/银行/健康连接器、设备推送、语音、OCR 扫描件
  • 工程类:多用户认证、部署加固、数据保留/导出、运维恢复

官方原话:「No dates or third-party API access are promised.」——只排优先级,不画饼。

VERDICT

我的评判

亮点 ✓
  • 验证文化罕见:VERIFICATION.md 敢写「没验过的就是没验过」,验收矩阵证据/边界分列——这在 AI 项目里是清流
  • 工程咬合度高:租约、检查点、收据、审批、不确定写入不重试——这不是 demo,是按生产标准写的任务引擎
  • 信任设计对路:「可见的工作 + Take control 接管」正面回答 Agent 黑箱问题;Google 凭证加密 + 每步审批是真防护
  • 上手门槛低:sample 模式零配置跑通全流程,还带完整测试套件当教程
局限 ✗
  • 本质是旗舰演示机:CopilotKit 全家桶的 reference app,卖点是 AG-UI 生态而非独立产品;star 快涨有发布营销的成分
  • 关键链路还没真验:真实 Google 账号、真实模型、Intelligence 实盘都在「待验收」——冲着这些去的人要自己踩
  • 单用户单机:共享密钥不是多租户;容器不是 OS VM、无图形桌面,远没到「Agent 电脑」的完全体
  • 智商税点:Rich Threads live 模式依赖闭源 Intelligence 服务;容器 CPU/内存 2GB 起步的机器别硬上 Docker 那套

结论:值得 clone 下来当「个人 Agent 应用」的工程样板读——尤其任务引擎和安全边界的设计。但别把它当成品用:它是 2026 年 9 月的 alpha,是 AG-UI 生态的探照灯,不是你的生产助手。

← 返回 Tony's Lab
发布 2026-09-23 · 数据快照 2026-09-23 · GitHub CopilotKit/OpenMuse @ main