更新日志
这里记录每次发布给 Plexus 使用者带来的变化。通信协议单独管理版本,更新频率也低得多,详见 协议。
TIP
打了标签的发布及其完整提交历史在 GitHub。
0.10.0 — 编程智能体只在你授权的目录里工作
编程智能体运行在 Plexus 自己的沙箱里。 Claude Code 和 Codex 不再依赖它们自带的沙箱。Plexus 给每次运行套上自己的内核沙箱,并在工具启动前确认它成立。
- 真正只限一个目录。 默认情况下,一次运行只在你授权的目录里读写,临时文件也放在那里,网络保持开放供它访问模型。工具自己的登录状态照常可用;它的设置、hooks 和插件保持只读。
- 你的其他会话仍然只属于你。 沙箱里的运行只写自己的会话,读不到工具主目录里的其余内容:Claude Code 的会话记录、提示词历史、粘贴内容、文件快照和自动记忆,以及 Codex 的 rollout、历史、shell 快照和 sqlite 存储都在它触及范围之外。
claude --resume和codex exec resume对这次运行自己的会话照常可用。Linux 上的一处残留列在已知限制里。 - 每次启动前都会验证。 先在完全相同的沙箱里跑一次金丝雀检查,它必须无法读写沙箱外的内容。证明不了,调用直接失败,工具不会启动,也不会悄悄退回无沙箱运行。
- 结果说明这次运行能触及什么。 固定的
sandboxed: true已移除。每个结果都带有isolation,写明策略和可触及的范围,以及这次运行是否真正受到沙箱约束。读取sandboxed的调用方请改读isolation。 - 需要时可以开启宿主机访问。 Real launch 旁边新增了执行策略设置。把某个来源切换为宿主机访问后,它的运行方式和你在终端里亲手启动一样,能用你的文件、凭据和网络。切换前需要你确认;开启期间该来源会显示 HOST ACCESS 徽章;每次切换都记入审计。
- 控制台里“读取不受限”的警告已移除,因为这句话已经不成立。
桌面应用可以内置 Plexus。 独立的原生 runtime 和管理 CLI 随应用分发,应用搬到安装位置后照常运行,运行时不需要 Bun。受信任的桌面进程通过范围明确的 JSON 命令管理来源、授权和审批,也能替你打开控制台,你不必手动复制 connection key。详见宿主集成说明。
- 事件跟着授权走。 客户端只收到属于自己、且仍在授权范围内的事件。客户端的
/events现在要求已登记的 PAT 及其会话;原先匿名订阅的客户端需要带上凭据。 - 文件来源保护 Plexus 自己的状态。 第一方文件来源拒绝访问 Plexus 和宿主应用的私有管理目录,文件读取能力不会变成读取管理凭据的入口。
其他
- 控制台在窄窗口下保持布局:审批卡片不再挤成单字符宽的竖条,表格在自己的框内横向滚动,Realtime 能放下较长的 agent 名称。
0.9.1 — 连接你日常使用、已登录的 Chrome
attach 现在能连接你日常使用的 Chrome,也多了第三种连接方式。
- 支持
chrome://inspect远程调试开关。 从 Chrome 136 起,Chrome 会拒绝用于默认用户配置的--remote-debugging-port参数。该开关提供另一种连接接口,是通过原生 DevTools 接入默认用户配置的唯一途径;它与传统参数提供的接口现已共用同一连接层。 - Chrome 扩展成为第三种传输方式。 只需在安装时授权一次,不用每次连接都授权,也能用于你平时使用的配置文件。扩展只负责传输:允许列表、审批和审计仍由网关管理,页面无法干预。
- 点击和输入改用真实输入事件。 忽略直接 DOM 写入的自定义表单控件和富文本编辑器现在也能收到智能体的输入;目标被其他元素遮挡时,点击会被拒绝。
- 标签页在被列出之前就已过滤:一个开着 25 个标签页的浏览器里,只有已授权域名上的那些会出现。
0.9.0 — 浏览器控制
新增浏览器控制来源。 它属于 execute 类,通过 DevTools Protocol 操作真实的 Chrome,支持导航、读取、点击、输入、截图和上传,不依赖 Puppeteer 或 Playwright,也无需下载浏览器。
- 所有者要决定的是用哪个浏览器:使用全新、空白、未登录任何账号的配置文件,还是自己已经登录的浏览器。这个选择决定了操作可能影响的范围,其他都是细节。
- 域名允许列表由所有者控制。 检查以实际目标 URL 为准,每次操作前都会重新核对。Chrome 的连接许可针对浏览器,并不限定可访问的网站,因此还需要单独的域名限制。
- 页面内的操作全部开放,包括任意 JavaScript 和原始的页面级 CDP,范围限于代理本来就有权访问的页面。在这些页面内,点击和输入已经让代理具备用户的全部操作能力。浏览器全局的 CDP 则不开放,这条边界让允许列表的限制仍然有效。
- 只能上传你指定的一个目录内的文件;指定目录之前,所有上传都会被拒绝。
参见暴露一个 source。
0.8.1 — 审计记录调用的传输方式
- 审计现在会记录 invoke 实际使用了哪种传输方式。
0.8.0 — 耗时调用支持异步,控制台新增活动摘要
- 异步 invoke 句柄。 耗时几分钟的能力调用会立即返回句柄,释放连接;结果准备好后,智能体再来获取。
- 控制台新增 Activity 概览条——一眼看清最近发生了什么。
- 沙箱运行的失败输出会先脱敏,再交给智能体。
- 完善智能体协议。 拒绝响应现在包含足够的信息,智能体可据此修正请求,无需猜测。
0.7.0——首个公开发布
首次公开发布时,信任模型已确定,本机已有足够多的真实来源可用,让接入智能体有了实际用途。
- 扩充个人数据来源支持。 在已有的 Calendar 和 Reminders 之外,第一方来源新增 Apple Notes、Mail、Contacts、Photos 和 Shortcuts;浏览器标签页、书签和历史记录仅支持读取,Obsidian 支持搜索和追加。
- 智能体只看到已授权的部分。 发现接口不再返回完整目录,只展示所有者授予该智能体的范围;范围外的请求直接拒绝,不再进入审批队列。
- 有副作用的能力默认逐次审批。 此版本中,连接时选择
write或execute不再自动获得持续授权,每次调用都需单独批准。持续授权默认关闭,需按能力主动开启,并经过两次确认。 - 无法确认会话有效时,拒绝访问。 撤销授权会立即彻底停止相应访问。
- 提供四种智能体安装方式。 其中一种可在上下文中完成,适用于既不能访问文件系统、也不能使用 shell 的智能体;快速入门指南涵盖完整设置流程。
- 编程智能体在自己的原生沙箱中运行,不会在外面再套一层沙箱。
0.7 之前
一路走来,每个阶段一段话。
- 0.6.0-rc.1 — 首个公开发布候选版本:重新设计桌面端和运行时,统一授权与信任模型;新增按 Connector → Source → Capability 组织的 What I expose 视图,接入首批 Apple 来源,并提供各来源的健康状态。
- 0.4.0 — 可通过控制台或 CLI 实时添加、启用、重新配置和移除能力来源,无需标志参数,也无需重启。重新配置某个来源的安全相关设置时,会清除该来源的授权。
- 0.3.x — 新增 Claude Code 和 Codex 集成,主流编程智能体可使用 Plexus 提供的能力;通过 Obsidian 自身的 Local REST API,支持读取和写入 Obsidian 内容。
- 0.2.x — 发布 manifest 规范,支持用户编写技能和工作流;提供 macOS 首次使用流程,引导用户完成从安装到连接智能体的过程。
- 0.1.x — 实现网关和 M0 协议契约,并确立此后所有版本的基础原则:默认由人决定是否授权,智能体不能自行授予自己写入或执行权限。