# OpenClaw 插件 for AgentEvalTool 本目录提供 OpenClaw 调用 AgentEvalTool 的示例技能,使 OpenClaw 能够自闭环完成评测策略设计。 ## 设计原则 - AgentEvalTool 作为独立的 CLI 工具集存在,负责: - 评测对象管理 - 评测场景管理 - 评测执行与原始数据收集 - 评估分析与报告生成 - OpenClaw 通过本插件调用 `agenteval` CLI,负责: - 评测策略编排(选择对象、场景、触发时机) - 定时调度(OpenClaw 自身的 cron + skill 机制) - 结果通知与后续动作 ## 前置条件 1. 已安装 AgentEvalTool CLI: ```bash pip install -e /path/to/AgentEvalTool ``` 2. `agenteval` 命令已在 PATH 中可用。 3. 已通过 `agenteval target add` 注册评测对象。 4. 已通过 `agenteval scenario import` 导入评测场景。 ## 接入方式 ### 方式一:直接调用 CLI(推荐) 在 OpenClaw Skill 中直接调用系统命令: ```python import subprocess # 触发评测 subprocess.run([ "agenteval", "run", "start", "--target-id", "", "--scenario-id", "", ], check=True) # 获取报告(需要在运行输出中解析 run_id) report = subprocess.check_output([ "agenteval", "report", "show", "", "--format", "json", ]) ``` ### 方式二:使用本目录封装的 Skill 参考 `agenteval_skill.py`,在 OpenClaw 中注册技能时传入配置: ```json { "target_id": "", "scenario_id": "", "report_format": "json" } ``` ## OpenClaw 定时评测示例 OpenClaw 的 cron 配置(具体格式以 OpenClaw 平台为准): ```yaml skill: agenteval_skill schedule: "0 9 * * *" # 每天早上 9 点执行 config: target_id: "" scenario_id: "" report_format: "json" ``` ## CLI 返回的 run_id 解析 `agenteval run start` 成功后会输出: ```text 评测完成: run_id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, status=completed ``` OpenClaw Skill 需要从 stdout 中提取 `run_id`,然后调用 `agenteval report show ` 获取报告。 ## 扩展建议 - 可以在 OpenClaw Skill 中根据报告结果触发告警、创建工单或通知相关人员。 - 可以将报告推送到企业微信、钉钉、邮件等通道。