@tea-agent/loop-agent 0.44.0-next.1 → 0.44.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +178 -175
- package/dist/build-stamp.json +3 -3
- package/dist/executors/pi-sdk-executor.js +29 -1
- package/dist/shared/wizard-local-telemetry.js +50 -0
- package/dist/worker/console/chat/chat-event-store.js +3 -0
- package/dist/worker/console/chat/db-connections.js +790 -0
- package/dist/worker/console/chat/pi-runtime/custom-tools/operator-tools.js +1 -1
- package/dist/worker/console/chat/pi-runtime/custom-tools/sql-tools.js +627 -0
- package/dist/worker/console/chat/pi-runtime.js +66 -6
- package/dist/worker/console/chat/routes.js +154 -3
- package/dist/worker/console/chat/sdd-data-alignment.js +8 -31
- package/dist/worker/console/chat/timeline-message-order.js +22 -0
- package/dist/worker/console/chat/tools.js +34 -0
- package/dist/worker/console/chat/turn-process.js +43 -39
- package/dist/worker/console/dag-confirmation.js +3 -0
- package/dist/worker/console/dag-execution-receipt.js +3 -0
- package/dist/worker/console/operator-actions.js +32 -2
- package/dist/worker/console/server.js +5 -1
- package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-8-j6y-sd.js → abnfDiagram-N423BO3Z-COQlLTI7.js} +1 -1
- package/dist/worker/console/static/assets/{arc-eoQiMvuk.js → arc-zN3QkNaV.js} +1 -1
- package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-C4A3uMcI.js → architectureDiagram-T3A2C74G-Pyoyj5f2.js} +1 -1
- package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-D4zD2F-Q.js → blockDiagram-VBNYF7ZC-BNppA5WW.js} +1 -1
- package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-j1RkJziL.js → c4Diagram-5PPSVZJV-lyxL8nTx.js} +1 -1
- package/dist/worker/console/static/assets/channel-CgLPkTw2.js +1 -0
- package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-YBHmhik1.js → chunk-2GRJ4B5K-0hgjcdK4.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-COfWyo9P.js → chunk-2Q5K7J3B-D63N9d4i.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5RXB4S5H-I99OUkHY.js → chunk-5RXB4S5H-CUw2AyB5.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5VM5RSS4-XKxoJNJ4.js → chunk-5VM5RSS4-Q_kwZT30.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-DLT_cYx1.js → chunk-6Q2QTUOP-C7vMiKcw.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-GF5L2VYU-CxcKZ9mV.js → chunk-GF5L2VYU-T9GbV5Hz.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-JWPE2WC7-V1EqXdjY.js → chunk-JWPE2WC7-D8nUSUJI.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-KBJHAD2P-DebTtdFp.js → chunk-KBJHAD2P-BCH2ewdp.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-RYQCIY6F-B-ivNRDf.js → chunk-RYQCIY6F-BTdDuDBN.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-XXDRQBXY-DC_Ds11b.js → chunk-XXDRQBXY-Cqm2RcKF.js} +1 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-CuSD1Mhb.js +1 -0
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-CuSD1Mhb.js +1 -0
- package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-sWEqKwIb.js → cose-bilkent-JH36ORCC-pjwfpVu4.js} +1 -1
- package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-BXa_dcu4.js → cynefin-VYW2F7L2-BvalptKA.js} +1 -1
- package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-C-Mle84F.js → cynefinDiagram-MW4NZA55-BU4qJ6d7.js} +1 -1
- package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-CXPDBITe.js → dagre-VZM6K2ZE-DVTpq8J9.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-7IWD3JNH-CC-WJQfa.js → diagram-7IWD3JNH-B8s1W6Fc.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-CDAV5Vs4.js → diagram-B4RE2ZJO-DPrFk9yH.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-LBJQPF4R-CmFiAcNz.js → diagram-LBJQPF4R-CnQIQsHC.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-Q27KOJAE-DPBZHuyn.js → diagram-Q27KOJAE-op0DEpCv.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-UB23O5K3-jUlm_Ds3.js → diagram-UB23O5K3-DXQamm4T.js} +1 -1
- package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR-DWhQ3mfY.js → ebnfDiagram-BXEA7PRR-b1ad2C0r.js} +1 -1
- package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-Tr2gMqet.js → erDiagram-JOGREHBK-B4cD-ZFJ.js} +1 -1
- package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-DJjVQHPA.js → flowDiagram-UKHOOZJN-CrgGjlQ1.js} +1 -1
- package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-D74dQ4u0.js → ganttDiagram-PKOTCBZU-DovmXQNV.js} +1 -1
- package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-DwW0tZ0X.js → gitGraphDiagram-DS77QQ5N-DpFyu2Jn.js} +1 -1
- package/dist/worker/console/static/assets/index-DHBWEwz_.css +1 -0
- package/dist/worker/console/static/assets/index-JRfTUgP7.js +478 -0
- package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-ILCbxJyb.js → infoDiagram-6WML65LV-D3MoQZIl.js} +1 -1
- package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-DeuWBQ89.js → ishikawaDiagram-WSZJBQD7-Ci6C1yjS.js} +1 -1
- package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-CF5ih8Fk.js → journeyDiagram-NVQOT4AX-BWMo2lIP.js} +1 -1
- package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-C7yOSuRO.js → kanban-definition-27J2QSJJ-BdthIAg3.js} +1 -1
- package/dist/worker/console/static/assets/{linear-BDZ9riWi.js → linear-DuFAlSOj.js} +1 -1
- package/dist/worker/console/static/assets/{mermaid.core-7pKqYtpZ.js → mermaid.core-Dqz3Slj9.js} +5 -5
- package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-LeJDybSU.js → mindmap-definition-FAOFIHXS-DNVTrD09.js} +1 -1
- package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-BJvT3pMD.js → pegDiagram-VL7TDLO6-CgfZPfBh.js} +1 -1
- package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-_rGqpMan.js → pieDiagram-7S7Q4E2Y-ClM9P7yo.js} +1 -1
- package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-DPcSv5aA.js → quadrantDiagram-CIZ2JOQS-DwnEak2J.js} +1 -1
- package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-Drxx4hkJ.js → railroadDiagram-AXF67PYL-rK4hxt9P.js} +1 -1
- package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-BCTUdU4z.js → requirementDiagram-LRYGKXZP-Cjqa6vo3.js} +1 -1
- package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-B6wzbZmB.js → sankeyDiagram-W5VNT64P-D3Fa250Z.js} +1 -1
- package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-BGt8d3QQ.js → sequenceDiagram-SI44F4Z6-2PdrNajj.js} +1 -1
- package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-7nlhJKo7.js → sizeCapture-X5ZJPWSS-BBcuGeZn.js} +1 -1
- package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-Cv2stqMA.js → stateDiagram-OKZ733FA-CSJX9X6s.js} +1 -1
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-Cqskj0zt.js +1 -0
- package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-qDAo4Yc1.js → swimlanes-SLNWSIFB-pOUU1bic.js} +2 -2
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-CM0ZIhNP.js +8 -0
- package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-CKbDNKTr.js → timeline-definition-Z64GVDOM-CAeqfQn0.js} +1 -1
- package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-DI-9EHic.js → vennDiagram-T6HMQDX7-DYPLOMVO.js} +1 -1
- package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y-BrzzRDpX.js → wardleyDiagram-T6FBY63Y-Dy2V0Cha.js} +1 -1
- package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M-BclH5hGh.js → xychartDiagram-ELKLHX3M-Dj9o7jrn.js} +1 -1
- package/dist/worker/console/static/index.html +2 -2
- package/dist/worker/console/static-src/operator-chat/chat-sse-events.js +33 -1
- package/dist/worker/console/static-src/operator-chat/chat-stream-continuity.js +101 -0
- package/dist/worker/console/static-src/operator-chat/compaction-message.js +18 -3
- package/dist/worker/console/static-src/operator-chat/pending-user-message.js +17 -3
- package/dist/worker/console/static-src/operator-chat/tools-catalog.js +16 -7
- package/dist/worker/console/static-src/operator-chat/useChatSessions.js +15 -7
- package/dist/worker/console/static-src/operator-chat/useChatStream.js +47 -5
- package/dist/worker/console/static-src/operator-chat/useChatThread.js +24 -2
- package/dist/worker/console/workspace-context.js +2 -0
- package/dist/worker/observe/static/console-theme.css +174 -0
- package/dist/worker/observe/static/console-theme.js +36 -0
- package/dist/worker/observe/static/operator-chrome.css +85 -0
- package/dist/worker/observe/static/operator-chrome.js +51 -0
- package/dist/worker/scheduler/scheduled-goal-evidence.js +60 -2
- package/dist/worker/scheduler/scheduled-goal-store.js +10 -0
- package/package.json +3 -1
- package/dist/worker/console/static/assets/channel-ChE7y-cx.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-C01TCf2X.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-C01TCf2X.js +0 -1
- package/dist/worker/console/static/assets/index-BWkIfcrK.css +0 -1
- package/dist/worker/console/static/assets/index-Cdkvw_H6.js +0 -469
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-DC7V5vcq.js +0 -1
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-Bwy4QUTO.js +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -2,16 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
- Console 新增低饱和的「暮色蓝」深色与「雾光白」浅色主题,保留默认暖纸色;柔和背景、轻量选中态与独立按钮配色减少视觉刺激。顶部仅显示带「主题」悬停提示的紧凑明暗图标按钮,点击后展开「默认 / 深色 / 浅色」,选完自动收起,支持点击外部或 Escape 关闭;初始使用默认主题;即时切换对话、操作与观测界面,刷新后记住选择,浏览器存储不可用时仍可在当前页面切换。
|
|
6
|
+
- Operator Chat 在后台断线重连后不再丢消息:检测到中断会自动补齐缺口内容,也不会把正常的历史回放误判成丢事件而反复重连。
|
|
7
|
+
- Operator Chat 的恢复快照现在只会合并属于目标会话的乐观提交;切换会话后,旧会话尚未确认的输入不会再因延迟重连恢复而显示到新会话中。
|
|
8
|
+
- `/sdd-bingo` 成功提示现在展示上报的 Skill 与 Session ID;轨迹顶部会出现当前会话的常驻 SDD 身份栏,可一键复制、首次请求后自动更新;该上报以独立“操作”事件留痕,刷新或导出后仍在,不再伪装成工具调用。
|
|
9
|
+
- Operator Chat 发送消息后的空白光标改为 Codex 式“正在思考”,真实思考、工具过程或最终回答出现后自然接替;并修复了状态偶发显示在用户输入上方的问题。
|
|
10
|
+
- Operator Chat 移除工作区会从侧栏和搜索中隐藏其会话,但不删除工作区目录、会话记录或运行数据;重新添加同一路径会恢复原工作区身份、会话归组和顺序。移除当前工作区时退出其活动会话并切到剩余工作区,已知会话详情仍可直接恢复。
|
|
11
|
+
|
|
5
12
|
## [0.43.0] - 2026-09-14
|
|
6
13
|
|
|
7
|
-
- `dag doctor`
|
|
8
|
-
- 新增统一 `dogfood:backend`
|
|
9
|
-
-
|
|
14
|
+
- `dag doctor` 现在真的接受 `--json`,与 `dag report` 和顶层 `doctor` 用法一致,且优先于 `--markdown`;默认输出不变,文档里承诺过的这个用法不再报错。
|
|
15
|
+
- 新增统一 `dogfood:backend` 入口:默认只做零副作用的控制器身份预检,记录发布渠道、包指纹与构建信息,漂移会在模型和 DAG 启动前直接停下;显式 `--execute` 才跑 live campaign,每轮留存独立证据。
|
|
16
|
+
- 后端测试计划的模块清单格式统一到单一来源:8 列表头、分隔行、拆分原因与路径字段只有一套定义,生成的模板与读取方不再各按一套规则解析,避免提示词要求链接加路径而执行器只认单一形式。
|
|
10
17
|
|
|
11
|
-
-
|
|
12
|
-
-
|
|
18
|
+
- 自然语言预约的对话轮次现在只开放类型化工作流动作与本地只读文件工具,移除 Bash、终端、浏览器和扩展 MCP 通道;预约准备不能再通过通用工具提前探测 HTTP 服务,下一轮恢复普通能力。
|
|
19
|
+
- 后端测试计划要求模块清单紧跟 8 列分隔行,并拒绝重复路径、箭头或整条路径链接;pytest 生成端不再为执行次数、报告存在性等治理要求编造文件路径断言,改由运行事实统一验收。
|
|
13
20
|
- 后端测试计划中的场景分区格式在计划节点提前校验并有界重试,避免到模块清单节点才中断;预约工具说明要求忠实保留用户目标,禁止自行增加失败用例、mock 或文件名约束。
|
|
14
|
-
- 后端 pytest
|
|
21
|
+
- 后端 pytest 生成与唯一集合修复现在要求把测试点信息写在主符号的首段说明里,避免把模块级注释误当成已修复的对应关系。
|
|
15
22
|
- 对话预约 backend-test 时,验收命令禁止再次调用 pytest,确保标准 DAG 的唯一正式业务执行不会被验收阶段重复触发。
|
|
16
23
|
|
|
17
24
|
- 修复后端用例审查已完成有界修改,却因模型漏报状态行而中断 DAG;保留空改动、阻断状态和越界写入校验。
|
|
@@ -19,24 +26,23 @@
|
|
|
19
26
|
- 对话定时任务默认在当前项目目录准备和执行,取消强制创建 worktree 和重复初始化;执行改动直接保留在当前目录,继续校验已确认的干净 Git 基线与写入范围。
|
|
20
27
|
|
|
21
28
|
- Console Chat 新增按需工具灰度模式:预约、执行与恢复工具常驻,其余按领域发现后启用;加载状态随会话和分支恢复,异常回退全量模式,默认保留全量以保护核心流程。 发现入口支持按用户意图选能力,预约请求优先保留未来执行语义。
|
|
22
|
-
|
|
23
29
|
- 自然语言预约自动准备隔离工作区、任务和验收边界,不再要求用户提供内部ID;相同请求复用已有预约,失败保留原因,相对延时从准备完成起算。
|
|
24
30
|
- 预约任务集中到「观测 → 定时任务」:支持状态筛选与执行/验收详情,对话只保留简洁确认卡和跳转入口。
|
|
25
31
|
|
|
26
32
|
- Console Chat 支持确认后预约工作流:冻结执行时间、范围与预算,到点后台执行并回传原对话;保留失败报告和未知运行状态,取消不会抹除历史结果。
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
- 修复契约重复提交同一需求导致前端 Plan
|
|
33
|
+
- 前端实现工作台新增多轮冒烟认证:计划选用了运行环境无法验证的 Mock 策略时,会在节点内收到可修复诊断,而不是整轮卡在设计策略校验且无法恢复。
|
|
34
|
+
- 修复前端验证在冻结命令为 bash 包装形态时无法生成测试执行报告的问题:报告输出改为注入命令行内部,行为验证目标重新可以通过追踪校验。
|
|
35
|
+
- 契约声明的必需交付物改为「必须存在的文件」义务,不再并入需求的实现归属判定:上游契约把挂载文件登记为交付物时,计划不再陷入无论怎么修正文件归属都无法通过的归属死循环。
|
|
36
|
+
- 所有权门禁只判定落在声明实现文件之外的文件归属;需求完全由交付物或测试文件覆盖时不再误报违规。
|
|
37
|
+
- 实现阶段与计划技能移除已取消的「测试标题必须携带 VT 编号」强制与逐项自检:需求与验证目标的关联由契约承载,测试文件执行成功只记为文件级执行、行为覆盖保持未确认,不会自动宣称全部行为已覆盖。
|
|
38
|
+
|
|
39
|
+
- 修复后端与前端工作流对同一 PRD 编号风格容忍度不一致:验收标准写成 `AC1`(不加连字符)时后端一次通过、前端却在 DAG 生成期硬失败;需求编号现统一规范为 `AC-1` 形式,非法写法的报错也会说明期望格式。
|
|
40
|
+
- 前端实现不再对没有构建步骤的合法项目无意义失败:静态验证按序取项目真实拥有的检查,不再在交付正确、测试全过之后只因缺少 `npm run build` 报失败,也不会用空命令伪造验证;lint 继续不进入本工作流。
|
|
41
|
+
- 修复契约重复提交同一需求导致前端 Plan 节点确定性失败的问题:覆盖率归属前会先对需求 id 做保序去重,不再整轮中断。
|
|
36
42
|
- 修复前端 Mock 策略提示词自相矛盾(同时要求“只允许 not-needed”与“有项目证据可选安全策略”)导致 Plan 误选策略、被下游门禁拒绝后整轮失败;硬约束生效时不再输出那句许可性指令。
|
|
37
43
|
|
|
38
|
-
- Operator Chat
|
|
39
|
-
-
|
|
44
|
+
- Operator Chat 新增对话驱动的真实浏览器自动化:右侧「浏览器」面板同步共享状态,登录态与下载隔离在仓库外;模型可操作同一浏览器完成导航、搜索、结构化快照、元素操作与截图,不读写仓库文件,也不暴露页面脚本执行。
|
|
45
|
+
- 模型驱动的共享浏览器默认改为可见外部窗口,并保留右侧预览;地址、搜索与元素操作不再默认生成大截图,搜索逐字填写并提交真实表单,启动时降低自动化指纹;无法嵌入的页面提供外部打开与聚焦入口,同一持久配置可完成站点安全验证。
|
|
40
46
|
|
|
41
47
|
- 修复前端实现因测试名称没有 VT 编号而反复失败:按测试命令与文件关联执行结果,保留已有测试名称及测试失败阻断。
|
|
42
48
|
|
|
@@ -46,27 +52,27 @@
|
|
|
46
52
|
|
|
47
53
|
- 前端实现恢复已有测试维护与执行:优先任务声明,否则复用项目测试入口;没有测试时不强制补框架,避免只构建通过却遗漏旧单测回归。
|
|
48
54
|
|
|
49
|
-
- `loop-agent init`
|
|
55
|
+
- `loop-agent init` 的 `.gitignore` 托管块在原有运行目录外新增忽略治理目录、`scripts/` 与 `harness.json`;`AGENTS.md`、`README.md` 仍在提交面,块外规则保留。
|
|
50
56
|
|
|
51
|
-
- Pi
|
|
57
|
+
- Pi 模式不再自动注入 `loop-agent init` 的治理内容:AGENTS.md 治理块剥离、用户手写内容保留,内置 29 个 skills 默认不自动注入,仍可 `/skills:<name>` 手动调用;显式开启后仍自动注入。
|
|
52
58
|
|
|
53
|
-
-
|
|
59
|
+
- 侧边栏补齐「当前所在」高亮:对齐 DSH 激活态但用 loop 暖纸配色,激活工作区不再透明,改为橙调浅底加左侧主题色标条,hover 时不被通用灰覆盖;当前会话行同步改为浅橙底加橙色标题。
|
|
54
60
|
|
|
55
|
-
- 工具卡对 `ask_user_question`(模型向用户提问)的展示改为 DSH
|
|
61
|
+
- 工具卡对 `ask_user_question`(模型向用户提问)的展示改为 DSH 风格的可读问答:折叠头显示 `N/M 已回答`(等待中显示「等待回答」),不再暴露原始 JSON;展开后按问答对逐条渲染,未回答显示「未回答」。
|
|
56
62
|
|
|
57
|
-
- 对话页用户消息气泡对齐 DSH
|
|
63
|
+
- 对话页用户消息气泡对齐 DSH 配色与排版:背景从冷灰改为 DSH 浅蓝,内边距收紧、圆角不变,移除多余的最小宽度约束,让两字回复气泡不再被撑宽,长内容换行更合理;消息堆叠间距同步对齐 DSH。
|
|
58
64
|
|
|
59
|
-
-
|
|
65
|
+
- 对话页「过程折叠」的折叠行配色对齐 DSH:文字、箭头与分隔线统一改用 DSH 的灰阶,并移除 hover 变色(与 DSH 一致);间距与字阶保持不变。
|
|
60
66
|
|
|
61
|
-
- 对齐 DSH
|
|
67
|
+
- 对齐 DSH 的消息时间线排序规则:两侧都带事件序号的条目按序号排序,其余按时间与稳定插入顺序,不再混用多套近似排序;历史合并、过程折叠、工具卡归属与断线重连的回放共用同一规则,跨回合时间轴不再乱序。
|
|
62
68
|
|
|
63
|
-
-
|
|
69
|
+
- 工具卡的回合归属改为精确判定:按服务端回合与助手消息标识归属,不再依赖时间窗近似;兜底规则改为「下一组的首个锚点」,不再出现中间没有用户消息的分组把下一回合的工具吸到上一回合的问题。
|
|
64
70
|
|
|
65
|
-
-
|
|
71
|
+
- 待发送的用户提示按时间戳插入历史时间线的正确位置,不再一律堆在最新回合之后;非「正在派发」的占位行不渲染,连续插入多个提示时顺序保持稳定。
|
|
66
72
|
|
|
67
|
-
- 助手消息气泡的 ID
|
|
73
|
+
- 助手消息气泡的 ID 现在与服务器持久化 ID 对齐:消息落库后前端就地改用持久化 ID,不再出现「已确认消息」与流式气泡并存的孪生气泡,离线重连的文本回放同样对齐;历史数据缺少该 ID 时回退到文本加时间窗匹配。
|
|
68
74
|
|
|
69
|
-
-
|
|
75
|
+
- 修复前端计划无法提交实现步骤的问题:现在支持按 AC 绑定实施动作,缺漏会在节点内返回修正,不再让空计划反复进入设计审查。
|
|
70
76
|
|
|
71
77
|
- 修复前端最终审查反复猜错范围 ID:明确 checkpoint 参数和补交步骤,收尾正确识别 checkpoint 之后的审批结论。
|
|
72
78
|
|
|
@@ -76,12 +82,11 @@
|
|
|
76
82
|
|
|
77
83
|
- Console 将全局「更新程序」与当前工作区初始化分开:添加或切换工作区后只读检查并提示,设置中展示仓库路径、初始化状态、待处理文件和操作进度;首次初始化显式选择可用模型,安全更新仅作用于当前仓库,冲突保留并提示处理。
|
|
78
84
|
|
|
79
|
-
- Operator Chat
|
|
85
|
+
- Operator Chat 内置瞬态异常恢复:未执行 `loop-agent init` 的仓库也能识别网络波动与 502 等响应并交由 Pi 有界重试;重试参数按项目配置、用户全局配置、推荐默认值取值,认证、权限、配额错误仍直接失败。
|
|
80
86
|
|
|
81
|
-
- Operator Chat
|
|
87
|
+
- Operator Chat 浏览器面板默认以完整权限运行(去掉沙箱与「临时解锁」状态条),本地回环地址上的开发服务器可直接在面板内浏览;地址栏仍只放行 http/https,危险协议继续拦截,拒绝嵌入站点的提示与出口保持不变。
|
|
82
88
|
|
|
83
89
|
- 前端 Plan 普通分片按本批完整需求材料打包,固定提示词、用户消息和工具定义不再挤占 24 KB 分片目标,也不再触发发送前的机械二分,减少小需求逐 AC 会话;实际模型容量检查与超限恢复继续生效。
|
|
84
|
-
|
|
85
90
|
- 前端 Plan 小任务合并规划不再受固定 48 KB 输入门槛限制,避免提示词、用户消息或工具定义变长导致额外分片;完整输入、其余任务规模条件及容量恢复机制保持不变。
|
|
86
91
|
- 节点侧栏修复执行分次下拉菜单被执行记录工具栏遮挡的问题,直接展示所选失败尝试的简要原因,并移除重复的左右切换箭头。
|
|
87
92
|
- Operator Chat 的 Pi Runtime 按职责拆出工具构造、运行态检视和 SDK 适配,并共用创建/恢复/分叉的会话准备流程;对外入口、错误类型和会话行为保持不变。
|
|
@@ -89,7 +94,7 @@
|
|
|
89
94
|
### 修复
|
|
90
95
|
|
|
91
96
|
- 对话页修复用户消息在流式回复中漏显示或重复分组、加载历史后的滚动跳动,以及删除会话后旧请求恢复条目的问题;移除工作区后隐藏非选中的空白会话,并正确恢复删除失败的列表状态。
|
|
92
|
-
- 修复 Operator Chat
|
|
97
|
+
- 修复 Operator Chat 的跨会话输入污染与快速重复提交:切换会话立即撤销旧会话发送权,草稿、附件与输入历史按会话独立保存,迟到结果只回写原会话;相同内容的快速双击只产生一次请求,中文输入法更稳定,光标不再跑到用户消息上方。
|
|
93
98
|
|
|
94
99
|
- 前端设计审查的写入门禁只统计已提交的审批终态,避免审查范围、发现记录导致合法审批被误判为缺失或歧义;要求修改时保留具体审查意见,缺失、重复及冲突终态仍阻断写入。
|
|
95
100
|
|
|
@@ -97,28 +102,28 @@
|
|
|
97
102
|
|
|
98
103
|
### 新增
|
|
99
104
|
|
|
100
|
-
-
|
|
105
|
+
- Pi 模式支持 `/goal` 持续目标:斜杠面板可见 `/goal`,会话内可管理目标,带进度条与编辑面板,创建/暂停/恢复/清除接口不再被拒;仅显式 `/goal` 才自主续跑,有轮次上限,暂停/重载/出错即停,压缩后仍可用。
|
|
101
106
|
|
|
102
|
-
-
|
|
103
|
-
- Operator Chat
|
|
107
|
+
- Console 右侧栏新增「浏览器」tab:地址栏自动补 https、过滤危险地址,支持前进/后退/刷新与跳系统浏览器;页面在沙箱中打开、拿不到 Console 数据,可临时解锁;拒绝嵌入的站点给出「在系统浏览器打开 / 仍要加载」出口。
|
|
108
|
+
- Operator Chat 新增源代码管理:模型可直接跑 git 状态查看、diff、暂存/取消暂存、放弃更改、提交、日志、分支与推拉;右侧栏新增「源码」面板,支持分支切换、分组暂存、提交框、分页历史、看 diff 与右键放弃更改。
|
|
104
109
|
- Operator Chat 在具备 Aimax 凭据资格时,向对话进程注入 `$AIMAX_AUTH_TOKEN`(明文或 `sm4:v1:` 解密后的 ticket),供 skills 读取;文件缺失、无法解析或解密失败时不注入该变量。
|
|
105
|
-
- Operator Chat
|
|
106
|
-
- Windows
|
|
110
|
+
- Operator Chat 新增终端管理:模型获得 `terminal` 持久终端工具,可按平台创建 powershell/bash/cmd,会话状态跨调用保留;右侧辅助栏新增「终端」面板,可查看、接管模型 shell 并直接输入或中断。
|
|
111
|
+
- Windows 终端补全:仅 Windows 有 `cmd` shell,使用经典 `C:\path>` 提示符、黑底浅灰配色,补回 `Microsoft Windows [版本 …]` 横幅;bash 与 PowerShell 输出不变。
|
|
107
112
|
- Operator Chat 详情栏调整:「源码」tab 紧邻「文件」tab,便于在文件预览与源码管理之间快速切换。
|
|
108
113
|
|
|
109
114
|
### 改进
|
|
110
115
|
|
|
111
|
-
- 上游网关不可达(502/503、Service temporarily unavailable、Bad Gateway
|
|
116
|
+
- 上游网关不可达(502/503、Service temporarily unavailable、Bad Gateway)现在归类为上游不可用并默认重试,不再被误判成模型能力不匹配而放弃重试。
|
|
112
117
|
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
- 修复 Console
|
|
118
|
+
- 前端验证与审查按每条命令的退出结果打通:验证节点会记录每个命令的退出状态,评审直接读这些结果判断是否成功,不再从运行轨迹里推断;任务未声明 lint 时统一标记为不可用,不再自造取值。
|
|
119
|
+
- 前端恢复运行不再丢运行级产物:节点在自身目录之外写出的文件(如基线记录)会随继承一起搬到子运行,修复恢复时因产物缺失而必然失败的问题。
|
|
120
|
+
- 前端计划收尾的前置检查现在要求**每个**冻结的静态命令都被验证目标覆盖(此前只需覆盖其中一个),类型检查缺口因此在计划阶段就能被自动修复;恢复收尾判断计划是否变化时改用**决策身份**,只改文案或引用不再算作修复。
|
|
121
|
+
- 失败原因判定不再被模型正文干扰:认证、限流、配额与网络类判定只看进程错误输出,模型回复与工具参数不再参与,避免自产文本把可重试失败误判为不可重试;设计/评审类节点已给出终态但没写收尾文本时直接判成功,不再空转一次重试。
|
|
122
|
+
- 修复 Console 中同时新建任务与导入需求文档时因「任务已存在」报错导致流程卡死;前端运行的 `dag rerun --from-node` 不再因只读产物节点被误判为不安全而始终不可用(硬预算模板仍不支持重跑)。
|
|
118
123
|
|
|
119
|
-
-
|
|
124
|
+
- 前端恢复不再从评审自由文本里猜测文件删除、状态和验证目标约束,避免把保留项、否定描述或错误现状当作修复要求;语义是否闭合仍由设计评审裁决。显式验证目标断言必须包含目标覆盖,不能以任意变化代替修复。
|
|
120
125
|
|
|
121
|
-
-
|
|
126
|
+
- 前端计划精简改由运行时收尾:合并没有决策的全局会话,统一风险与形态信号,按接口/资源域合并 Mock 与数据批次,移除没有消费者的影子观察器与旧评审/准入对照链;新增计划指标读取与对照旁路,但在真实同输入对比数据齐备前不切换生产计划规则。
|
|
122
127
|
|
|
123
128
|
- 修复前端设计评审与实施评审遗漏 `complete_review_scope` 工具权限,导致模型无法完成分段确认、最终评审反复被拒绝的问题;补充真实 Pi SDK 工具激活与分段收口回归验证。
|
|
124
129
|
|
|
@@ -126,25 +131,25 @@
|
|
|
126
131
|
|
|
127
132
|
- 节点侧栏在首次原始运行中隐藏「来源与影响」,派生运行保留该入口;打开运行中节点默认定位到「执行记录」,手动选择和明确的链接位置在刷新时保持。
|
|
128
133
|
|
|
129
|
-
-
|
|
134
|
+
- 修复前端契约可选字段未填写时,评审分片索引引用不存在字段、导致设计评审启动前失败的问题。分片生成会跳过未填写字段;读取端明确拒绝缺失字段、无效引用、重复或非法范围及未索引内容,保留合法空数组和 JSON 空值。
|
|
130
135
|
|
|
131
136
|
- Operator Chat 侧栏「添加工作区」图标改为与 DSH 一致的文件夹加号,不再用纯加号。
|
|
132
137
|
- Operator Chat 侧栏改为单一「新会话」;空白会话在输入框上方用芯片选择工作区和模式(工作流 / Pi),有历史后芯片收起。不再用落地页双卡或「新 Pi」按钮;换模式会复用或新建对应空白会话,不会改已有会话的模式。
|
|
133
138
|
- 修复模型续跑取消后带部分文字仍被标记成功的问题;前端 Plan 的取消、认证、限流及策略失败优先于容量恢复,精确格式错误保留原修复路径。完整性检查按需求建立单次索引,减少大计划重复扫描,同时拆分纯检查与恢复策略模块。
|
|
134
139
|
- 长会话中的输入框不再因历史消息和工具记录增多而逐键重绘整段会话,输入与自动增高在低性能电脑上更流畅。
|
|
135
|
-
- 优化 Operator Chat
|
|
136
|
-
-
|
|
140
|
+
- 优化 Operator Chat 长会话的流式渲染:流式文本更新不再重复渲染整段历史,输入框测量也不会反复重建;缓存只在历史消息或工具真的变化时失效,没有新增折叠回合时不再写入空状态和重复存本地;工具参数与结果的格式化按实际输入变化缓存。
|
|
141
|
+
- 对话页「过程折叠」调整:回复完成即折叠,不再先展开再跳动;间距统一,Ctrl+F 可命中折叠内容并自动展开;箭头改为更淡的固定图标并支持系统「减少动态效果」;汇总新增「N 个 subagent」,内置 Explore 子代理不计入工具调用。
|
|
137
142
|
- 恢复前端 Plan 实时事实分页读取、逐需求 UX 遗漏检查与已完成范围复用;超限时补齐剩余验证目标,并接通 DAG 到 SDK 的原会话续跑。局部状态修改保留其他需求的关联,沿用耐久账本、显式替换和冻结分片边界。
|
|
138
143
|
|
|
139
|
-
-
|
|
140
|
-
-
|
|
144
|
+
- Pi 节点遇到模型输出因长度截断时,先在原会话内最多续跑 3 次,保留已完成的写入和事实,成功恢复不消耗额外节点重试次数;续跑共用原超时与上下文预算,已提交终态时不重复续跑,耗尽后才走原有缩片或重试。
|
|
145
|
+
- 修复前端设计评审成功后可能清空原计划记录的问题,撤回未接通合同校验与落盘的修订工具;同时移除误加在实施后评审的修订指令。评审节点内局部修订尚未实现,设计缺陷仍走原有拒绝与恢复流程。
|
|
141
146
|
- 前端 Plan 输出超限后按已提交事实续跑:带部分结果或网关诊断也会保留进度,自动缩小剩余需求;单个过大需求进一步按缺失事实逐项恢复,并在恢复耗尽时输出剩余范围。
|
|
142
|
-
-
|
|
147
|
+
- 大需求的前端计划新增可分页的实时事实读取,保留长标识与跨批验收绑定;体验检查限定在需求内,重试复用完整批次与全局命名表并逐需求检查遗漏。冻结交付文件超出单次写入容量时会在契约后提前识别拆分需求;自动子任务链路尚未接通,不代表自动拆分已可用。
|
|
143
148
|
|
|
144
|
-
- 前端 DAG
|
|
145
|
-
- 前端 DAG
|
|
146
|
-
-
|
|
147
|
-
-
|
|
149
|
+
- 前端 DAG 修正否定约束导致的小任务误升级;计划分片前统一判断精简与否并保留完整执行组;冻结阶段的覆盖并发上限可配置(1–4,默认 4),限流后减少后续并发且不加重试;自动恢复子进程与 DAG 共用长跑超时,不再继承通用 120 秒上限。
|
|
150
|
+
- 前端 DAG 保留完整需求、按作用域/执行组分批,提交先校验保存再回执;支持按组共享覆盖、逐端点/逐 finding 提交和缺项恢复。小任务走短流程,容量耗尽即缩小工作,模型窗口不再固定为 100K/16K;独立验收与写入/验证门禁有效。
|
|
151
|
+
- 观测台阅读与口径修补:失败节点产出页把「错误输出」提到正文之前,检查器 Tab 条放不下时两端渐隐并保证选中项可见;异常任务分类改用中文业务术语,资源池「合计」改为「已建 Task」,数据更新文案改为「数据更新于 … · 仅提示」。
|
|
152
|
+
- 检查器保留 Tab 导航,日志分类收进下拉框;执行记录区域统一加上「回到底部」按钮,离开底部时出现、点击即回到底部;活跃运行同时恢复跟随并提示未读条数,终态运行同样可用,分次阅读位置会被记住,并补充日志搜索、错误过滤与完整脱敏文本下载。
|
|
148
153
|
- 实际上下文改为中文材料目录优先、技术信息折叠;修复历史轮次混读当前上下文和旧请求覆盖新尝试的问题。保留仅看错误与原始协议事件,原始协议使用直接可达的图标开关,移除单项更多菜单和日志 HTML 导出;交接包明确固定来源并支持刷新。
|
|
149
154
|
- 检查器隐藏无内容或明确不适用的入口:单次执行不显示尝试对比,Shell/静态节点不显示实际上下文,静态节点不显示执行记录;切换节点与新增尝试时自动更新,保留用户当前的比较选择。
|
|
150
155
|
- 资源池筛选覆盖任务标题和全部任务区域,返回列表及历史分页保留阅读状态;重跑草稿和影响预览可恢复,结果不确定时原样重试已确认的请求,避免重复创建运行。
|
|
@@ -154,18 +159,18 @@
|
|
|
154
159
|
### 修复
|
|
155
160
|
|
|
156
161
|
- 悬停或打开会话「更多」菜单时,Pi / 工作流徽章与相对时间一并让出,避免被三个点按钮盖住。
|
|
157
|
-
- 修复点「新 Pi
|
|
162
|
+
- 修复点「新 Pi」后一发消息侧栏就变成「工作流」:全局会话列表和点进会话时漏了会话模式,缺省被当成工作流。
|
|
158
163
|
- 修复手动压缩上下文后,长会话会清空并重复绘制大量历史内容的问题;压缩结果现在会直接在当前消息流中更新,不再触发整段会话重载。
|
|
159
164
|
- 修复对话页存在运行活动时,收起状态的右侧辅助栏展开按钮覆盖「运行活动 N」及数字徽标的问题;中大尺寸布局现在保留 8px 操作间距,窄屏布局不变。
|
|
160
165
|
- 修复 Operator Chat 消息流的六处实际使用问题:
|
|
161
|
-
-
|
|
162
|
-
-
|
|
166
|
+
- **回复被吞**:断线重连后,已经生成的正文会在连接恢复时重新补回到对应回合,不再被静默丢弃;仅当该回合已有更新内容时才跳过,避免重复气泡。
|
|
167
|
+
- **用户输入消失或重复**:新消息发送后会持续显示,不再等回复结束才重新出现;服务端确认后,排队抢占、被拒绝或连接失败的回滚不再删掉已确认的消息;确认到达时会原地合并临时消息与会话内容,不再重复显示同一条输入。
|
|
163
168
|
- **回复重复**:上下文溢出自动压缩并重新生成后,被打断的旧回复会被取代,不再与重新生成的回复同时显示。
|
|
164
169
|
- **只有思考没有正文**:模型回复以工具调用或思考结尾时,正文会作为回答显示,不再被折叠进「过程」区。
|
|
165
170
|
- **空气泡误删**:只包含思考或工具内容、正文为空的回合不再被清理掉。
|
|
166
171
|
- **停止语义**:被停止中断的工具调用显示「已停止」,不再显示为「出错」并强制展开、计入「N 次出错」。
|
|
167
172
|
|
|
168
|
-
-
|
|
173
|
+
- 任务成功与收尾只认可匹配当前契约版本与哈希的运行;更新需求后会重新审查门禁,旧成功记录不再阻止新运行。需求独立审核接受无修订并保留拒绝结论与身份校验;相同角色、相同内容的 PRD 重复导入会复用已有引用,不再增加副本或无故推进契约版本。
|
|
169
174
|
|
|
170
175
|
- 前端 Plan 重试复用首次冻结的分片归属,避免重试提示词变长导致进度绑定不匹配或重复处理已完成需求;布局缺失、损坏或漂移时保留证据并阻断派发。风险路由仅忽略完整的范围排除声明,条件句和嵌套否定中的真实权限风险在生成期与运行期均保持升级。
|
|
171
176
|
- 执行记录搜索直接高亮命中文字,标识当前跳转记录;未搜索或无匹配时禁用上下箭头,清空搜索恢复原文。
|
|
@@ -177,43 +182,43 @@
|
|
|
177
182
|
|
|
178
183
|
### 重点更新
|
|
179
184
|
|
|
180
|
-
- **Operator Chat 内置只读 Explore 子 Agent**:主会话可通过 `Agent`
|
|
181
|
-
- **前端实现 DAG
|
|
182
|
-
-
|
|
183
|
-
- **backend-test
|
|
184
|
-
- **契约幂等与 DAG
|
|
185
|
+
- **Operator Chat 内置只读 Explore 子 Agent**:主会话可通过 `Agent` 工具委派代码库搜索、符号查找与调用链追踪;子会话只使用 `find`/`ls`/git 等只读工具,父回合停止时一并中止。
|
|
186
|
+
- **前端实现 DAG 稳定性集中修复**:修复规划会话提前停止导致会话数翻倍、重试修复指引被通用话术遮蔽、分片重复发明同一批需求、设计被拒后恢复子流程无法启动、自动恢复误重跑整棵 DAG 等问题;默认重试额度从 3 次提升到 5 次。
|
|
187
|
+
- **前端验证契约 v2**:计划改为引用冻结的命令目录,非法组合(如 `component` 配 `npm run build`)在提交时即被拒绝;验证命令需要的配置文件自动纳入可写范围,不再拦住实现;同一命令在多个验证环节复用结果。
|
|
188
|
+
- **backend-test 判定链修复**:被截断或缺少必需结构的执行计划不再被误判为完成,而是归类为可重试的输出问题;模块身份改为按唯一合法路径判定,展示用名称不再影响结果;单次测试收集修复缺少结果声明时不再阻断整条执行链。
|
|
189
|
+
- **契约幂等与 DAG 恢复强化**:内容相同的重复契约提交不再走完整流程,版本号与已批准的审查保持不变(8.6 小时流水线里 7 次修订只有 3 个不同内容);工作区改动全部落在重跑范围内时不再阻断恢复;被取代的运行可作为续跑来源。
|
|
185
190
|
- **工具入参预览放宽**:工具入参预览从 1200 字放宽到 4000 字(与会话结果落盘上限对齐),详情栏支持「展开全部」(可视高度最多 720px),Explore 等长 brief 不再被预览截断误导。
|
|
186
191
|
|
|
187
192
|
### 改进
|
|
188
193
|
|
|
189
194
|
|
|
190
195
|
|
|
191
|
-
- DAG
|
|
192
|
-
-
|
|
193
|
-
- 强化 DAG
|
|
194
|
-
-
|
|
195
|
-
-
|
|
196
|
-
- superseded
|
|
197
|
-
-
|
|
198
|
-
-
|
|
199
|
-
-
|
|
200
|
-
-
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
-
|
|
196
|
+
- DAG 退出诊断不再影响其他并发任务的运行与取证,退出码按实际退出结果给出。
|
|
197
|
+
- 前端重试修正不再因分片前缀不同而无法覆盖此前的结论。
|
|
198
|
+
- 强化 DAG 恢复与契约幂等:重跑不会复用已漂移的输入、缺失或未完成的节点,仅在改动可完整判定时放行局部重跑;被截断的传输错误可正确重试;内容相同的重复契约提交直接返回当前版本,携带新内容的重复请求仍会被拒绝。
|
|
199
|
+
- 修复契约重复提交造成的空转:内容一致时直接返回当前版本,不再重复走完整提交与审批;实测一次 8.6 小时的流水线里 7 次修订只有 3 个不同内容;磁盘内容与记录不一致时仍会修复。
|
|
200
|
+
- 修复工作区改动会一刀切阻断 `dag rerun --from-node` 的问题:改动全部落在重跑范围内时放行,其余情况(复用节点的输入漂移、无法判定路径的旧检查点)仍严格阻断。
|
|
201
|
+
- 被取代的运行(superseded)现在可以作为 `dag rerun --from-node` 的续跑来源:已完成的只读上游节点直接继承,不再因父运行被取代就整棵重跑;写者进入重跑范围、决策门禁、未解决的错误等场景仍照旧阻断。
|
|
202
|
+
- 修复前端规划会话提前停止导致会话数翻倍的问题:现在每个需求都要有已提交的覆盖结论才算完成,提前停止会把剩余项留作补齐项,而不是另开一个会话。
|
|
203
|
+
- 修复前端规划重试时修复指引被通用话术遮蔽的问题:后续重试会优先给出针对性的修复动作,并明确重复回执表示可以修正、替换会整体覆盖同一条结论;跨切片引用已提交结论时当场回填,双向引用在提交时即闭合。
|
|
204
|
+
- 修复模型输出被截断时被误判为「无输出」失败的问题:截断现在归类为可重试的输出超限;已有精确修复指引的类别保持不变;默认重试额度从 3 次提升到 5 次。
|
|
205
|
+
- 前端调研与规划在中高复杂度任务中并行收集信息、分批映射需求后按固定顺序归并,保持原有阶段依赖与确定性结果,同时缩短等待时间。
|
|
206
|
+
- 前端验证在同一次执行中按工作目录和冻结命令去重,静态、行为、Mock、lint 等环节复用相同命令结果,避免重复启动耗时的检查进程。
|
|
207
|
+
- 小规模前端改动不再把 `test/`、`e2e/`、`docs/` 这类验证或文档目录误判为跨包改动;`src/**` 加 `test/**` 的局部改动可以走轻量流程,真正跨包仍会升级。
|
|
208
|
+
- 修复前端规划漏读独立行为证据、重试丢失已重新录入的界面名称的问题;必须交付的文件改由契约显式声明并绑定来源,避免把允许修改或仅作参考的路径误判为交付义务;缺失交付物与界面名称冲突现在能在提交前发现并修正。
|
|
209
|
+
- 修复前端规划分片时重复发明同一批需求、交互和界面状态的问题:需求文本与来源由运行时从冻结记录写入,规划先基于全部需求提交一次全局界面清单,再在一个会话里统一建模组件、状态与交互。
|
|
205
210
|
- 修复顶部一级「观测」入口被恢复工作区残留的 DAG 或上次观测对象劫持的问题:现在点击该入口始终回到当前 Workspace 的运行总览,具体 DAG 仍通过「全屏观测」等显式入口打开。
|
|
206
211
|
- 修复节点检查器通俗字段旁的问号只有图标、悬浮时看不到具体说明的问题;问号现在支持鼠标悬浮和键盘聚焦,并显示对应字段含义及原技术字段。
|
|
207
|
-
- Next 发布测试升级到 Vitest 4.1.11
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
- 可选依赖 `@agent-context/sift` 从 `0.0.1-alpha.6`
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
-
|
|
216
|
-
- 修复
|
|
212
|
+
- Next 发布测试升级到 Vitest 4.1.11,避免断言全部通过后仍因通讯超时阻断发包;会改写构建产物的测试被隔离,并恢复两条此前未真正执行的 Console 更新回归;发布门禁继续严格检查未处理错误。
|
|
213
|
+
- 前端计划契约新增确定性校验:行为验证目标必须引用至少一个需求,声明了界面状态或交互时必须引用已声明的界面状态(纯逻辑契约豁免);不符合时在提交阶段当场报出具体字段错误,不再等到评审阶段才发现缺失。
|
|
214
|
+
- 修复前端设计被拒后自动恢复子流程无法启动的问题:恢复时会写入正确的拓扑绑定并继承父流程已完成的结论,不再在首个检查点整体跳过;同时修复恢复流程标识可能误传、与已归档运行同名的问题。
|
|
215
|
+
- 修复后端测试把被截断的计划误判为完成、问题延迟到后续模块校验才暴露的情况:长度截断与缺少必需结构分别归类为对应的输出问题并自动重试,重试只携带系统生成的限长诊断;模块归属、路径与数量门禁不放宽。
|
|
216
|
+
- 可选依赖 `@agent-context/sift` 从 `0.0.1-alpha.6` 升级到 `0.0.1-alpha.7`:新增按行取回能力,可直接换算出所需行号;文本压缩更保守,编号或状态不同的内容不会因句式相似合并;回退开关不变。
|
|
217
|
+
- 修复后端实现流程无法识别带版本号的扩展声明的问题:`npm:pi-lens@3.8.72` 这类写法此前解析不出包名,多个环节会把相关扩展静默当作未安装,现在可以正确匹配。
|
|
218
|
+
- 修复前端自动恢复误重跑整棵 DAG、忽略已冻结恢复计划的问题:恢复现在校验操作归属,只执行重置范围并导入已完成结论;缺少结构化发现时停在原地;崩溃重放复用已完成的子流程;缺少绑定关系的伪成功操作不再标记为已恢复。
|
|
219
|
+
- 修复冻结验证命令引用的基建文件(如 `--config` 指定的 vitest 配置)不在写入许可内、导致实现被权限拦住无法完成的问题:这些文件现在会自动纳入生效范围,仍受既有路径限制约束。
|
|
220
|
+
- 前端验证契约 v2:计划改为引用冻结命令目录而非手写验证类型,非法组合(如 `component` 配 `npm run build`)在提交与物化阶段即被拒绝,不再拖到实现阶段才以格式错误失败;展示用字段不参与控制流。
|
|
221
|
+
- 修复 `/inspect/*` 静态资源缺少缓存控制的问题:现在与 Console 页面一样不使用缓存。此前浏览器会继续使用旧版导航模块,表现为顶部导航缺少对话入口。
|
|
217
222
|
- 新建、删除和切换对话的反馈更及时;会话列表默认展示 5 条,“展开其余会话”和“收起”也更整齐易用。
|
|
218
223
|
- 发送消息后会立即显示在对话流中,完成回合的过程摘要也更清晰,长时间等待连接时不会让输入内容消失。
|
|
219
224
|
- 文件预览支持页面内交互和独立窗口阅读,大型 HTML 内容也能完整打开。
|
|
@@ -225,16 +230,16 @@
|
|
|
225
230
|
<summary>实现细节(开发者参考)</summary>
|
|
226
231
|
|
|
227
232
|
- Operator Chat 会话列表默认收敛为最近 5 条;展开与收起控件采用稳定的整行布局,折叠工作区后恢复默认列表;长历史会话改为分页加载,并在加载更早消息后保持原有滚动位置。
|
|
228
|
-
-
|
|
229
|
-
-
|
|
230
|
-
- 修复 Next
|
|
231
|
-
-
|
|
233
|
+
- 长会话滚动更流畅:活动回合增量构建、已完成的过程节点复用,已完成且无错误的历史回合可压缩,降低长消息流的渲染开销。
|
|
234
|
+
- 修复后端测试模块清单把展示用名称当成模块身份、导致格式稍有不同的输出反复失败的问题:现在按唯一合法路径判定模块身份,展示名称只作展示并可自动改写为规范文件名;路径缺失、多候选、越界或冲突仍会直接判定不通过。
|
|
235
|
+
- 修复 Next 发布的重量级测试不稳定:保留完整测试集合与错误门禁的同时升级 Vitest,避免断言全绿后仍因通讯超时以失败退出;会改写构建产物的测试改为串行执行;两条此前未真正执行的 Console 更新回归恢复。
|
|
236
|
+
- 修复后端测试单次收集修复已产生有效改动、却因缺少结果声明而阻断整条执行链的问题:现在只把完全缺失的结果补为候选修改,随后仍要重新通过场景、对应关系、载荷、收集、夹具与就绪等全部门禁;结果冲突、空改动与越界写入仍直接判定不通过。
|
|
232
237
|
- 新建和删除对话现在会立即在侧栏中反馈:新建时先显示“正在创建”,删除时平滑淡出;网络失败会自动恢复原会话,不再需要等待整张会话列表刷新后才看到变化。
|
|
233
238
|
- 新建对话会优先复用当前工作区中真正的空白会话,避免重复创建;有历史消息、工具调用、待发送内容或正在运行的会话不会被复用。
|
|
234
239
|
- 会话列表刷新现在会复用未变化的行和列表引用,标题、运行状态或队列变化时只更新对应会话,侧栏切换和刷新更平滑。
|
|
235
|
-
- Operator Chat 新增仅对具备 Aimax 凭证的用户可见的 `/sdd-bingo` 数据对齐命令;`wizard-local`
|
|
240
|
+
- Operator Chat 新增仅对具备 Aimax 凭证的用户可见的 `/sdd-bingo` 数据对齐命令;`wizard-local` 模型请求会自动携带与上报一致的会话身份、当前模型和最新 API key,凭证变化自动生效。
|
|
236
241
|
- DAG 节点检查器的「执行记录」默认自动跟随最新内容;右下角新增纯图标悬浮开关,可显式暂停并保留阅读位置,恢复后立即回到底部,悬停时显示当前可执行动作。
|
|
237
|
-
-
|
|
242
|
+
- 修复前端任务派生的续跑无法识别当前节点链的问题;从实现节点继续时,设计约束、写入许可、验证和收尾步骤会按现行流程安全执行。
|
|
238
243
|
- 统一工作区、Todo 和其他滚动区域的滚动条样式,默认更轻巧,鼠标悬浮时也更容易辨认。
|
|
239
244
|
- HTML 文件预览现在支持页面内的标签切换等交互;较大的自包含 HTML 可以在新窗口中直接完整加载,不再受源码摘要长度影响。
|
|
240
245
|
- 修复 Operator Chat 长工具链的消息错序:模型过程文字、思考和工具卡片现在按服务端事件顺序稳定交替展示,刷新历史会话后也保持相同顺序。
|
|
@@ -244,13 +249,7 @@
|
|
|
244
249
|
|
|
245
250
|
## [0.41.3] - 2026-09-04
|
|
246
251
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
- 完善了本发布周期内的日常使用体验和运行稳定性。
|
|
250
|
-
|
|
251
|
-
### 修复
|
|
252
|
-
|
|
253
|
-
- 修复了部分功能在特定环境下无法正常使用的问题。
|
|
252
|
+
- 本版本没有用户可见的功能变更;内容为 0.41 线的版本号提升与发布说明修正。
|
|
254
253
|
|
|
255
254
|
## [0.41.2] - 2026-09-04
|
|
256
255
|
|
|
@@ -287,66 +286,69 @@
|
|
|
287
286
|
|
|
288
287
|
### 新增
|
|
289
288
|
|
|
290
|
-
-
|
|
289
|
+
- 后端测试可为单次 pytest/HTML 执行节点配置每命令超时(`backendTest.executeTimeoutMs`,1 分钟到 2 小时),不配置时仍是 5 分钟。
|
|
291
290
|
|
|
292
291
|
### 改进
|
|
293
292
|
|
|
294
|
-
-
|
|
293
|
+
- 对话中的长时间 DAG 执行会保留一条实时状态,持续显示总运行时间、当前阶段、完成步数与最近一次有效进展;点击可直接跳到对应运行。
|
|
294
|
+
- 「Pi 插件」安装的版本下拉增加加载过渡:内网拉取较慢时显示「正在获取版本…」,获取失败可一键重试,不阻塞安装。
|
|
295
295
|
|
|
296
296
|
### 修复
|
|
297
297
|
|
|
298
|
-
-
|
|
298
|
+
- DAG 节点「执行过程」导出 HTML 在系统深色模式下不再黑底黑字,正文对比度恢复正常。
|
|
299
|
+
- DAG 节点「执行过程」导出 HTML 在反向代理或子路径部署下不再丢失整页样式。
|
|
300
|
+
- 「Pi 插件」安装在内网源下能正常获取版本列表,不再因作用域包名的编码问题失败。
|
|
299
301
|
|
|
300
302
|
## [0.40.0] - 2026-08-31
|
|
301
303
|
|
|
302
304
|
### 重点更新
|
|
303
305
|
|
|
304
|
-
- **Console
|
|
305
|
-
- **上下文压力处理默认开启**:Operator Chat 与 DAG
|
|
306
|
-
- **Console「Pi
|
|
307
|
-
- **Operator Chat 持续目标模式**:用 `/goal`
|
|
308
|
-
-
|
|
309
|
-
- **CLI
|
|
310
|
-
- **backend-test 执行与判定系列修复**:pytest 7.x
|
|
306
|
+
- **Console 对话页「轨迹」视图**:对话按「用户 → 过程 → AI 回复」逐行渲染,可展开收起并一键导出自包含 HTML;顶部展示注入的系统提示词全文与工具目录,每轮附步骤数、耗时与 token 成本,刷新后不再归零。
|
|
307
|
+
- **上下文压力处理默认开启**:Operator Chat 与 DAG 节点在接近模型窗口时会先压缩一次再发送,遇到网关「请求上下文过大」也会压缩后继续原请求;消息流按顺序展示触发原因、压缩进度与结果,压缩能力可整体或分路关闭。
|
|
308
|
+
- **Console「Pi 插件」管理**:从「设置」提升为独立 tab,内置经校验的插件目录(6303 个,5562 个可安装、含中文说明),支持搜索、分页与一键安装卸载;安装时可选版本(默认最新),已装插件显示实际版本,支持内网镜像源。
|
|
309
|
+
- **Operator Chat 持续目标模式**:用 `/goal` 或目标条创建跨多回合推进的目标,可随时暂停、继续、编辑或清除;长任务自动续行,刷新或重启 Console 后目标仍在,并新增任务清单与结构化提问卡片。
|
|
310
|
+
- **多工作区与消息流重构**:同一页面可管理多个工作区,会话稳定归属创建它的工作区,移除工作区不会丢会话;消息流按真实顺序展示思考、工具执行与最终回答,对话中可连续排队、编辑或删除多条消息;右侧辅助栏承载文件、上下文、调用记录与运行活动。
|
|
311
|
+
- **CLI 帮助修复**:`--help` 现在直接列出真实用法,`task advance`、`task status` 与 `dag` 子命令的帮助顶部即给出完整参数说明;`task source prepare` 也恢复可用。
|
|
312
|
+
- **backend-test 执行与判定系列修复**:pytest 7.x 环境下已授权用例现在能被正确执行;修复了空值标记、本地请求、空白写法与超长取值被误判为不安全或前后不一致的假警报,生成与执行的对应关系也不再反复返工。
|
|
311
313
|
|
|
312
314
|
### 改进
|
|
313
315
|
|
|
314
|
-
- Windows 上读取运行中的 DAG
|
|
316
|
+
- Windows 上读取运行中的 DAG 状态不再因文件占用或半成品内容偶发失败,Console 协作中止也不再误报输入非法;相关 I/O 检查的超时上限同步对齐,避免进程启动压力造成假失败。
|
|
315
317
|
- 检查器「提示词重启」只读态的提示词卡片会撑满剩余高度并在卡片内滚动,不再在面板底部留下大块空白;失败节点的可编辑布局不变。
|
|
316
318
|
- DAG 节点表「备注」改为节点用途简介(是什么、做什么、目的),不再重复节点 ID;失败节点仍显示错误摘要。检查器标题与图节点悬浮提示同步展示同一句说明。
|
|
317
|
-
-
|
|
318
|
-
- DAG
|
|
319
|
-
- DAG
|
|
320
|
-
-
|
|
321
|
-
- frontend-test
|
|
322
|
-
- frontend-test
|
|
319
|
+
- 实验「提示词重启」会为每次失败尝试保存独立、脱敏且体积有上限的提示词候选;检查器始终提供版本选择,新运行会列出原始提示词与全部失败尝试,历史运行未保存候选时会明确说明。候选可一键复制,被截断的候选会标记为截断预览并禁止直接用于续跑。
|
|
320
|
+
- DAG 节点检查器的「执行过程」按执行方式分别展示:Pi 节点看会话事件,shell 节点显示命令回执与标准输出/错误,内部处理器显示步骤回执;空态不再把 shell 与静态节点说成「暂无过程日志」,节点输入也会标出实际的处理步骤名。
|
|
321
|
+
- DAG 节点检查器「节点输出」在内容为完整 JSON 对象或数组时改为缩进代码块展示,不再挤成一段紧凑文本;截断或非法 JSON、普通 Markdown 仍走原阅读器。
|
|
322
|
+
- 前端 DAG 不再把需求与验收文档全文复制进每个相关节点,改为按需引用有限片段,也不再要求计划与契约重读全部绑定源文件,长需求在多节点间的上下文占用明显降低。
|
|
323
|
+
- frontend-test 的用例打包会从项目模板目录拷贝标准场景;完整初始化出的目标仓库不再静默落到只含一条冒烟用例的兜底集合。
|
|
324
|
+
- frontend-test 的环境探测会区分「端口没人监听」与「服务返回 4xx/5xx」两种失败,并提示先启动本地前端再从失败节点续跑,不再把它们写成同一句不可达提示。
|
|
323
325
|
- frontend-test 报告解析用例 Markdown 的 `##`/`###` 标题与有序列表(`测试步骤` / `预期结果` / `前置条件与重置`);缺 `测试目的` 时回退到用例 H1,避免主 HTML 出现空步骤。
|
|
324
|
-
- `dag rerun --from-node`
|
|
325
|
-
- Pi
|
|
326
|
-
- DAG
|
|
327
|
-
- Operator Chat
|
|
328
|
-
- Operator Chat
|
|
329
|
-
- `dag rerun-task`
|
|
330
|
-
- DAG
|
|
331
|
-
- `frontend-plan-pi`
|
|
332
|
-
- Operator Chat
|
|
333
|
-
- Operator Chat
|
|
334
|
-
|
|
335
|
-
- Operator Chat
|
|
326
|
+
- `dag rerun --from-node` 把尚未运行的写入与映射节点视为首次执行;失败的 frontend-test 探测节点可以带着下游未跑的节点一起续跑,不必整图重跑。
|
|
327
|
+
- Pi 节点卡住 15 分钟没有任何活动时,会自动中断等待并在同一会话里重发一次「继续」;只有在中断已确认、且尚未开始写文件时才会恢复,恢复失败仍按超时处理。
|
|
328
|
+
- DAG 节点检查器「执行过程」时间线默认隐藏原始协议事件,按钮文案为「展开原始协议事件」;用户可点选展开,同会话内的选择会保持。
|
|
329
|
+
- Operator Chat 点「停止」后会先明确显示「正在停止」,此时仍可提交一条「停止后发送」的消息;它会被持久保存,切换会话、刷新或重启 Console 都不会丢,上一轮结束后自动发出且不会重复执行。
|
|
330
|
+
- Operator Chat 修复了快速终止时「停止后发送」与普通发送之间的竞态:消息不会再卡在中间状态,会自动转为正常发送,用户不必刷新重试,也不会丢失本次提交。
|
|
331
|
+
- `dag rerun-task` 会把上一轮仍未解决的验证与评审反馈带入新一轮:实现与验证角色必须修复或举证说清已不适用,不能只因文件已存在就判为完成。Console 同步区分「自动修订」「从失败节点恢复」「带反馈重新执行任务」等入口。
|
|
332
|
+
- DAG 恢复与治理入口收敛为两条最小路径:`request-revision` 只有在配置了修复轮次时才回到实现节点;遇到临时故障时,用 `dag rerun --from-node` 重跑写入节点与安全下游,失败状态不会被改写成成功。
|
|
333
|
+
- `frontend-plan-pi` 改为在固定骨架上提交补丁:版本号、来源绑定、风险与写入目标文件等关键字段由 DAG 冻结,计划本身不能覆盖;补丁会先被编译校验成完整契约再交给评审与预写,每次尝试的原始与规范化结果都会留档。
|
|
334
|
+
- Operator Chat 的恢复类工具与实际能力对齐:工具名、参数与说明都按真实命令给出,不再让模型猜参数或调用不存在的入口。自定义系统提示词上限由 1900 调整为 2500 字,用于写清节点续跑、整单重生与重排队的分流规则。
|
|
335
|
+
- Operator Chat 的模型工具面收敛:低频只读入口不再进入模型工具白名单,保留的官方 CLI 动作全部换成「做什么 + 何时用」的说明;修复了部分工具参数缺失导致模型调用必被拒、以及参数说明丢失的问题,模型更不容易选错恢复入口。
|
|
336
|
+
|
|
337
|
+
- Operator Chat 的会话创建不再限制工具范围,扩展注册的 MCP 工具现在可以被模型调用;补丁、全量工具、shell 与编码对话等入口仍按原样排除。
|
|
336
338
|
- 对话侧栏 Plugins 右侧新增只读 MCP 弹窗:展示 `mcp.json` 配置的服务,以及当前会话真正注册/激活的 MCP 工具;没有配置也没有工具时保持真实空态。
|
|
337
|
-
- 对话侧栏原 Packages 入口改名为 Plugins,与
|
|
338
|
-
-
|
|
339
|
+
- 对话侧栏原 Packages 入口改名为 Plugins,与 Pi 用户面的叫法保持一致。
|
|
340
|
+
- 对话进行中底部上下文占用百分比保持常驻:用量事件不再冲掉上一次的占用显示,并在回合中持续刷新。
|
|
339
341
|
- 上一轮大量 bash 结束后再发新消息,旧工具条不再整批挂到新气泡下面:无主工具不再丢进最新一组,历史按完整回合裁切,空助手气泡若还挂着工具会留下来当锚点。
|
|
340
342
|
- 侧栏文件树点击目录行直接插入 `@目录/` 引用(箭头单独负责展开/收起);输入框 @ 补全也列出目录,排在文件前面。
|
|
341
|
-
-
|
|
343
|
+
- 对话进行中点「停止」会立即安静下来,不再等待后端往返确认;后端中止等待从 8 秒缩短到 2.5 秒,未及时终结时由状态自动收敛。
|
|
342
344
|
- 侧栏文件树实时刷新:agent 回合结束、浏览器标签页回到前台、手动点「刷新」时重拉根目录+全部已展开目录(此前手动刷新只拉根目录,子目录永远旧缓存)。
|
|
343
|
-
- Skills / Packages / Models
|
|
344
|
-
- Skills / Packages
|
|
345
|
+
- Skills / Packages / Models 面板不再把提示原文堆在列表上方,改为标题条上一颗摘要芯片(如「14 条提示」),点开按「需要处理 / 名称不规范 / 同名未生效」分组,加载失败仍单独成组并可重试。
|
|
346
|
+
- Skills / Packages 双栏改为左右各自滚动;资源弹窗会跟随顶部导航高度在剩余视口内居中,不再被顶栏挡住上沿。
|
|
345
347
|
- 标准、评审和监督型 DAG 现在会在当前运行中重试短暂的验证故障;写入节点只有在确认工作区完全未变更时才会重试,避免因网络波动重新执行整条任务。
|
|
346
348
|
- 后端测试支持自定义目录、公共前置说明、查询场景分区和增量补缺模式;相关布局可通过 `task advance --backend-test` 纳入受管任务契约,不再需要手工修改 `task.json`。
|
|
347
349
|
|
|
348
|
-
-
|
|
349
|
-
- npm `next`
|
|
350
|
+
- 直接运行 `agent-worker console` 时,会按本机自然日询问一次是否升级到最新版本;升级检查沿用当前 npm 源,失败不会阻断启动,Console 地址仍只在终端输出。
|
|
351
|
+
- npm `next` 发布成功后会自动更新发布锚点;可用 `loop-agent inspect next` 查看已发布版本、源码提交、构建时间,以及本地尚未发布的提交。
|
|
350
352
|
- Operator Chat 的文件预览可在新窗口中打开,并可切换排版预览与原始内容;弹窗被浏览器拦截时会保留当前抽屉并给出提示。
|
|
351
353
|
- Pi SDK 的会话事件可透出模型明确返回的结束原因,便于诊断截断、停止和异常结束。
|
|
352
354
|
|
|
@@ -358,9 +360,9 @@
|
|
|
358
360
|
- Operator Chat 的命令说明和参数提示与实际能力保持一致,减少选错恢复入口或误用占位参数。
|
|
359
361
|
- 测试套件按 CPU、内存、平台和当前 DAG 压力动态分配资源,并减少重复启动进程,完整验证耗时更稳定。
|
|
360
362
|
|
|
361
|
-
- Operator Chat
|
|
362
|
-
-
|
|
363
|
-
-
|
|
363
|
+
- Operator Chat 在接近模型窗口时会先压缩再发送,压缩失败也不会丢消息;DAG 节点同样能识别上下文超限并压缩,但不会在流式输出中途主动压缩。
|
|
364
|
+
- 网关「请求上下文过大」以及常见的包装或嵌套写法都能被识别;`loop-agent init` 在目标项目生成的 Pi 扩展与控制器使用同一套判断规则。
|
|
365
|
+
- 上下文压缩默认在 Console 与 DAG 中开启,也可分别关闭;使用 Anthropic 默认提示缓存时不会触发压缩,避免破坏缓存命中。
|
|
364
366
|
- 后端测试的计划与生成阶段只读取任务明确绑定的需求、环境报告和本轮产物,减少无关仓库内容干扰结果,并让后续步骤继续使用同一份已确认计划。
|
|
365
367
|
- Operator Chat 的任务清单工具描述补齐多步骤与 DAG 使用纪律:开始前按具体步骤规划、保持进行中约束、完成后立即更新完整列表,并用面向用户的阶段呈现 DAG 进度,简单任务自动跳过。
|
|
366
368
|
- 右侧文件工作台打开 `.html` 或 `.htm` 文件时默认直接预览:沙箱会完整加载页面及同项目的相对样式、图片和字体,同时阻止脚本及外部网络访问;大体积源码不再直接报错,而是展示前 512 KiB 并清晰提示内容已截断。
|
|
@@ -375,33 +377,33 @@
|
|
|
375
377
|
|
|
376
378
|
### 修复
|
|
377
379
|
|
|
378
|
-
-
|
|
379
|
-
-
|
|
380
|
-
-
|
|
381
|
-
- `npm test`
|
|
380
|
+
- 修复在只有 `python3`、没有 `python` 命令的环境(如新版 macOS)里,backend-test 的用例覆盖分析会静默返回空结果、导致取值形状误报不匹配的问题;现在会按平台选择可用的解释器,缺失时才尝试下一个候选。
|
|
381
|
+
- 修复检查器「执行过程」时间轴切换执行分次不生效、多次执行的事件重合显示的问题:现在选中第 N 次执行只显示该次内容并标注「已按第 N 次执行过滤 · 共 M 次执行」,单次执行仍展示全量,检测不到分段边界时会明确提示。
|
|
382
|
+
- 修复前端计划修订中空引用块被误判为缺失、导致反复格式重试的问题:合法但内容为空的引用块现在会被正确接受,重复、损坏或不止一个的引用块仍会被拒绝。
|
|
383
|
+
- `npm test` 前置阶段失败导致后续阶段被跳过时,现在会显式输出警告与补跑命令,不再静默跳过(此前的失败汇总容易被误读为已全量覆盖)。
|
|
382
384
|
- npm 包现在会包含 `inspect next` 运行时依赖的查询脚本,安装后的 CLI 不再因缺少包内文件而无法启动。
|
|
383
|
-
-
|
|
384
|
-
- CLI
|
|
385
|
-
-
|
|
385
|
+
- 初始化更新改为一次扫描与规划:固定投影按已记录的归属确定性增删改,多项合并按文件串行写入,全部完成后只做一次最终验证;`--status` / `--report` 直接读取已有证据,不再重复运行项目脚本。配置项保留项目值,有效档位不变。
|
|
386
|
+
- CLI 的版本检查与 `init upgrade` 的版本门禁会沿用目标项目的 npm 配置(含项目级、用户级与全局源设置),企业镜像失败时不会偷偷回退官方源,并给出脱敏原因区分超时、启动失败与响应无效。
|
|
387
|
+
- 同一浏览器下不同端口的多个 Operator Console 不再互相顶掉登录状态:不同项目和同一项目的多个 Console 可以并行对话,来回切换页面无需刷新;Console 重启后旧页面会被安全拒绝,刷新即可恢复。
|
|
386
388
|
- Markdown 表格只处理横向溢出,鼠标停在表格上时仍可正常上下滚动对话。
|
|
387
389
|
- Windows 上执行后端测试场景参数的 Python 语法检查时,会跳过不可用的 Microsoft Store 占位程序,避免错误回滚合法改动。
|
|
388
390
|
- 旧版前端 DAG 也能识别增量计划修订,不再因契约格式差异反复重试;无法合并的修订会提示重新生成 DAG。
|
|
389
391
|
|
|
390
|
-
- 修复 backend-test
|
|
392
|
+
- 修复 backend-test 把无请求体用例里的「none」误识别为 JSON 字段路径,从而把全部 pytest 用例判为不安全并排除的问题;现在会把这类空值正确归一化为空集合,而真实的取值冲突仍会严格阻断。
|
|
391
393
|
- 修复 Console「更新并初始化」被观测顶栏挡住、看起来像从 DAG 详情消失的问题:入口改到操作 → 设置,观测与对话页不再挂全局悬浮按钮。
|
|
392
394
|
- 修复从恢复打开全屏观测时,长 DAG run id 把「返回 恢复」顶进居中模式开关底下、按钮显示不全的问题;上下文 chip 改到顶栏下方独立一行,过长 id 省略、按钮不收缩。
|
|
393
395
|
- 修复 Console 内嵌观测后样式泄漏到对话/操作、观测顶栏丢失新鲜度与 Pi 状态、从恢复打开观测看不到「返回 恢复」、以及检查器盖住一级导航的问题;对话里的观测链接改为壳内地址。
|
|
394
|
-
- 修复 Console
|
|
395
|
-
- 修复 backend-test
|
|
396
|
-
- 修复 backend-test
|
|
397
|
-
-
|
|
398
|
-
- 修复 backend-test 把 Markdown
|
|
399
|
-
- 修复 backend-test
|
|
400
|
-
- 修复 backend-test
|
|
401
|
-
- 修复 backend-test 把 Markdown
|
|
402
|
-
- 修复 Console 把 backend-test
|
|
403
|
-
- 修复 backend-test
|
|
404
|
-
-
|
|
396
|
+
- 修复 Console 内嵌观测丢失「提示词重启」入口、图标和产品深链的问题;托管观测所需的访问凭据不再写入 Console 页面。
|
|
397
|
+
- 修复 backend-test 的场景分区虽已声明、展开后的精确槽位清单却没有交给 Markdown 生成环节,导致用例只生成普通别名并被全量判为缺失的问题;现在计划会把每个精确槽位逐字写入绑定的覆盖矩阵规则,生成前会做一次完整性核对。
|
|
398
|
+
- 修复 backend-test 的场景分区计划表只提示部分取值、下游门禁却要求补集槽位的不一致:计划、Markdown 用例与 pytest 现在统一明确唯一的补集槽位,不会再因为表格指令遗漏而报槽位缺失。
|
|
399
|
+
- 修复文档审计会把本地临时证据与打包目录一起扫描、导致发布前验证被非治理文件阻断的问题。
|
|
400
|
+
- 修复 backend-test 把 Markdown 里明确声明的非法枚举、类型错误、null、空值和精确非法字面量当成契约漂移、白白消耗唯一一次返工机会的问题;豁免现在按参数、目标字段和取值逐条绑定,真实契约漂移与路径缺陷仍严格阻断。
|
|
401
|
+
- 修复 backend-test 无法识别同一模块内安全取值辅助函数的位置、关键字与默认参数,以及精确删除某个字段的写法的问题,这类场景此前会一直判为无法确定;涉及计算、动态、跨模块或危险写法的场景仍保持无法确定。
|
|
402
|
+
- 修复 backend-test 无法确认同一模块内的安全取值辅助函数、导致常规请求场景长期判为无法确定的问题;超长边界取值现在会保存为有长度上限的摘要并保留真实长度,空白修复建议也改用真实空格而不是转义文本。
|
|
403
|
+
- 修复 backend-test 把 Markdown 里的空白转义写法与 pytest 中真实空白字符串误判为场景参数不一致的问题;现在逐项排除会带上用例、字段、期望/实际取值和源码位置等有界诊断,同时不会对普通业务字符做宽松处理。
|
|
404
|
+
- 修复 Console 把 backend-test 写入节点的局部保护文件误判为整体越界的问题;任务级禁止路径仍保持硬阻断,合法的 DAG 可以继续获得自主执行凭据。
|
|
405
|
+
- 修复 backend-test 会漏判一类本地请求调用的取值问题;现在会汇总分类与用例排除结果并记录 pytest 启动事实,取值修复提示会同时给出期望、实际与缺失的字段路径清单。
|
|
406
|
+
- 修复后端测试在取值、夹具与用例对应关系同时异常时只修复其中一类的问题;pytest 侧缺陷现在会合并进唯一一次有界返工,Markdown 测试点未分类或重复分类会在生成阶段定向重试,不允许下游猜测修复。
|
|
405
407
|
- 修复重命名会话时输入框没有回显当前标题的问题。
|
|
406
408
|
- 修复自动压缩提示长期停在输入框上方、恢复输出跑到压缩前面,以及回复文字在工具出现时突然跳位的问题;消息流会按顺序保留模型提供商的原始错误、压缩过程和恢复结果,刷新后也保持一致。
|
|
407
409
|
- 工作区列表支持像 DSH Web 一样上下拖动调整顺序;新的顺序会自动保存,刷新页面或重新启动看板后仍然保持。
|
|
@@ -544,22 +546,22 @@
|
|
|
544
546
|
|
|
545
547
|
### 修复
|
|
546
548
|
|
|
547
|
-
-
|
|
548
|
-
-
|
|
549
|
-
-
|
|
550
|
-
-
|
|
551
|
-
-
|
|
552
|
-
-
|
|
553
|
-
-
|
|
554
|
-
-
|
|
555
|
-
-
|
|
556
|
-
-
|
|
557
|
-
-
|
|
549
|
+
- 前端设计评审改为串行:先做秒级的确定性校验,不通过立即停止,不再白跑模型评审;通过后再由模型评审,且评审读到的一定是定稿后的完整契约,不会看到计划中间态。
|
|
550
|
+
- 模型如实上报的设计偏差不再被前置校验一刀切阻断,改由设计评审裁决是否可接受;如实披露冲突的计划能正常通过,不会永久卡住。
|
|
551
|
+
- 前端任务执行验证时写下的工具缓存不再被误判为越界修改;真正的产品文件越界修改仍会被拦截。
|
|
552
|
+
- 在干净的 Git 仓库中,前端任务不再因对照基线为空而卡死;越界判定改为以完整工作区文件清单为基准,判断结果更稳定。
|
|
553
|
+
- 前端任务的可写范围支持用通配符声明,系统会展开为具体文件,不再因路径不是具体文件而卡死;无法获取文件清单时仍会拒绝执行。
|
|
554
|
+
- 前端计划使用目标项目已有的依赖、或明确声明不新增依赖时,不再被误报为未授权,真正未声明的新依赖仍会被拒绝;UI 状态检查只要求已声明的状态说明完整,不再强制补齐不存在的状态。
|
|
555
|
+
- 纯逻辑的前端修改不再被要求补齐 loading/empty/error/disabled 四种 UI 状态,不会因此被判为不通过;一旦计划涉及界面状态或交互,仍要完整说明每个状态的归属。
|
|
556
|
+
- 前端计划的必填字段补齐规则统一到一处,不再因分支规则不一致而失败;未声明界面绑定的验证目标不再被默认填上“成功/失败”状态,缺失命令时也不再套用默认命令。交互与界面状态都要有组件选型依据,缺失时带明确诊断重试。
|
|
557
|
+
- 前端计划里的数据质量问题现在会在计划阶段就地重试修复:依赖授权、交互与界面状态归属等检查提前到计划节点执行,带明确诊断重试,而不是直接终止;最终校验仍然保留。
|
|
558
|
+
- 前端计划输出格式不合规(例如引用了未声明的界面状态)时不再直接失败,而是带具体原因和修复指引自动重试,重试次数仍有上限。
|
|
559
|
+
- 前端实现的门禁判定改为读取已提交的结构化结论,不再从计划文本里猜;结论缺失或格式不合规时给出明确阻断原因,不退回文本解析。设计评审不再预判验证命令的成败,命令结果以实际执行认定,这类疑虑只作非阻断提示。
|
|
558
560
|
- Console 对话中的 Markdown 表格只约束横向滚动,不再截断纵向滚动链;鼠标或触控板停在表格上时仍可继续上下滚动对话。
|
|
559
|
-
-
|
|
560
|
-
-
|
|
561
|
-
-
|
|
562
|
-
-
|
|
561
|
+
- 场景参数的确定性改写会做 Python 语法校验:Windows 上优先使用 python,如果只找到 Microsoft Store 的 python3 空壳则视为解释器不可用并自动回退,避免把合法改写误判为失败而回滚。
|
|
562
|
+
- 前端计划修订节点允许只提交增量补丁和规范引用块,格式校验按补丁形态宽松判定,不再出现“要求提交完整契约”与“只提交变更”互相矛盾导致的循环失败;最终合并与校验仍由门禁统一负责。
|
|
563
|
+
- 组件选型现在会强制说明依据:沿用已有组件必须给出 OpenSpec 规范引用,新增组件必须给出 PRD 引用;计划文档中小节为空时不再残留多余标题符号。
|
|
564
|
+
- 已有的前端任务中,只要修订节点提交的是增量补丁,门禁会按内容自动合并并照常校验,不再因字段缺失卡在循环重试;补丁确实无法合并时会明确阻断,并提示重新生成执行流程。
|
|
563
565
|
|
|
564
566
|
- 前端计划修订能正确识别增量补丁,不再因“提交完整契约”和“只提交变更”两套要求冲突而循环失败。
|
|
565
567
|
- OpenSpec 引用必须来自真实读取记录;缺失、移动或未引用的规范会在写入前给出明确提示。
|
|
@@ -701,3 +703,4 @@
|
|
|
701
703
|
|
|
702
704
|
0.35.x 及更早(0.8.0 – 0.35.4-beta.0)的发布说明已归档到 [`CHANGELOG/CHANGELOG-0.35-and-earlier.md`](CHANGELOG/CHANGELOG-0.35-and-earlier.md);版本线维护边界与归档规则见 [`CHANGELOG/README.md`](CHANGELOG/README.md)。
|
|
703
705
|
|
|
706
|
+
|