EvalPal Skill
Run AI agent evaluations inline. Trigger eval runs, poll for results, and list
available evaluation definitions — all from chat.
Prerequisites
Set the following environment variables in your OpenClaw skill configuration:
| Variable | Required | Description |
|---|
| INLINECODE0 | Yes | Your EvalPal API key (starts with sk_) |
| INLINECODE2 |
No | Base URL (defaults to
https://evalpal.dev) |
Get your API key from Settings → API Keys at
evalpal.dev.
Commands
/evalpal run --eval-id <ID>
Trigger an evaluation run and wait for results.
Usage:
CODEBLOCK0
What it does:
- 1. Triggers a new eval run via the EvalPal API
- Polls for completion with exponential backoff (up to 5 minutes)
- Fetches and formats results as readable markdown
Example output:
CODEBLOCK1
Exit codes: 0 = all passed, 1 = failures or error.
/evalpal status --run-id <ID>
Check the current status of a running evaluation.
Usage:
CODEBLOCK2
Example output:
CODEBLOCK3
/evalpal list
List available evaluation definitions across your projects.
Usage:
CODEBLOCK4
If --project-id is omitted, lists evals for all projects.
Example output:
CODEBLOCK5
Error Handling
All scripts handle common error cases:
| Scenario | Output | Exit Code |
|---|
| No API key set | INLINECODE8 | 1 |
| Invalid API key |
Error: Authentication failed (401) | 1 |
| Eval not found |
Error: Eval definition not found (404) | 1 |
| Rate limited |
Error: Rate limited — retry after Xs (429) | 1 |
| Timeout (5 min) |
Error: Evaluation timed out after 300s | 1 |
| Network error |
Error: Could not reach EvalPal API | 1 |
Security
- - The API key is read from
EVALPAL_API_KEY environment variable only - Scripts never echo or log the API key
- All API calls use HTTPS
EvalPal 技能
在聊天中直接运行AI智能体评估。触发评估运行、轮询结果以及列出可用的评估定义——全部在聊天中完成。
前置条件
在您的OpenClaw技能配置中设置以下环境变量:
| 变量 | 是否必需 | 描述 |
|---|
| EVALPALAPIKEY | 是 | 您的EvalPal API密钥(以sk开头) |
| EVALPALAPI_URL |
否 | 基础URL(默认为https://evalpal.dev) |
从evalpal.dev的设置 → API密钥获取您的API密钥。
命令
/evalpal run --eval-id
触发评估运行并等待结果。
用法:
bash
bash scripts/run-eval.sh --eval-id <评估定义ID>
功能说明:
- 1. 通过EvalPal API触发新的评估运行
- 使用指数退避策略轮询完成状态(最长5分钟)
- 获取结果并将其格式化为可读的Markdown格式
示例输出:
✅ 剧集质量 — 通过 (15/16)
├── 测试用例 tc_001: ✓ 通过
├── 测试用例 tc_002: ✓ 通过
├── 测试用例 tc_003: ✗ 失败
└── 另有12个通过...
运行ID: run_abc123 · 16个测试用例 · 47秒
退出码: 0 = 全部通过,1 = 存在失败或错误。
/evalpal status --run-id
检查正在运行的评估的当前状态。
用法:
bash
bash scripts/check-status.sh --run-id <运行ID>
示例输出:
📊 运行状态:run_abc123
状态:运行中
开始时间:2026-03-26T20:00:00Z
/evalpal list
列出您项目中可用的评估定义。
用法:
bash
bash scripts/list-evals.sh [--project-id <项目ID>]
如果省略--project-id,则列出所有项目的评估定义。
示例输出:
📋 评估定义
项目:AI劳动力实验室
abc123 剧集质量检查
def456 事实准确性评估
项目:客服机器人
ghi789 回复质量
错误处理
所有脚本均处理常见错误情况:
| 场景 | 输出 | 退出码 |
|---|
| 未设置API密钥 | 错误:未设置EVALPALAPIKEY | 1 |
| API密钥无效 |
错误:身份验证失败 (401) | 1 |
| 评估未找到 | 错误:未找到评估定义 (404) | 1 |
| 请求频率受限 | 错误:请求频率受限 — 请在Xs后重试 (429) | 1 |
| 超时(5分钟) | 错误:评估在300秒后超时 | 1 |
| 网络错误 | 错误:无法连接EvalPal API | 1 |
安全性
- - API密钥仅从EVALPALAPIKEY环境变量读取
- 脚本从不回显或记录API密钥
- 所有API调用均使用HTTPS