AOS Community Edition 版本演进全景:从 2026.1.3 到 2026.9.3 的发布变更与核心能力解读

AOS Community Edition 是开源的 agent 操作系统(open agent operating system),本文以仓库根目录的 CHANGELOG.md 为骨架,系统梳理 AOS 自产品化首版 2026.1.3 至 2026.9.3 的完整演进脉络:版本规则、命令边界、MCP 交互桥、原生审批/私密输入呈现、分发与发布安全链等核心变更。读完本文,你将掌握 AOS 每个发布版本解决了什么问题、引入了哪些可操作参数与命令,并能沿着给出的源码路径深入核对底层实现。

版本规则:CalSemVer 与发布节奏

CHANGELOG 开头即声明:变更记录遵循 Keep a Changelog 格式,版本号遵循year.month.patch(年.月.补丁)规则。更完整的版本语义定义在 release/VERSIONING.md:

  • 每个日历月的首个版本补丁号为 0,例如2026.9.0;同月后续修复依次为2026.9.1、2026.9.2……
  • 新月份系列从补丁 0 重新开始,如2026.10.0;
  • 旧系列的维护版本保持其年/月并递增补丁号,不重命名已有发布;
  • 版本对齐不替代显式的运行时兼容性要求,年份组件不构成传统 SemVer 的兼容性主版本保证;
  • 历史版本不可变:2026.1.x是独立的历史系列(产品化首个系列,并非一月),Astrid0.10.x、Oracle0.2.x同样保留历史身份;
  • Git tag 约定:Astrid 与 Oracle 使用v前缀,AOS 不带前缀;
  • AOS 目标版本2026.9.3对应已发布的 Astridv2026.9.4,Oracle 保持独立版本号。

当前仓库的发布目录完整保留了这些系列的发布说明,例如 release/RELEASE-2026.9.3.md、release/RELEASE-2026.9.0.md,以及记录依赖锁定的 release/DEPENDENCIES-2026.9.0.md。

2026.9.3:原生交互呈现与 MCP 私密输入闭环

2026.9.3 是紧随 2026.9.2 的可用性与升级补丁,核心主题是让原生 Command Center 在普通aos start/restart与 MCP 宿主旅程中可见,并补齐私密输入与多轮交互处理。

Unix 上的aos console:键盘/鼠标决策终端

新增aos console(仅 Unix):一个用于审批决策与掩码私密输入的键盘/鼠标 Command Center,支持在运行 AOS 的机器上经 SSH 使用。连接后的控制台让审批类 MCP 调用立即返回 pending 结果,并附带指引指向正确的本地或远程 AOS home;同时提供一个只读状态工具用于检索原始结果而不会重放工作。其实现位于 crates/unicity-aos-bootstrap/src/mcp/pending.rs:

  • 状态工具名为aos_approval_status(见 pending.rs),只接受approval_id一个参数,注释明确"决策与秘密永远不来自状态工具参数";
  • 当控制台 socket 命中home/console/approval.sock时,pending 结果的指引文案会提示"在运行该 MCP 服务器的机器上已打开的 AOS console 中查看请求"(pending.rs);
  • 状态工具的 schema 标注readOnlyHint: true、destructiveHint: false、idempotentHint: true,语义上不可审批、不可提供密钥、不可重复操作(pending.rs)。

macOS 菜单栏 App 与 Command Center 打包

开发者预览版的 macOS 菜单栏 App(源码见 apps/aos-tray)包含权限对话框、类型化私密输入表单、运行时概览、可搜索的 capsule 清单与主身份选择。显式本地设置会绑定专用响应端;断开连接与取消永远不会被当作批准。

发布链路的打包行为:从AOS_COMMAND_CENTER_APP打包share/AOS Command Center.app,原样复制到不可变发布目录与当前用户的 Applications 目录;安装器打开稳定版 App,它注册为登录项,aos start/restart以及 Oracle 侧aos mcp serve会话都会重新打开它,使原生审批与输入请求有可见的呈现端。不含该成员的归档仍可正常安装;开发者预览构建不打包 GO(发布候选)。

