Exo 0.1.0-dev.20260916203710.b2769b62: TurnStarted 事件加入可选 user_id
Exo 将 `TurnStarted` 从无字段事件改为携带 `Option<String>` 的事件数据,字段在 `crates/exoharness/src/types.rs` 定义,并由基础执行路径以 `None` 写入。此变化让事件契约能够表达关联用户,同时保留无用户信息时的旧式用法;契约测试覆盖了有无 user_id 的情形以及旧事件兼容性。
Exo 将 `TurnStarted` 从无字段事件改为携带 `Option<String>` 的事件数据,字段在 `crates/exoharness/src/types.rs` 定义,并由基础执行路径以 `None` 写入。此变化让事件契约能够表达关联用户,同时保留无用户信息时的旧式用法;契约测试覆盖了有无 user_id 的情形以及旧事件兼容性。
后台任务的进程内记录现在会在结果交付或由状态快照恢复后约 30 秒回收,未消费记录仍可在结算后保留最多约五分钟供检查;这调整了 Agent Hub 的任务状态保留契约。官方发布说明还记录了 SQLite 损坏恢复、Provider 状态隔离与流式请求生命周期修复,以及更广的凭据脱敏覆盖,改善了 Thread 恢复和 Tool Call 可靠性。Runtime Prompt 的相邻版本差异集中于 `hub`、`task` 的任务记录保留说明,未观察到工具增删;Static Prompt 比较不可用。
Tool 调度器接入 Omni 媒体策略评估,`coreToolScheduler.ts` 按执行来源处理工具响应;同时新增 Session 条件 Context,提供 Context 窗口和 Prompt Token 计数等配置视图。这些机制为 Tool Call 策略和依赖 Session 状态的条件判断提供了实现入口。Subagent 的 Goal Token 计费和后台任务状态展示也有相应代码变更。
Crush 增加 Plan Mode:Agent 可先与用户讨论并整理计划,再切换到执行;代码在 `internal/agent/prompts.go` 接入独立计划 Prompt,并由 Coordinator 管理主 Agent 切换,UI 增加计划交接流程。另有 Session 读取与消息处理的性能改进,发布说明提及只读取压缩后 Session 的尾部、限制 Prompt 历史并按角色索引消息;代码差异覆盖完整,但所给源码样本未展示这些实现细节。
Agent 主循环在 Tool Call 参数校验失败时,现在可以把校验错误交回模型并继续自我修正;MCP Tool Schema 增补也不再原地修改 Tool Definition,减少严格校验失败。Session 恢复、Subagent 状态跟踪、Hook 与 Skill 配置保留,以及 Skill 热重载也有改进,覆盖从执行循环到重启恢复的多个环节。Runtime Prompt 差异集中在 Tools Schema 的 toolAction 与 toolSummary 描述改写;官方代码变更样本仅观察到 CHANGELOG.md,具体实现文件未在样本中展示。
Refinement 应用后改为在 apply 边界注入持久的 Context 通知,Harness Digest 则在新 Session、压缩摘要和恢复时按需进入 Context;`agent-session.ts`、`session-manager.ts` 与 `daemon-session-summarizer.ts` 承载这些 Session 和摘要路径。这样可保留 Provider 前缀缓存,同时让模型在压缩及恢复后仍能接收 Digest;没有实际应用的 Refinement 不产生通知,也不启动新一轮。另有 `bash.ts` 的破坏性 Git 操作脏树保护、`rlm.spawn` 调用契约调整,以及 `/autonomous on` 的预算参数扩展。Runtime Prompt 与 Tool Schema 的比较不可用,Static Prompt 也无可用比较;这不影响可观察到的发布说明和代码变化。
pi-agent-core 调整流式快照复制,使 `message_update` 只深拷贝本次流更新触及的消息块,并修复原生压缩与乐观快照提交时的历史保留;这降低长轮次流式输出的二次方开销,并避免已摘要或新追加的消息在压缩中丢失。pi-ai 同时修正模型推理块重放、Tool Call 配对及流中错误分类,让部分 Provider 故障能按可重试路径恢复,也避免 Session 因签名或历史格式问题卡死。Runtime Prompt 仅显示 `workpool` 在 `eval` API 描述中的位置调整,工具数量及集合未变;Static Prompt 对比不可用,官方发布说明截断,以下官方信号限于已观察内容。
Artifact 的 Design canvas 和 Slides 工作流转向 `project/` 文件存储:先写索引,再通过 AppifactRepl 发布内容文件;索引保留板块或幻灯片顺序,逐项发布让新内容按序出现。Artifact 数据库的 `update` 新增单字段删除标记,Artifact 评论指引则要求 Claude Doc 的新评论走文档 Connector。官方发布说明也确认数据库字段删除和发布断线后的安全重试,并记录 Session 分叉、权限修复与 Context 计量等变化。
本版本的代码变化主要落在 Subagent swarm 的 TUI 进度渲染、事件处理和状态估算,以及相关事件总线、DI scope 与 tower Session 逻辑。发布说明提到大规模并发 Subagent 下渲染变慢、事件循环停顿和 GC churn 等修复;进度组件与估算器的代码样本显示加入缓存相关状态和样本版本跟踪,改善重复渲染时的计算与更新行为。另修正 Ctrl+C 中断 Subagent 时退出整个 CLI、已删除 Session 暂时出现在全局搜索结果,以及 tower 模式误认新 Agent 为旧 roster 成员的问题。
新增 Agent Plugin 加载器,在 Hub 管理的用户级目录发现并验证 Plugin 包,提供 Skill 与 MCP 注册;忽略 Workspace 内的 `.agents/plugins`,降低打开仓库时隐式启动服务的风险。新增远程环境与 Shell PATH 管理模块,并调整 Agent Runtime、计划任务及 Bash 执行器;发布说明还记录流式重试、Checkpoint 索引和计划任务并发等行为变化。
权限预设新增可共享的 Permission Catalog 和选择界面,并允许控制新 Session 是否显示 Preset 选择;实现落在 `packages/interaction/permission-presets` 与客户端预设 UI,影响权限选择和新建 Session 的配置流程。与此同时,`agent/session-start` 改为异步串行的 `agent/created` 初始化,首个模型请求等待初始化完成;Node PTC 改为独立进程并采用 Session 文件策略、输出与堆限制,改变初始化时序和本地代码的运行环境。发布说明还记录 MCP 资源访问、Headless Session 恢复、SSH 远端 Workspace、浏览器与本机操作等扩展;代码样例直接显示权限目录、Preset 状态管理和相关实现位置,但没有覆盖这些功能的具体实现。
`read` 的目录读取现在明确区分完整根目录与最多展示 12 项的子目录,并提供 `:N-M`/`:-N` 分页,减少目录截断和错误限量提示带来的误读。官方发布说明还显示,本地 Skill 调用被呈现为带芯片的用户回合,网关模型替换会在 Transcript 标明实际服务模型;模型目录缓存与启动渲染也作了调整。Runtime Prompt 的可见差异仅涉及目录读取规则;Tool Schema 修改统计指向 `read`,但差异内容没有给出其定义细节。
Tool Call 层将每次请求的 `any`、`required` 和具名函数约束映射为后端原生 Function Calling 配置,改善受约束调用的执行一致性;发布说明同时记录了 Plugin Hook 枚举、Subagent MCP 继承与相对配置路径解析的修复。Runtime Prompt 的工具清单增加 `find_by_name`、移除 `schedule`,并加入 Skill 与 Planning Mode 指引;这是 Prompt/Tool Schema 层的变化,与官方代码机制分别记录。Static Prompt 当前不可用,无法用于相邻版本比较。
Prompt Context 新增 `render_paired`,并引入 `prompt_offload.rs`;指令加载也增加 `InstructionSource`,可区分 Home、Configured 与 Project 来源。这些改动覆盖 Prompt 构建、Session 队列和 Session 注册;代码样本还显示新增 Agent 目标与配额协调模块,为 Subagent 消息路由和任务管理提供实现落点。代码概览比较的是 1.0.25 到 1.0.32;本版本官方发布说明为空,Runtime Prompt、Tool Schema 和 Static Prompt 的相邻比较均不可用。
本次可见的静态指引新增 AppifactRepl 对 Design canvas 与 Slides deck 的创建、修订工作流,以及对应工具说明:通过批量建立框架、按板块或页面顺序写入内容,并针对文件存储与数据库存储采用不同读写路径。按这些指引执行时,Artifact 可分步呈现,修订聚焦于用户要求的部分;但它们来自 Piebald 第三方静态提取,不能据此确认产品上线、默认启用或运行时执行。Runtime Prompt 相邻差异仅为版本计费头字段变化,Tool Schema 未见增删改;官方说明仅概括为 Bug 修复与可靠性改进,未提供具体实现位置。
Goose 将 MCP 客户端初始化使用的协议版本固定回 `2025-11-25`,并把旧版本协商参数改为 `LATEST`;代码位于 `crates/goose/src/agents/agent.rs` 和 `mcp_client.rs`。这调整了 Goose 与 MCP Server 建立连接时的协议版本协商行为,发布说明也将其描述为回退默认版本选择更新。
Artifact 的调用面按职责拆为发布与读取、评论与 watch、共享数据三类工具,静态 Tool Schema 将 `Artifact` 的操作枚举收敛到 publish/list/read/delete/pin/unpin;行为上让不同操作通过专门入口承载。与此同时,auto mode 的命令授权和 Subagent hand-back 被改为逐命令授权、经安全分类器审查的专用交接,Monitor watch 也改为有期限并需重新布防,明确收紧执行与委派的控制边界。第三方 Static Prompt 档案还显示压缩恢复、委派成本和 Artifact 评论信任处理的模板变化;这些是静态文本观察,不证明运行时覆盖或执行状态。
Hub 的 job/message wait 移除 `timeoutMs`,改由 `POLL_WAIT_LADDER_MS` 按连续等待逐步延长窗口;这同时收紧 Tool Definition 契约,并改变编排端的等待节奏。Eval 调用 Todo 后新增将已提交阶段写入 Session 的桥接;安全诊断则以数字内存统计替代堆快照,并扩展认证解析以支持 Provider 原生 Bedrock 凭据。官方说明还列出 Git TUI 删除变更、BTW 复制反馈及重试时间解析修复等局部改进。
Sandbox 请求开始通过 `policy` 和 `sandbox_policy` 传递网络策略;新增的 `egress` 模块提供 Sandbox Egress、传输和上游解析组件,并接入 Firecracker 等后端。代码样本显示 AWS AgentCore 按 `policy.networking` 检查禁用网络,执行器默认请求改为 `policy: None` 且启用 networking;这为后端提供统一策略入口,同时引入了 Agent Egress 与快照绑定限制。
ACP 加载、恢复和分叉 Session 时恢复模型、effort、mode 选项及 reasoning chunk 边界,使续接后的 Session 保留原有配置与推理分段。TUI 启动时遇到远程配置认证错误会显示错误并以失败状态退出;GitHub Copilot 模型则请求 summarized adaptive thinking。Runtime Prompt 仅更新日期字段,Tool Schema 无增删改;Static Prompt 比较不可用。
delegate_task 的 Tool Schema 新增 images 参数,使具备视觉能力的 Subagent 可在首轮接收图片像素,不具备视觉能力的 Subagent 则获得供 vision_analyze 使用的路径提示。相邻版本源码在 Desktop 的 gateway-event/server-requests.ts 集中处理服务端请求,并让事件处理器采用共享 GatewayEvent 类型,调整请求分发与事件消费契约。官方发布说明还确认了 Gateway 并发刷新合并和 SessionDB 读写句柄共享修复,分别减少刷新突发导致的 Session 撤销与长期运行中的重复写句柄。Static Prompt 无可比较资产;图片传递的实现细节及两项可靠性修复未出现在所给源码样例中,官方说明覆盖的汇总窗口也不同于相邻标签源码比较窗口。
`CoreToolScheduler` 接入 Code Mode 的 Tool Call 运行时,并加入执行 Context 工具与预算相关覆盖;这表明版本在工具调度、执行 Context 和输出处理路径上有实现变化。Agent 执行路径也调整了权限模式映射,并覆盖阻塞 Stop Hook 时不重跑一次性执行器的情形;Web Shell 的排队 Prompt 流程则补充了中途消息接纳与拒绝后的协调处理。
OpenAI 兼容端点更新了依赖,以修复回合中途停止时 reasoning-only 回合的回归;发布说明称此问题与 DeepSeek V4.X Flash 相关改进期间出现。`internal/home/home.go` 现在要求 Home 路径后紧接路径分隔符才缩写为 `~`,避免把具有相同字符串前缀的兄弟路径误判为 Home 子路径。
agent-core-v2 新增 Prompt 事件、Session 事件与 Event Store,把 Session 状态、事件分发和 Agent 生命周期接入新的事件与存储结构;源码样本显示 sessionIndexProjector 引入 dirty journal 标记。这使 Session 活动、索引投影与 Prompt 生命周期有了更明确的事件化落点。Read 可接受 kimi-file:// 引用,以当前 Session 存储中的字节读取附件,且分页引用可跨 fork 保留;官方说明还称 MCP 附件会在无法直接交给模型时保留。另有动态加载 MCP 工具、放宽 goal 时间预算上限及多项可靠性和 Web UI 修复;Runtime Prompt / Tool Schema 的局部变化和代码改动属于不同证据层。
Session 持久化转向规范存储服务和 v4 格式,支持大型历史恢复;目标生命周期在续跑时保留任务内容、拒绝过期操作并避免重叠轮次。代码也显示 RemoteSession 界面按 surface generation 更新状态,并新增权限预设确认与工具内容展示组件,影响 Thread 恢复、远程控制及工具呈现。官方说明另提及编辑版本核对、普通工具错误恢复门槛调整和安装更新修复;这些发布说明未在所给代码样本中展开实现细节。
浏览器工具现在可在省略 `app` 时使用默认自动化,并在首次使用时安装托管 Chromium;指定 `app.path` 时,Chromium 系浏览器默认使用 omp 自有 Profile,也可通过 `--user-data-dir` 指定 Profile。浏览器关闭和 `kill: true` 的契约进一步区分托管 Tab 与应用进程,避免终止复用中的浏览器;安装、启动与交互等待也有超时、复用和并发处理改进。Runtime Prompt 显示 `eval` 的 Tool Definition 有修改,但所给差异未展示其字段变化;没有 Static Prompt 或官方代码样本可供对照。
本地交互 Session 可通过 `collab.autoStart` 在启动时自动托管,新增的 registry、controller 和 CLI 命令提供运行中 Host 的枚举及按实例获取浏览器链接的路径,让协作者可直接连接现有 Session。`agent-session.ts` 增加 Session 转换的提交与回滚屏障,Collab Host/Guest 和界面控制器也处理 Thread 切换期间的待处理交互与后台任务完成状态,降低房间切换和结果回放导致状态错乱的可能。
这一版本在代码层加入实验性 Context Notes,并扩展 Context 构建与维护流程,使摘要可进入 Session Context;同时新增独立持久化的 BTW 旁路对话,并为本地读取加入默认关闭的推测执行与授权检查。对 Agent 的行为影响是:Context 可携带受限大小的补充笔记,用户可在主对话之外继续提问,而符合条件的读取可提前执行;Hook 或参数转换改变调用内容时,推测结果会被丢弃。官方发布说明还列出模型回退推理等级、Subagent 服务等级覆盖及多项 Session、Provider 可靠性修复。Runtime Prompt 的相邻差异只有工作站 CPU 与日期文本变化,Tool Schema 无增删改;Static Prompt 比较不可用。
Bash 中只读 Git 命令在 Session 运行一段时间后会意外要求权限;2.1.270 修复了 2.1.269 引入的回归,恢复这类命令的预期执行行为。可观察的代码变化位于发布记录与 feed.xml,证据未展示底层权限判断实现。
Plugin 内的 MCP 服务器现在按 `<plugin>_<server>` 自动命名,避免与其他 Plugin 或 `mcp_config.json` 中的服务器同名冲突;Thread 恢复也针对大型历史记录的冷、过期摘要缓存改善了启动响应。`view_file` 拒绝非 UTF-8 二进制文件和超过 100 MB 的文件,避免将不适合的内容载入 Context;Session、Snapshot、Gemini 思考块传递及后台缓存清理也有可靠性修复。官方代码变更样本仅覆盖 `CHANGELOG.md`,实现位置无法从本包确认。
Crush 将 ChatGPT OAuth 接入 Provider 构建流程,并为 `crush run` 增加带模型校验的 `--reasoning-effort`,让订阅登录和无交互运行可以携带 Reasoning Effort。服务端以 Go 原生 endpoint registry 替代 Swagger 生成代码,发布说明称二进制减少约 4MB;界面滚动渲染缓存与共享动画时钟也减少了重复工作。
Agent 新增 Anthropic 服务端 Context 压缩:`packages/agent/src/compaction/anthropic.ts` 实现压缩请求与载荷处理,Session Context 和持久化代码接入该载荷,使后续 Anthropic 请求能原生重放压缩块,同时其他 Provider 仍可读取纯文本摘要。该机制按模型能力和实际请求端点启用;压缩请求复用当前轮的 System Prompt、Tool Schema 与历史,较短 Context 继续本地摘要。另有 Session、Subagent、任务隔离和界面交互的局部改进;Runtime Prompt 差异仅为捕获环境中的 CPU 与日期文本变更,未见 Tool Schema 变化。
浏览器凭据流程改为通过保险库工具处理密码、付款信息、地址和一次性验证码:Runtime Prompt 规定凭据由工具填写、密码管理器解锁及验证码请求由用户界面处理,并要求填写时核对绑定的页面来源。Desktop 在 `input-requests.ts` 接入保险库请求状态,Tool Call 入口则改为 `calls` 数组并限制可批量调用的工具类型;这些机制让 Agent 能执行登录与填写流程,同时将秘密值和高风险交互留在受控工具及用户界面内。官方发布说明还提到 `state.db` 可靠性修复、多 Profile 隔离和 Plugin 目录等变化,但给出的源码样例不足以展开这些子系统的具体实现。
桌面端把历史快照与实时事件纳入统一的聊天记录投影,并为 Remote Thread 加入快照分页、事件重放和状态转换处理;这有助于减少内容重复、事件遗漏及切换时加载竞态。Windows 壳恢复、Checkpoint 保留策略和浏览器控制也有更新,影响桌面 Session 恢复与历史数据管理。
新增 `claude plugin eval`,为 Plugin eval suite 生成可复现的评分结果和 JSON/HTML 报告;Bash Tool 处理文件编辑时可附上改动 diff。发布说明还记录了 `/output-style` 切换、Workflow 并发配置,以及 prompt cache、恢复 Session、后台任务和 `/goal` 重试等修复,分别影响 Plugin 评测、命令执行反馈和 Session 可靠性。代码概览观察到的改动限于 `CHANGELOG.md` 与 `feed.xml`,未包含这些功能的实现文件。
自定义 Agent 可通过 Markdown frontmatter 中的 `excludeDefaultComponents: true` 排除默认 Prompt sections 和内置工具,同时保留调用后 Hook;模型 API 的瞬时错误则在进程内指数退避重试,并保留已完成的 Tool Call 输出。这些机制分别影响 Agent 组件组合、失败恢复和 Session 续接行为;官方发布说明还提到开放对象 Tool Schema 校验、长对话响应与内存、Terminal 显示及 Remote Control 状态修复。代码变更证据只观察到 `CHANGELOG.md`,未包含这些功能的实现文件。
sessions_history 明确区分 messageId 锚点读取与 offset 分页:有锚点时 offset 忽略,limit 仍限制窗口,改变了 Agent 定位历史 Context 的调用契约。代码变更落在 src/agents/tools/sessions-history-tool.ts;执行审批相关的 src/agents/bash-tools.exec-host-gateway.ts 则出现自动审批资格、自动审查拒绝结果和 Shell 启动警告相关依赖,显示执行路径也在调整。另有 Session 工具结果守卫与 Gateway Session 事件处理的代码变更;现有样本能确认涉及这些模块,但未展示足以细述其行为的实现片段。
桌面壳改为从打包资源 `build.json` 加载完整版本、发布渠道和提交标识,并将数值版本留给 Electron 原生元数据;这样壳与内置服务可向握手和界面报告一致的构建身份,修复 v1.38.5 安装包因 build mismatch 无法启动的问题。发布流程增加正式模式启动检查,验证服务握手、界面到服务的实际调用和正常退出,并清除继承的开发及服务环境覆盖。Runtime Prompt 与 Tool Schema 的当前捕获及相邻比较均不可用;可观察的 Runtime Prompt 与 Tool Schema 差异为零,不能据此判断其比较基线。
Agent 的 Context 管理更准确地计入开发者消息与用户图像,并在连续压缩时保留前次压缩留下的消息;相应实现落在 Agent Loop、Compaction 与 Session 相关模块,减少预算偏差和历史遗漏。交互侧增加可选 Vim 式编辑与已批准计划自动保存,分别落在 TUI Editor、状态栏及 Plan Mode,使 Terminal 编辑更丰富,也可将计划留存到项目目录。官方发布说明还记录了 Plugin Skill 选择、协作 UI 请求恢复和流式编辑保护等局部可靠性改进;Runtime Prompt 的 read 使用说明增加了面向视觉模型的图像读取路径。
桌面端从 Wails 迁移到 Electron,由 Electron 主进程管理窗口与远程面板;同时新增事件流缺口检测、快照恢复和中断工具恢复界面,使 Session 能在事件丢失或工具执行中断后恢复状态并继续处理。代码集中在 `desktop/electron/src/shared/eventStream.ts`、`desktop/frontend/src/lib/desktopEventRecovery.ts`、`controllerEventRecoveryWorker.ts` 和 `ToolRecoveryPanel.tsx`。恢复流程保留已挂载 UI 与未发送草稿;工具恢复提供检查、确认、拒绝和可选安全重试。