AgentEvalTool/docs/release-notes-v0.3.md
sinohqb 92f98c3af7
Some checks failed
CI / test (push) Failing after 2m59s
docs(release): add v0.3 release notes and minimal CI baseline
- 补齐 release-notes-v0.3.md,更新 AGENT.md 里程碑表与 README 至 v0.3 现状
- 新增 scripts/ci-check.sh(版本一致性 + ruff + pytest + tsc)
- 新增 .gitea/workflows/ci.yml 与本地 pre-push hook 约定
2026-07-27 16:51:45 +08:00

5.9 KiB
Raw Blame History

AgentEvalTool v0.3 版本发布说明

版本: v0.3.0-dev 日期: 2026-07-17发布至 t480/ 2026-07-27文档补齐 状态: 已发布(t480 开发线, commit affbf60) 代号: 「拓」(Expansion milestone) 作者: AgentEval Team


一、版本定位

v0.3 是「先稳后拓」战略的第二步。在 v0.2 打好的异步引擎、安全基线和测试基线之上,本版本完成两条主线:

  1. 滚动迭代v0.2 发布后至 v0.3 基线,任务号 v0.3-s1~s4 / v0.4-t1~t4多通道、规则扩展、报告增强、文件管理等平台能力。
  2. 模型配置中心v0.3 核心主线,见 plan-v0.3.md):统一管理工程内所有外部大模型连接,消除凭据分散与明文泄露风险。
v0.1 (2026-07-09)  MVP 闭环跑通
   │
   ├── v0.2 (2026-07-14)  「稳」async 引擎 + 安全基线 + 部署规范化
   │
   ├── v0.3 (2026-07-17)  ← 你在这里:「拓」多通道 + 规则扩展 + 模型配置中心
   │
   └── v0.4 (规划中)      待规划

二、滚动迭代能力v0.2 → v0.3 基线)

任务 内容 提交
s1 规则层异步化 + 工具函数去重 + HTTP 通道 12481cd
s2 3 个新规则(semantic_similarity / json_schema / safety+ all/any/weighted 组合逻辑 c7f1dca
s3 Webhook 通知 + OpenClaw HTTP Skill + Markdown / 对比报告 349200e
s4 场景模板库 + WebSocket 自动重连 + PageWrapper 复用 17aeba8
t1/t2 测试覆盖率 62%→77% + UTC 时区根本修复(后端序列化带时区) e0b69fa
t3/t4 OpenClaw 评测通道 + 前端 bundle 优化(懒加载 + chunk 拆分) 12c1732
文件管理模块(分类树 + 上传下载 + 级联删除) a77cd83 d7514f4 9293f9e

至此通道达到 3 种(tutu / http / openclaw),规则达到 6 种,均通过注册表/工厂支持插件式扩展。


三、核心功能:模型配置中心

3.1 问题背景

此前模型连接信息分散在 Scenario.llm_config 和各规则 paramsAPI Key 明文存储、随 API 响应泄露,且三处模型调用各自实现 httpx 请求,无统一的认证、超时、错误处理。

3.2 架构

模型配置页面 (/models)
    ↓
/api/model-configs → ModelConfigService → model_configs 表
                                        → Fernet 密钥加密/解密
                                        → 引用检查(被绑定禁止删除)
    ↓
ModelGateway ── chat()     → 动态用例生成 / LLM 评分
             ├─ embed()    → 语义相似度
             └─ moderate() → 安全检测
    ↓
协议适配器: openai / anthropic / dashscope / gemini

3.3 关键设计

  • 场景只引用配置 IDscenario_model_bindings 表按用途generator/judge/embedding/moderation绑定(scenario_id, purpose) 唯一。
  • 凭据零泄露GET 响应只返回 has_api_keyPUT 不传 key 则保留原值;cryptography Fernet 加密落库。
  • 能力匹配强约束chat 配置不能用于 embedding / moderation。
  • 运行快照run 启动时保存不含密钥的模型快照,运行期间配置变更不影响进行中的评测。
  • 协议与元数据分离cc79d3a / affbf60provider 表示调用协议,capability 表示评测用途,input/output_modalities 表示模型自身模态;厂商、区域、上下文窗口等为描述性元数据,写入运行快照但不改变网关请求参数。

3.4 数据迁移

  • 新迁移: 8e91c70a5d3b_add_model_config_center + a64b2f8c9d10_add_model_metadata
  • scripts/migrate_model_configs.py 将存量 llm_config / 规则内嵌凭据迁移为配置引用(含单测覆盖)。

四、关键 Bug 修复

问题 根因 修复
多轮用例 LLM 评分普遍 0 分 llm_score 的 question 提取按 turn 索引错位 c4962dd
前端运行时崩溃(白屏) vendor-charts chunk 循环依赖 f765bee
动态用例生成失败无痕迹 失败原因未持久化 写入 run.summary.case_errors867d4e3
--skip-build 部署后代码未生效 容器未重启 + commit 校验误报 自动重启 + 校验降级(69100c3
场景页残留旧模型引用 模型配置迁移后前端未刷新 457dfed

五、测试与质量

指标 v0.2 v0.3
测试数量 24 218
覆盖率 57% 82%
测试代码量 ~800 行 3,746 行

新增测试模块规则组合逻辑、HTTP/OpenClaw 通道、报告生成、webhook、场景模板、文件管理repository/service/API、模型配置service/gateway/迁移/运行时集成)。


六、部署验证

$ curl http://192.168.8.145:8001/api/health
{"status":"ok","version":"0.3.0-dev","commit":"affbf60","built_at":"2026-07-17T15:00:21Z"}
  • commit SHA 已随镜像注入v0.2 遗留的 no-git 问题随 git 仓库建立自愈)。
  • 远端仓库: 自建 Giteagit.solahqb22.cn

七、已知问题与风险

  1. 无 CI218 个测试仅靠手动执行依赖漂移无法自动发现2026-07-27 已补pre-push hook + Gitea Actions 工作流)。
  2. t480 .env 手动维护:新增环境变量需 SSH 手动补全(陷阱 #5未根治
  3. moderation 能力覆盖有限safety 规则的 moderation 路径依赖外部审核端点可用性。
  4. 前端无自动化测试:仍只有 tsc --noEmit 类型检查。

八、下一版本v0.4)候选方向

  • 前端测试基线vitest + 组件冒烟测试)
  • 评测报告增强:趋势分析、多 run 聚合看板
  • OpenClaw 深度集成第二阶段(插件双向调用)
  • 多模态评测用例(依托模型配置中心的 modality 元数据)
  • .env 配置同步自动化

待与团队确认后另行制定 plan-v0.4.md。