拦截 MCPinput_required:多轮输入绑定与失败关闭

在aos mcp serve的原生(native)、自动(auto,当客户端缺少表单能力时)与拒绝(deny)模式下,拦截现代 MCP 的input_required结果:原始tools/call以回显的requestState恢复给运行时;不完整的中间结果不会泄漏到宿主流。

底层是有界的原生 MRTR(multi-round tracking)关联器,实现在 crates/unicity-aos-bootstrap/src/mcp/mrtr.rs:按 JSON-RPC id 记住在途tools/call,把匹配的InputRequiredResult转成回显requestState的恢复tools/call;requestState令牌不是改变原方法、名称、参数或_meta的权限(mrtr.rs)。

关键边界参数(见 crates/unicity-aos-bootstrap/src/mcp/mod.rs):

参数默认值上限行为
--max-in-flight-calls321024同时跟踪的原生tools/call上限;每个条目克隆参数,因此也是内存边界。超额的唯一调用失败关闭,不丢弃已跟踪请求
--max-input-rounds864每个被跟踪tools/call可消耗的不同输入轮数上限;轮数耗尽时完成该调用、向宿主返回 JSON-RPC 内部错误并取消运行时请求

对应测试(如 mrtr.rs 中的多轮/超额用例)覆盖了"input_required 索取超过原生桥可收集的表单数"等失败路径。

--interaction-socket与--interaction-timeout

可选aos mcp serve --interaction-socket PATH通过同用户 Unix socket提供原生托盘呈现,要求--interaction native,且不会回退到 AppKit 或 MCP 宿主(mod.rs:非 native 模式或非 Unix 平台会直接报错退出)。--interaction-timeout控制托盘提示截止时间,默认120 秒,取值范围 1–300(解析器与边界测试见 crates/unicity-aos-bootstrap/src/mcp/interaction.rs 及 mod.rs);它独立于转发给运行时的--request-timeout。

aos mcp serve在 Unix 上还会自动检测已打开的 console:当home/console/approval.sock存在且当前模式为 auto/native 时,自动切换为原生 socket 呈现(mod.rs);无效的既有端点会取消而非静默改道 consent。

修复清单(2026.9.3)

  • 权限修复:升级时修复既有遗留runtime/secrets、runtime/home、runtime/cow树权限,使 2026.9 之前的 home 满足 Astrid 的 owner-only 私密根契约,且不创建/跟随不安全条目(相关实现见 legacy_private_permissions.rs);
  • 无参启动:无参数启动 AOS Tray 时绑定当前用户~/.aos/bin/aos与~/.aos(或合法的绝对AOS_HOME),不再让 Finder 启动无法盘点或设置原生输入;
  • 失败的 native-input 设置只清理本次创建的文件,拒绝而非删除已存在的设备密钥 sidecar;daemon 中成功的配对 redeem 不回滚;
  • 身份绑定:native-input 设置规范化 macOS/tmphome 别名后再配对,设置收据绑定到请求的主身份与期望的连接路径;MCP 工具结果同时绑定到工具发现时内核盖戳的身份与 call id(包括审批后恢复的调用);
  • 帧保真:双向读取中断时保留部分 MCP 帧前缀,不丢弃已读内容;本地处理的 MCP 审批回复回送给请求方运行时,而非发给 agent 宿主让运行时空等;
  • 失败关闭:当原生跟踪的tools/call复用已在途 JSON-RPC id 或格式非法时,aos mcp serve整体失败关闭,不转发也不恢复原调用。

2026.9.2 与 2026.9.1:运行时升级与无 API Key 初始化

2026.9.2(2026-09-13)的核心变更是捆绑 Astrid 2026.9.2:新增可选的认证 MCP Streamable HTTP 传输,并为该传输遵循所选 workspace 配置;现有 stdio 宿主集成与 Community capsule 选择保持不变。同时精确更新运行时与客户端库 pin,保留 GNU、musl、macOS 文件系统提供者与认证的运行时元数据。

