Repository navigation
v0.64.0
0.64.0 (2026-11-07)
⚠ 升级须知 / Upgrade notes
主机从 v0.63.0 升到 v0.64.0:按 docs/runbooks/release.md §3.133–§3.142 执行。带两个迁移,都随 apply-release.sh 自动应用,都可逆:governance 0040_pack_installs_from_admin_proposals(§3.137)与 core 0054_audit_acting_through(§3.138),见 §6 两行。不改 compose,没有新环境变量,主机 .env 与 secrets/kernel.env 都不用改。
Two reversible migrations (governance 0040, core 0054) apply automatically with apply-release.sh. No compose, .env or kernel.env change.
同版升级:控制台与内核同版(§3.137 的控制台用到 install_pack 的新参数);kernel、agent-host、worker-supervisor 与 worker-runtime 仍按 §3.112 一起升。主机按大版本攒着升(release.md §1 第 6 条),这一版发出不等于要升主机。
这一版是什么:管理员智能体能提议安装能力包,审计写明每件事经由谁做,几个控制台丢内容、看不懂的地方修掉了。
- 管理员智能体与能力包(§3.137):平台管理员的管理员智能体能列出部署里的能力包,并向某个工作区的所有者提议安装其中一个。所有者在提案里或「能力包」页安装,两条路径是同一个
install_pack、同一套权限;装完提案记为已应用,安装记录能回到提案。装不了时(包已不在、版本已不是最新、已在「能力包」页装上)只能拒绝,控制台写明原因。新的 409:admin_proposal_segment_is_pack_install、admin_proposal_pack_mismatch。开着ADMIN_AGENT_ENABLED的主机升级后就能用;没开时没有影响。 - 审计写明经由谁(§3.138):审计记录写明每条操作是人本人做的,还是经由管理员智能体、入口智能体、Worker、服务或成员的 Handle 做的,或是系统自己的后台工作;
audit_query、platform_audit_query、platform_overview/platform_status的recentAudit、reconstruct的审计行多actingThrough与actingSessionId(可为 null)。智能体被拒绝的调用也会进审计,每个会话每种拒绝每小时最多 20 条,其余只计数(指标nexttime_capability_refusals_total)。升级前的旧记录这一项为空。工作区与平台两个审计页都显示「经由」一列,能按它筛选,升级前管理员智能体代为的旧行也筛得出(#1035);Worker 与服务账号的行写出名字,被拦下的行用中文写出原因(#1038)。 - 会话过期不丢内容:对话输入框(#1023),以及技能、流程、目标计划编辑器(§3.140),会话过期后重新登录回到原处,没保存的内容还在;登录页说明为什么要重新登录;
connection_closed的提示不再叫人刷新页面(页面会自己重连)。 - 切换工作区(§3.134):连不上平台时提示不再自动消失,带「刷新页面并进入」按钮;内核
/ws每次认证与关闭各记一行日志。 - 「系统与授权」(§3.135):「成员」是可搜索的下拉框,已授权的成员标「已授权」、不能再选。
propose_goal的描述(§3.133)写清验收放在plan.acceptance、路径是 JMESPath;校验行为不变。- 验收脚本(§3.136):单独跑
accept_s1/accept_s2/accept_s3后会停掉它起的 fake-llm。 - 内核小修(§3.139):第二次
stop_agent保留第一次的停止请求时间,用户看不到区别。
已知问题
- 审计页选「本人」等筛选时,第一页可能全是被隐藏的读操作,要点「加载更多」(遗留 669)。
Known issue (legacy 669): filtering the audit pages (e.g. by "in person") can show an empty first page of hidden reads; use "Load more". - 开着管理员智能体的主机每跑一次 S2,「平台 · 集成」页多一个停用的
accept-tickets-<nonce>实例,gate-host 里留一份测试凭证(遗留 629)。
Known issue (legacy 629): on a host with the admin agent switched on, each S2 run leaves one disabledaccept-tickets-<nonce>instance and one test credential in gate-host.
回滚(回退目标 v0.63.0,见 release.md §6 两行与 §3.133–§3.142 各节):全部只回退代码即可。旧代码不写、不读 0054 的两列,两条约束对 null 都成立;0040 放宽的约束与旧版本写的行兼容。只回退代码时,旧控制台列出 pack_install 段会显示不认识的条目类型、也应用不了它,只能拒绝或撤回。要撤迁移,按 0040、0054 文件头的步骤做(0040 的前提是没有带提案溯源的 pack 记录、也没有 pack_install 段)。
测试
- 测试缺口批次 D 全部完成:审计 actor 遍历(#1027)、重复调用语义(#1031,能力矩阵
repeat列与守卫 M6,首批 8 行已声明,其余在遗留 664、665)。 - 批次 F(#1008):staging 每轮预演都演练回滚与恢复。批次 B1(#1012):e2e 定位守卫上线,存量只减不增。
draft-evaluations集成测试不再因 CI 负载超时连锁失败(#1032,遗留 663)。
Features
- admin-agent: let the admin agent see capability packs and propose installing them (AA5g) (#1002) (6705498)
- kernel: record what an audited act came through and audit refused Handle calls (#1028) (6c6beb2)
- web,kernel: a refused audit row says why, and a Worker's or service account's act names it (legacy 666, 670) (#1038) (3d11bd7)
- web: show and filter what an audited act came through on both audit pages (legacy 666) (#1035) (70479cd)
Bug Fixes
- accept: stop fake-llm once the production provider is back (legacy 643) (#1001) (01f16f2)
- goal: say where propose_goal's acceptance goes and that paths are JMESPath (legacy 645) (#1000) (8e048d4)
- web,kernel: offer a reload when a workspace switch cannot reach the platform (#1003) (4015564)
- web: keep the chat draft and say why across a session that expires (legacy 658, 659) (#1023) (c77ed15)
- web: keep the skill, procedure and goal plan editors' unsaved work across an expired session (legacy 662) (#1029) (dfe80d4)
- web: pick the member to grant in one searchable list on Systems & access (#997) (729bae9)
This PR was generated with Release Please. See documentation.