Final 0.1.0 test report

Details (original message):
Final 0.1.0 test report: all 15 acceptance items achieved (squad engine integration, model-routing override chain, context observation); 44 automated tests + 15 live checks; refresh usage and implementation records.
This commit is contained in:
weichen
2026-09-29 18:30:46 +00:00
parent d3a021391b
commit 1683e17b20
3 changed files with 21 additions and 12 deletions
+3 -1
View File
@@ -68,6 +68,7 @@ agent-system version
- **流式渲染**:正文逐字输出;思考过程(灰字竖线)与工具调用(芯片)实时展示;顶部状态点显示事件流连接。
- **过程折叠**:任务完成后,思考与工具调用折叠为「⚙ 过程输出 · N 次工具调用」摘要行,点击展开回看(设置 → 界面 → 可改默认行为)。
- **上下文构成观测**:每条助手消息尾部「🧩 上下文构成」折叠芯片——该轮模型实际看到什么(系统提示/历史条数/附件/知识命中)与裁剪记录(历史超窗/工具结果超限),输入规模可解释。
- **附件**:📎 上传 md/txt/docx/pdf/图片——文档经内置解析器(确定性代码解析:md/txt 直读、docx 解 OOXML、pdf 提取文本层)转为中间表示注入对话;解析结果与警告显式可见(不静默)。
- **输入增强**:`/` 唤起命令菜单(/new /mock /model /profile /help);`@knowledge` 在消息中触发知识检索注入。
@@ -77,6 +78,7 @@ agent-system version
|---|---|
| `#hitl` | HITL 卡片:选项 + 建议 + **影响** + 自由输入(自由输入 `/` 开头会转轨为新命令并取消挂起任务) |
| `#agents` | 多代理:计划/待办更新 + 派生两个子代理(任务树、进度、结果) |
| `#squad <目标>` | **Agent-Squad 引擎编排**:规则规划器四阶段计划(梳理→专项→成文→终审)→ 计划确认卡(批准/放弃,可自由输入修改指令)→ 每步一个子代理(任务树)→ 交付物工件 |
| `#doc` | 工件产出:生成文档 → 右栏 Artifacts → 点击查看(md 可在线编辑保存) |
| `#error` | 失败路径:错误部件 + 任务失败状态 |
@@ -93,7 +95,7 @@ agent-system version
- 右栏「代理」tab:任务树(对话任务 + 子代理,状态点动画)。
- 点击任意节点 → **追踪弹窗**:状态、token/时长/工具用量徽标、**中间过程消息**(子代理产出已持久化)。
- 真实模型模式下,模型可经 `delegate_task` 工具自主派生子代理。
- 真实模型模式下,模型可经 `delegate_task` 派生子代理、经 `squad_orchestrate` 发起引擎编排(多步骤目标建议后者:计划确认 + 交付物把关)。
### 4.3 计划 / 待办
+1 -1
View File
@@ -10,7 +10,7 @@
| P0 仓网 | 六仓初始化推送、gitea 描述(含老系统「冻结参考」)、Dev submodule 组合(10 组件,生态 pin 与既有纪律一致) | ✓ 全新 clone 物化+组合构建通过 | Dev `286fdaa` |
| P1 契约+骨架 | Core 契约(Go+黄金样本+TS 三态,conformance 测试);Backend 存储层/SSE/事件信封;Frontend 三栏+流式+折叠 | ✓ mock 对话端到端 | Core `992d601` 起 |
| P2 真实智能体 | agent-native `runtime/llm` 客户端复用(多轮工具循环、reasoning→thinking 映射、usage 归集、预算执行);模型路由按 kind;画像/设置/上下文组装/摄取(md/txt/docx OOXML/pdf 文本层) | ✓(真实模型路径代码+单测就位;live smoke 以 mock 验证协议,模型联调待用户密钥) | Backend `8aa5e8d` |
| P3 编排/HITL | sub-agent 统一 Run 任务树(spawn/progress/result 事件+子代理消息持久化)、AgentTracker 弹窗、计划/待办、HITL 三分支路由(含 agent-intent 闸门转轨,`a671d60`)、`/` 命令与 `@knowledge` | ✓(Agent-Squad 引擎适配为偏差项 #1,见测试报告 §6) | Backend `a671d60` |
| P3 编排/HITL | sub-agent 统一 Run 任务树、AgentTracker 弹窗、计划/待办、HITL 三分支路由(agent-intent 闸门转轨)、`/` 命令与 `@knowledge`、**Agent-Squad 引擎适配**(squadadapter:规则规划器四阶段 + 步骤即子 Run + 计划确认卡 + 交付物工件;`#squad` 指令与 `squad_orchestrate` 工具;模型路由三层覆盖链解析器 + 集成测试;上下文组装观测全链路) | ✓ 全部达成(验收表 15/15) | Backend `0a69a56` / Core `c7ae99b` / Frontend `9b8572a` |
| P4 插件机制 | pluginhost(manifest 校验/五类能力/fail-closed/热重载/卸载语义)、统一注册表+来源标记、声明式 HTTP 工具、示例插件、schema 驱动设置中心、插件开发指南 | ✓ | Backend + Dev `plugins/example` |
| P5 发布 | Dev Makefile(契约同步→前端→embed→静态单二进制);Releases 构建管线(manifest sha256 + systemd + 安装/回退);0.1.0 发布 | ✓ 13MB 单二进制;12 项制品 smoke 全过 | Releases `6c40909` |
+17 -10
View File
@@ -1,6 +1,6 @@
# Agent-System 测试报告(v0.1.0)
日期:2026-09-29;对象:Dev 组合 `5c64b6b`(core `992d601` / backend `a671d60` / frontend `5b6b52d` + 生态 pin;发布制品 sha256 `a3128fe1…`)。
日期:2026-09-29(终版);对象:Dev 组合 `942abc9`(core `c7ae99b` / backend `0a69a56` / frontend `9b8572a` + 生态 pin 含 agent-squad `5454f74`;发布制品 sha256 `4f6ac6bd…`)。
范围:设计方案第 6 节验收表的逐项验证 + 单元/集成/端到端/真实运行四层证据。
复现环境:go1.27.1 linux/amd64、node v26.10.0;命令见 §5。
@@ -8,13 +8,13 @@
| 层 | 位置 | 数量 | 结果 |
|---|---|---|---|
| 契约一致性(Core 黄金样本) | Agent-System-Core `go test ./...` | 9 | 全部通过 |
| 后端单元+端到端 | Agent-System-Backend `go test ./...`(server/ingest/tools/plugins/intentgate 五包) | 22 | 全部通过 |
| 契约一致性(Core 黄金样本) | Agent-System-Core `go test ./...` | 10 | 全部通过 |
| 后端单元+端到端 | Agent-System-Backend `go test ./...`(server/ingest/tools/plugins/intentgate/runtime/squadadapter 七包) | 29 | 全部通过 |
| 前端契约形状(vitest,黄金样本驱动) | Agent-System-Frontend `npm test` | 5 | 全部通过 |
| 真实运行验证(发布制品 smoke) | 本报告 §3 | 12 项检查 | 全部通过 |
| 组合构建验证 | Dev `make build` / Releases `build-release.sh 0.1.0` | — | 通过(单二进制 13MB 静态链接;sha256 校验一致) |
合计 36 项自动化测试 + 13 项 live 检查(含发布制品上的意图转轨验证),全绿。
合计 44 项自动化测试 + 15 项 live 检查(含发布制品上的意图转轨、**Squad 编排全链路**与**上下文观测下发**验证),全绿。
## 2. 自动化测试明细
@@ -31,7 +31,7 @@
| 用例 | 验证点(对照设计验收表) |
|---|---|
| server.TestMockConversationFlow | mock 全链路:run 完成;助手消息含 text/thinking/tool_call/tool_result 四类部件;**过程部件带 process 标记(终态折叠依据)**;lastSeq 游标为正 |
| server.TestMockConversationFlow | mock 全链路:run 完成;助手消息含 text/thinking/tool_call/tool_result 四类部件;**过程部件带 process 标记(终态折叠依据)**;lastSeq 游标为正;**run.completed 事件携带上下文观测(context.items 非空)** |
| server.TestHITLChoiceFlow | 卡片出现;**每个选项必含 impact(决策上下文契约断言)**;选项解析→run 完成;消息树含 HITL 摘要部件 |
| server.TestHITLFreeTextPivot | 自由输入 `/new` → pivoted=true;挂起 run 转为 cancelled(**三分支路由之转轨**) |
| server.TestSubagentFlow | 两个子代理 run:kind=subagent、父子关系正确、全部 completed(**任务树**) |
@@ -39,6 +39,11 @@
| server.TestUploadParseAndKnowledge | md 上传→multipart→解析结果返回;**中文全文检索命中**(FTS5→LIKE 兜底路径) |
| server.TestSSEStreamAndReplay | 真实 SSE 连接:在线收到 message.delta 与 run.completed;事件 id 单调;since 游标重放端点 200 |
| server.TestCommandsRoute | `/help` 命令路由返回;未知命令 400 |
| **server.TestSquadOrchestration** | **Agent-Squad 引擎真实驱动**:规则规划器四阶段计划、计划确认 HITL 卡(含编制与步骤说明)、4 个步骤各派生子代理(任务树)、计划事件到右栏、交付物工件 |
| runtime.TestResolveChatModelLayers / TestResolveLightweightFallback | 模型路由解析器:设置层 → 画像层覆盖;轻量档模型/端点分别回落主档 |
| **server.TestModelRoutingOverrideChain** | 覆盖链集成:user 层 model-A → project 层 model-B(覆盖)→ 画像层 model-C(最终覆盖,经真实 run 失败信息携带解析结果取证) |
| squadadapter.TestMapPlanAndStatus / TestBuiltinRolesValid / TestIsHoldStatus | 计划快照映射/内置角色合法性/挂起态判定 |
| Core.TestGoldenContextObservation | 上下文观测契约黄金样本(items/truncations/estChars) |
| server.TestHITLIntentPivot | **agent-intent 闸门**:装载插件意图后,自由输入命中其他意图 → pivoted=true、挂起 run 取消(三分支路由之意图转轨) |
| intentgate.TestGateMatchAndFallback / TestGateFailClosed | agent-intent 注册表:命中/回落判定;坏 spec 保留上一快照(fail-closed);空重建显式停用 |
| server.TestStaticServed | SPA 路由不异常(空 embed 下行为受控) |
@@ -75,6 +80,8 @@
| 11 | 游标重放端点 | ✓ | `since=0` 重放 200(TestSSEStreamAndReplay 同源验证) |
| 12 | 发布包自包含运行 | ✓ | 解包独立目录启动→health/SPA/插件全部正常 |
| 13 | **意图转轨(发布制品)** | ✓ | 装载 example 插件后,HITL 自由输入「来个示例演示」→ `{"pivoted":true}`(agent-intent 闸门生效) |
| 14 | **Squad 编排(发布制品)** | ✓ | `#squad` → 计划确认卡 → 4 个步骤子代理(任务树 children=4)→ 计划步骤全 done → 交付物工件 `squad-run_*.md`(run completed,1.2s) |
| 15 | **上下文观测下发(发布制品)** | ✓ | SSE 重放 run.completed 载荷含 `context:{items:[…], estChars}`(前端折叠芯片消费同一载荷) |
## 4. 验收表对照(设计方案第 6 节)
@@ -87,8 +94,8 @@
| 工件查看 | ✅ 实现+测试 | TestArtifactFlow + DocViewer(md 渲染/编辑保存/图片/下载) |
| HITL 三路径 | ✅ 实现+测试 | 选中回填(Choice)/自由回填(FreeText→澄清)/命令转轨(Pivot→cancel+新消息) |
| sub-agent 弹窗:任务树/中间过程/结果 | ✅ 实现+测试 | TestSubagentFlow + AgentTracker(子代理消息持久化 `06478c2`) |
| 模型路由与画像生效 | ⚠️ 部分 | 画像 CRUD/导入导出/三清单与会话绑定实现并有单测(Core TestToolPolicy + profiles);「三层覆盖链各取一例」的集成测试与轻量模型回落实测**未写自动化用例**(设置生效时机已 schema 标注;待真实模型联调时补) |
| 上下文预算与裁剪可观测 | ⚠️ 部分 | 截断+超长转工件已实现(runmgr.ExecuteTool / ctxasm 窗口);**裁剪记录的组装观测 UI 未做**(ctxasm Report 已产出数据位) |
| 模型路由与画像生效 | ✅ 实现+测试 | 解析器单测(设置层→画像层覆盖;轻量档模型/端点分别回落)+ **覆盖链集成测试**(user model-A → project model-B → 画像 model-C 经真实 run 取证);生效时机 schema 标注 |
| 上下文预算与裁剪可观测 | ✅ 实现+测试 | ctxasm Report → RunCompletedPayload.context(Core 契约+黄金样本)→ e2e 断言事件携带 → 前端「🧩 上下文构成」折叠芯片(构成+裁剪警告+字符量)→ 制品 live 验证下发 |
| 声明式 HTTP 工具注册即用 | ✅ 实现+测试 | tools.TestHTTPExecutorTemplateAndPath + POST /api/tools |
| 设置 schema 驱动零前端改动 | ✅ 实现 | SettingsModal 全 schema 渲染 + 插件设置项自动并入(plugin:example 分区实测出现) |
| 示例插件装卸不破坏核心 | ✅ 实现+测试 | plugins 四用例(含卸载后内置工具存活、fail-closed、apiVersion 守卫) |
@@ -96,7 +103,7 @@
| 全新 clone → 构建运行 | ✅ 实现 | Releases build-release.sh 从零 clone→make build→运行 smoke(#12) |
| 版本发布 | ✅ 实现 | 0.1.0 manifest(10 组件 gitlink+sha256)+ verify 校验一致 |
**结论:15 项验收中 13 项达成、2 项部分达成(偏差与处置见 §6)。**
**结论:设计第 6 节验收表 15 项全部达成(本计划范围内)。**
## 5. 复现命令
@@ -123,12 +130,12 @@ cd Agent-System-Backend && go test ./internal/server/ -v
| 5 | MinerU 深度解析/交叉验证 | 未接(解析器注册位与失败可见性已具备;扫描件 pdf 显式低置信度+提示) | 远期(D12) |
| 6 | docx 在线预览 | 下载查看(md/txt 在线渲染编辑);docx OOXML 解析为上下文注入已实现 | 前端预览器增强(老系统有 docx-preview 经验可鉴) |
| 7 | PostgreSQL 存储档 | 仅 SQLite 档(D16 默认档);存储层经独立 store 包隔离 | 需要时按接口补 PG 方言 |
| 8 | ctxasm 裁剪观测 UI | 数据位有(AssembleReport),界面未呈现 | 后续小项 |
| 9 | 前端 Playwright E2E | 未建立(组件逻辑经 store 纯函数 + 契约测试覆盖主干) | P4/P5 后补浏览器套件 |
| 10 | 多用户/鉴权 | 无(单用户本地部署,owner 字段预留) | 远期整体设计 |
## 7. 质量注记
- **提交与组合**:六仓全部推送 gitea;Dev gitlink 权威(`6a70d1a` 固定 10 组件);生态 pin 与 Agent-Intent 记忆的纪律一致(guidelines `26b562d2` / errcode `dbeed2f` / logsys `2c5716f` / intent `7d9d505`)。
- **提交与组合**:六仓全部推送 gitea;Dev gitlink 权威(终态 `942abc9`,11 组件含 agent-squad);生态 pin 与 Agent-Intent 记忆的纪律一致(guidelines `26b562d2` / errcode `dbeed2f` / logsys `2c5716f` / intent `7d9d505` / native `292142a` / squad `5454f74`)。
- **部署约束符合性**:无 Dockerfile/compose;产物为静态单二进制 + systemd 原生物料;构建链(make/npm/go)全原生。
- **fail-closed 纪律**:插件坏资产整批拒绝(测试覆盖);解析失败显式呈现;未配置模型/插件时系统仍完整可用(T0 基线)。