2026.9.1(2026-09-10)捆绑 Astrid 2026.9.1,用于初始化、恢复的授权、跨关机的 durable capsule 保存、干净的 daemon 退休与原生 capsule 子进程输入修复;GNU、musl、Darwin 各自保留文件系统提供者。修复项包括:

  • Community 与 Oracle 宿主设置不再要求 OpenAI API key:provider 凭据可在需要时配置,宿主 MCP 工具不依赖它们;
  • 系统检查读取主身份作用域的已加载 capsule 元数据(而非过时的私有 capsule 目录);共享可执行文件哈希仍为引用,缺失元数据会被报告而非静默省略。

2026.9.0:产品化里程碑

2026.9.0(2026-09-09)把产品从2026.1.3推进到2026.9.0,是能力密度最高的一版。

新增能力

  • 签名 macOS 文件系统 App:经通用安装器安装,覆盖官网与 Oracle 引导路径;AOS.app 保留 Astrid 的签名内部身份,macOS 审批失败包含重试指引;
  • 原生 Linux musl 产品归档(x86_64 与 ARM64)、认证的平台选择与捆绑 FUSE 提供者;GNU Linux 与 Darwin 捆绑各自文件系统提供者;
  • aos distro apply --principal P --yes:用所选主身份与 AOS 激活收据应用签名的 Community 清单;
  • AOS 拥有的 MCP broker 与宿主交互桥,面向 Codex、Claude、Grok:各宿主保留独立的 capsule 集,而非接收全部已装 Community capsule;
  • 认证的宿主 hook 入站、协议特定适配器、会话绑定的 meta-harness 上下文投递;
  • aos daemon foreground:供 supervisor 使用,拥有信号与退出状态所有权;Unix 上直接替换 AOS 进程,非 Unix 上等待 daemon 并保留其退出状态(README.md 的命令边界一节);
  • 有界 Rhai 求值与语义 surface/catalog 组件(源码存在于 capsules/capsule-surface-model 与 capsules/capsule-surface-catalog),但在源码中存在不意味着进入默认 Community 发行版。

