智能体质量评估工具集平台
## Webhook 通知(S3-1)
- settings.py: 增加 AGENTEVAL_WEBHOOK_URL / AGENTEVAL_WEBHOOK_SECRET
- utils/webhook.py: send_run_webhook(),非阻断,任何异常仅 warning log
- runs.py: run 完成后自动触发 webhook(payload 含 run_id/status/summary/report_url)
- .env.example: 新增 webhook 配置示例
## OpenClaw Skill HTTP 改造(S3-2)
- plugins/openclaw/agenteval_skill.py: 完全重写
- 改用 HTTP API(POST /api/runs + GET /api/runs/{id} 轮询 + GET /api/reports/{id})
- 移除 subprocess + CLI 依赖
- 轮询等待至 completed/failed,支持配置 poll_interval / timeout
- 返回结构化中文摘要(summary_text),直接可用于 OpenClaw 对话展示
## Markdown 报告导出(S3-3)
- report.py: render_markdown_report() — 完整的 Markdown 表格 + 对话展示
- save_report: 支持 fmt="markdown",输出 .md 文件
- reports.py: GET /api/reports/{run_id}/markdown,Content-Disposition 附件下载
- api.ts: reportsApi.markdownUrl()
- Reports.tsx: 「导出 MD」按钮
## 对比报告(S3-4)
- report.py: generate_compare_report(run_id_1, run_id_2)
- run_a / run_b 汇总 + delta(pass_rate / passed_cases / passed_rules)
- case-level diff,标记 changed 用例
- reports.py: GET /api/reports/compare?run1=&run2=
- api.ts: reportsApi.compare()
- Reports.tsx: 完整对比视图
- Segmented 切换「单次报告」/「对比报告」
- 双 Select(报告 A vs B)+ 对比按钮
- 汇总 delta card(pass_rate 变化 + 变化用例数徽章)
- 用例对比表(通过/失败/改善↑/退步↓)+ 展开规则明细
Co-Authored-By: Claude <noreply@anthropic.com>
|
||
|---|---|---|
| .qoder | ||
| backend | ||
| config | ||
| data/scenarios | ||
| deploy/t480 | ||
| docs | ||
| frontend/web | ||
| migrations | ||
| mockup | ||
| scripts | ||
| tests | ||
| vibe_images | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| AGENT.md | ||
| alembic.ini | ||
| CLAUDE.md | ||
| pyproject.toml | ||
| README.md | ||
AgentEvalTool
当前版本: v0.2.0 「稳」(2026-07-14) · 里程碑路线图见 docs/release-notes-v0.2.md
智能体质量评估工具集平台。
功能
- 评测对象管理(AI 数字员工 / AI 助手)
- 评测场景管理(YAML/JSON 配置)
- 异步评测执行引擎(v0.2:真并发/真取消/可配置超时)
- 评估规则(关键词匹配、响应时间、LLM 评分)
- 基础报告生成(JSON / HTML)
- OpenClaw 插件示例 + 免登录 iframe 集成
- Web 管理后台(FastAPI + React)
v0.2 亮点
- async EvalEngine +
asyncio.Task注册表,支持真取消与并发执行 - 安全基线:Pydantic Settings +
.env+ APIKey 鉴权 + CORS 收紧 - 测试基线:24 个测试,57% 覆盖率(engine 61%, runs.py 86%)
- 部署规范化:
scripts/deploy-t480.sh一键部署 + 镜像版本 tag +/api/health验证 - Alembic 迁移:容器启动自动
alembic upgrade head
快速开始
安装
pip install -e ".[dev]"
CLI 使用
# 查看帮助
agenteval --help
# 添加评测对象
agenteval target add --name "社区医院AI客服" --config config/config.json
# 导入评测场景
agenteval scenario import data/scenarios/health_basic.yaml
# 执行评测
agenteval run start --target <target-id> --scenario <scenario-id>
# 查看报告
agenteval report show <run-id> --format json
agenteval report generate <run-id> --format html
启动 Web 后台
agenteval server start --host 0.0.0.0 --port 8000
启动 Web 前端
cd frontend/web
npm install
npm run dev
文档
完整的文档集位于 docs/ 目录:
- 文档索引 - 文档导航和快速查找
- 需求分析 - 项目背景、功能需求、验证标准
- 架构设计 - 系统架构、核心抽象、项目结构
- 数据模型 - 数据库表结构、模型关系
- API 参考 - CLI 命令和 Web API 文档
- 部署文档 - 部署指南和运维说明
- 使用指南 - 快速开始和详细使用指南
- 外部参考 - tutu-api 等外部文档
项目结构
AgentEvalTool/
├── backend/ # Python 后端代码
│ ├── agenteval/ # 核心 Python 库
│ │ ├── channels/ # 消息通道适配器
│ │ ├── agents/ # 评测智能体适配器
│ │ ├── scenarios/ # 评测场景模型和加载
│ │ ├── evaluation/ # 评估引擎和规则
│ │ ├── storage/ # 数据持久化(SQLite)
│ │ └── web/ # FastAPI Web 后台
│ ├── cli/ # CLI 命令入口
│ └── plugins/ # 外部平台插件
│ └── openclaw/ # OpenClaw 插件示例
├── frontend/ # React 前端
│ └── web/ # Web 管理界面
├── config/ # 配置文件
│ └── config.json # tutu-api 配置
├── scripts/ # 工具脚本
│ └── mock_call.py # API 测试脚本
├── docs/ # 完整文档集
│ ├── requirements-v1.0.md
│ ├── architecture-v1.0.md
│ ├── data-models-v1.0.md
│ ├── api-reference/
│ ├── deployment/
│ ├── guides/
│ └── external-references/
├── deploy/ # 部署配置
│ └── t480/ # t480 服务器部署
├── data/ # 本地数据和报告
│ ├── scenarios/ # 场景 YAML 文件
│ ├── reports/ # 生成的 HTML/JSON 报告
│ └── agenteval.db # SQLite 数据库
└── tests/ # 测试
├── unit/
└── integration/
架构说明
AgentEvalTool 采用"CLI 工具集 + Web 后台"的交付方式:
- CLI 是核心能力入口,OpenClaw 可通过插件调用 CLI 完成评测自闭环。
- Web 后台提供可视化的对象、场景、执行、报告管理。
- 消息通道、评测智能体、评估规则均通过抽象接口定义,便于后续扩展。
许可证
MIT