AgentEvalTool/backend/plugins/openclaw/README.md
sinohqb 739d586aec feat(backend): v0.4 triggered_by tracking, login gate, compare guard, dashboard stats
- EvalRun.triggered_by 全链路(manual/ai_assistant/cli)+ 迁移 b7d4e6f81c22
- 标准 agenteval-run SKILL.md 纳入版本管理,deploy 脚本同步 + API Key 注入
- 简单登录:AGENTEVAL_ADMIN_PASSWORD + HMAC 会话 token,require_auth 双凭据
- 对比报告限同场景(400)+ 空 results 误判修复
- /api/stats/dashboard 扩展聚合;/api/runs 返回场景/对象名
- 测试 218 → 232
2026-07-28 17:40:54 +08:00

77 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# OpenClaw 插件 for AgentEvalTool
本目录提供 OpenClaw 调用 AgentEvalTool 的标准接入方式,使 OpenClawAI 助手)能够自闭环完成评测。
## 设计原则
- AgentEvalTool 负责:
- 评测对象管理
- 评测场景管理
- 评测执行与原始数据收集
- 评估分析与报告生成
- OpenClaw 负责:
- 评测策略编排(选择对象、场景、触发时机)
- 定时调度OpenClaw 自身的 cron + skill 机制)
- 结果通知与后续动作
## 唯一标准接入方式HTTP API
**所有 OpenClaw 触发的评测必须走 AgentEvalTool 的 HTTP API**`POST /api/runs` 等),
并在启动评测时携带 `"triggered_by": "ai_assistant"`,以便平台区分手动触发与 AI 助手触发。
> ⚠️ 禁止在 OpenClaw 中通过 subprocess 调用 `agenteval` CLI。
> CLI 直接写入其运行环境下的本地 SQLite路径硬编码与 Web 后台的数据库不共享,
> 会导致评测记录"消失"——Web 页面永远查不到。CLI 仅用于开发者在 agenteval
> 服务同一环境下的手工调试。
### 方式一agenteval-run 技能(推荐)
`skills/agenteval-run/SKILL.md` 是标准技能文件,指导 AI 助手用 `curl` 走 API 全流程
(列对象/场景 → 启动评测 → 轮询状态 → 取报告)。
部署脚本(`scripts/deploy-t480.sh`)会自动把它同步到 OpenClaw 工作区:
`data/openclaw/workspace/skills/agenteval-run/SKILL.md`
### 方式二Python Skill 封装
参考 `agenteval_skill.py`httpx 调 API在 OpenClaw 中注册技能时传入配置:
```json
{
"api_base_url": "http://agenteval:8000",
"api_key": "<可选,对应 AGENTEVAL_API_KEY>",
"target_id": "<target-id>",
"scenario_id": "<scenario-id>",
"report_format": "json"
}
```
## OpenClaw 定时评测示例
OpenClaw 的 cron 配置(具体格式以 OpenClaw 平台为准):
```yaml
skill: agenteval_skill
schedule: "0 9 * * *" # 每天早上 9 点执行
config:
api_base_url: "http://agenteval:8000"
target_id: "<target-id>"
scenario_id: "<scenario-id>"
report_format: "json"
```
## API 速查
| 操作 | 请求 |
|---|---|
| 启动评测 | `POST /api/runs` body: `{"target_id", "scenario_id", "triggered_by": "ai_assistant"}` |
| 查询状态 | `GET /api/runs/{run_id}`(轮询至 completed/failed |
| 获取报告 | `GET /api/reports/{run_id}` |
如果平台设置了 `AGENTEVAL_API_KEY`,所有请求需带 `X-API-Key` 头。
## 扩展建议
- 可以在 OpenClaw Skill 中根据报告结果触发告警、创建工单或通知相关人员。
- 可以将报告推送到企业微信、钉钉、邮件等通道。