变更与发布契约

  • 运行时与 Rust 客户端依赖 pin 到已发布的 Astrid 2026.9.0;
  • 运行时可执行文件位于不可变版本化发布目录(如 lib.rs 的releases//布局),与 durable 运行时状态分离;停止的运行时只含其私有的非空astrid.volume;
  • Community 发布选择22 个 capsule 产物(README 确认安装器安装精确的 22 个 CE capsule 到产品所有的~/.aos根下);Oracle 独立打包并要求aos-mcp、aos-skills,存在aos-forge时一并纳入;
  • 签名发布元数据绑定可执行字节与 capsule 清单;安装保留认证的 Distro 清单、锁与签名;
  • 原生审批回退:无 MCP 表单支持的宿主使用 macOS AppKit、Windows 原生确认或 Linux Pinentry;交互桥拒绝自由格式与秘密形状字段;
  • 运行时兼容目标为 Astrid 2026.9.0 与 Oracle 2026.9.0(release/RELEASE-2026.9.0.md);Windows 安装不在本发布认证范围。

移除

  • 移除内嵌的 Telegram capsule,改由独立仓库维护(CI 目标已改为实际包名aos-telegram)。

修复

MCP 转发保留 framing、workspace 与 request-timeout 参数、stderr 与子进程退出/信号结果;每个委托的 stop 都先确认再报告成功关机;状态使用所选主身份而非静默假定默认;GNU 构建支持 glibc 2.34 的企业 Linux;musl 目标使用原生 musl 二进制而非重贴标签的 GNU 归档;必需的文件系统提供者可执行文件在安装与自愈中存活。

2026.1.3:产品首版与发布安全链

2026.1.3 标记为 Unreleased 但构成 AOS 产品化的基础,CHANGELOG 中集中描述了它的边界设计:

  • aos产品命令与产品所有的~/.aos状态边界:Astrid 保留独立ASTRID_HOME/.astrid兼容契约,AOS 拥有~/.aos,仅向子进程传入私有运行时 home,绝不改写独立运行时安装(crates/unicity-aos-bootstrap/src/lib.rs);
  • pin 的 Unicity CE 分发清单:以 Astrid Runtime 0.10.4 为捆绑运行时的 operator 强制 distro(清单见 distros/community/unicity-ce/Distro.toml);
  • 可复现的 macOS/Linux 发布捆绑:BLAKE3 主校验和与 Homebrew 兼容 SHA-256 清单、Sigstore bundle、GitHub 构建来源证明、显式运行时/WIT 兼容元数据;
  • 幂等安装器/更新器:替换运行时状态的同时保留之,协调替换 AOS 与 Astrid 可执行集,原子安装产品版本的 Community capsule 集;
  • Schema-3 运行时导入收据:blake3:内容摘要,对 pre-release SHA-256 收据失败关闭;导入持有独立 daemon 的既有单例锁,中断的未收据切换总是先回滚再复制当前锁定源(迁移契约见 docs/runtime-migration.md);
  • 19 个可安装aos-*产物的签名发布路径:精确源/清单身份校验、产品归档包含、离线供给、归档安全校验、BLAKE3/SHA-256/Sigstore/来源证明;
  • Forge 进入默认 CE 发行版(capsules/capsule-forge):可发现的引导与技能教新 agent 在 AOS 上构建用户态 meta-harness——把指令、记忆、技能、harness 代码、工具、capsules、traces 与评估视为可改进的世界;agent 在真实工作中发现能力缺口时主动使用 Forge,可选 worker 只是用例选择而非前置条件;
  • 严格签名通道契约:stable/dev/nightly 与不可变发布元数据,精确工作流身份、过期、防重放代际状态、失败关闭的直接安装器解析(docs/release-channels.md);
  • 原生发布门禁:初始化干净 AOS home、验证精确 19-capsule CE 锁与授权及 ready 集、重复初始化不改变运行时状态、发布前证明干净 daemon 关机(对应脚本见 scripts/test-final-runtime-boot.sh 等);
  • 原生aos status:输出认证的运行中状态与已验证的停止状态,不调用运行时 CLI;
  • 可选的每日 nightly 列车:确定性运行日期版本、精确 Astrid 兼容 pin、受保护的发布/提升、中断后幂等恢复;默认禁用,合入main绝不发布。

核心结论:变更如何落地为命令与配置

综合 CHANGELOG 与源码,AOS 的演进遵循三条主线,可分别用具体命令验证:

  1. 命令边界持续收敛:所有产品根(init/status/migrate/update/distro/mcp/daemon/serve-health)由 AOS 拥有,其余运行时根原样透传,不存在嵌套的aos astrid命名空间(README.md)。典型用法:aos status --json、aos --principal codex-code mcp serve、aos daemon foreground --workspace /workspace。
  2. 原生交互逐步成为一等公民:从 2026.9.0 的 AppKit/Windows/Pinentry 回退,到 2026.9.3 的 Unixaos console、macOS 菜单栏 App 与--interaction-socket,交互桥始终只接受单一布尔值或固定 AOS 审批枚举,拒绝任意字符串、密码形状字段与 URL 索取。
  3. 发布安全链全程签名且失败关闭:校验和、Sigstore、来源证明、认证通道解析、运行时兼容与升级/自愈门禁缺一不可;runtime-compatibility.toml精确 pin 运行时版本与 WIT commit,机器可读的兼容性门禁与升级/自愈门禁必须同时为真才能打 tag 发布。

如需在真实环境验证上述变更,可参考 README.md 的安装流程(aos init,含--offline本地供给;首次安装会自动按 Astrid 的十 capsule 批次在限速窗口后恢复,全部 22 个 capsule 约需两分钟等待),再通过aos status、aos --principal mcp serve与aos console逐项体验。对发布流程感兴趣的读者,可从 scripts 下的test-*.sh与test_*.py测试族继续深入。

赞分享
上一篇:js-dxf 项目安装和配置指南
下一篇:Umi-OCR完全指南:免费开源的离线OCR工具,让文字识别变得如此简单

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考