AgentEvalTool/docs/requirements-v1.0.md
sinohqb a77cd83e6a v0.2.0-dev: 文件管理 + 页面布局统一 + 6 个 bug 修复
## 新增功能
- 文件管理模块:分类树 + 文件上传/下载/删除
- 文件上传支持拖拽(Dragger)+ 手动上传(customRequest 模式)

## 页面布局统一(参照评测执行页)
- 仪表盘/评测对象/评测场景/评测报告 全部改为全高 flex 布局
- 统一内联页头样式(h2 + 竖线分隔 + 描述)
- 表格撑满高度、overflow 处理
- 每页添加刷新按钮

## Bug 修复
- 分类树操作按钮 hover 不可见(CSS 规则缺失)
- 文件上传失败(multipart boundary 缺失)
- LLM API 响应 content blocks 数组格式支持(_extract_content_from_api_response)
- response_time_max_ms 被静默忽略(隐式规则传空 params)
- 空 messages 导致 IndexError 崩溃
- poll_reply 异常中止整个 run(缺 try/catch)
- engine finally 未关闭 session
- 3 个页面 UTC 时间戳解析偏差 8 小时

## 后端
- EvalEngine: poll_reply 异常保护、空 dialog 保护、session 关闭
- LLM API 响应解析支持 content-block-array 格式
- 隐式 response_time 规则正确传递 max_ms 参数

## 前端
- api.ts: 移除手动 Content-Type(让浏览器自动添加 boundary)
- Files.tsx: customRequest 替代 beforeUpload、布局优化
- index.css: 分类树 hover 规则
- Targets/Scenarios/Home/Reports: 全高布局改造
- 3 个页面时间戳改用 formatDateTime()(修复 UTC 偏差)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-16 15:25:22 +08:00

3.4 KiB
Raw Permalink Blame History

AgentEvalTool 需求分析文档

版本: v1.0
日期: 2026-07-09
状态: 已发布
作者: AgentEval Team


一、项目背景与目标

1.1 项目目标

构建一套智能体质量评估工具集平台,用于评估 AI 数字员工(大模型 + RAG和 AI 助手OpenClaw的服务质量、效率与安全性形成"定义评估 → 执行评估 → 分析结果 → 改进优化"的闭环。

1.2 当前进展

  • 验证 tutu-api 消息通道连通性(scripts/mock_call.py
  • 确认消息发送、SSE 流式、历史记录查询接口可用
  • 确认 questionMsgId 可用于问答配对
  • 确认目标智能体可自动回复

1.3 V1 目标

在架构上保留扩展性,先跑通最小可用闭环:

评测对象管理 → 评测场景管理 → OpenClaw 驱动评测 → 基础报告

二、功能需求

2.1 评测对象管理

  • 支持注册和管理多种评测对象AI 数字员工、AI 助手)
  • 支持配置消息通道参数tutu-api 等)
  • 支持连通性测试
  • 支持对象状态管理active/inactive/error

2.2 评测场景管理

  • 支持 YAML/JSON 格式的场景定义
  • 支持单轮和多轮对话用例
  • 支持评估规则配置关键词匹配、响应时间、LLM 评分)
  • 支持场景导入/导出/校验

2.3 评测执行

  • 支持手动触发评测任务
  • 支持实时进度反馈
  • 支持对话轮次记录
  • 支持评估结果持久化

2.4 报告生成

  • 支持 JSON 格式报告
  • 支持 HTML 格式报告
  • 支持报告对比
  • 展示总分、用例明细、规则通过/失败情况、响应时间

2.5 OpenClaw 集成

  • 提供 CLI 接口供 OpenClaw 插件调用
  • 支持评测策略编排(场景选择、调度、通知)
  • OpenClaw 无需关心底层消息通道细节

2.6 Web 管理界面

  • 评测对象可视化管理
  • 评测场景在线编辑和校验
  • 评测执行状态查看
  • 报告查看和下载

三、非功能需求

3.1 可扩展性

  • 消息通道、评测智能体、评估规则均通过抽象接口定义
  • V1 只实现 tutu-api 与 OpenClaw 适配器,预留扩展点

3.2 数据可追踪

  • 每轮对话、每次评测、每条评估结果都持久化
  • 便于审计和对比分析

3.3 本地优先

  • V1 使用 SQLite 和本地文件存储
  • 降低部署成本,无需外部数据库

3.4 CLI 为核心

  • 平台能力优先暴露为 CLI 工具
  • OpenClaw 通过插件调用 CLI 自闭环完成评测策略编排

四、验证标准

  1. CLI 可以完成:对象 CRUD、场景导入、手动运行、HTML 报告生成
  2. 单次评测可以成功通过 tutu-api 发送消息并接收目标智能体回复
  3. 报告准确展示总分、用例明细、规则通过/失败情况、响应时间
  4. OpenClaw 插件 README 中的示例命令可以直接调用 CLI 完成一次评测并获取报告
  5. Web 后台可以查看对象、场景、运行记录和报告

五、风险与约束

5.1 Token 过期

tutu-api token 为 30 天有效期,需在文档中标注,并预留 token 刷新机制设计V1 手动更新 config

5.2 并发评测

V1 对同一目标建议串行执行,避免消息乱序;架构上保留并发控制设计。

5.3 LLM 评估成本

LlmScoreRule 需要配置外部 LLM APIV1 作为可选规则,默认使用关键词规则。

5.4 OpenClaw 环境依赖

插件示例假设 OpenClaw 环境已部署并可执行 shell 命令调用 agenteval CLI。