📦 Eval — 一键体检

v1.1.1

让 PA 智能体对自身做全面体检:任务、技能、网络健康、账单、日历连接与记忆质量一键打分,快速发现隐患。

0· 100·1 当前·1 累计
by @netanel-abergel (Netanel Abergel)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/4
0
安全扫描
VirusTotal
Pending
查看报告
OpenClaw
可疑
high confidence
该技能指令读取大量本地文件与密钥(API 密钥、令牌文件、账单与工作区文件),但元数据未声明任何所需凭证或配置路径,这种不匹配存在暴露敏感数据的风险,除非在严格控制的环境中运行。
评估建议
此技能将读取众多本地文件与令牌(billing-status.json、工作区文件、.context、$HOME/.credentials/monday-api-token.txt 及 Anthropic API 密钥等环境变量),但包元数据未声明这些需求——这是危险信号。安装或启用前:1) 要求发布者明确列出所需 env 变量与配置路径并说明理由;2) 检查 .context 及引用凭证文件,移除或轮换不想暴露的密钥;3) 先在沙箱/测试账户或只读容器内用假令牌运行;4) 若必须在生产环境使用,限制技能访问最小必要文件与令牌并考虑轮换测试用令牌。若发布者提供清晰文档与理由,可重新评估;当前未声明凭证/路径使技能可疑。...
详细分析 ▾
用途与能力
技能声明用途是评估智能体的任务、集成、账单、日历与记忆——该目的确实需要检查本地状态与集成令牌。然而元数据未声明所需环境变量、凭证或配置路径,而指令引用了众多本地文件与令牌(如 /opt/ocana/... 文件、$HOME/.credentials/monday-api-token.txt、ANTHROPIC_API_KEY)。元数据中遗漏这些输入与用途不符且具有误导性。
指令范围
SKILL.md 明确指示智能体加载本地 .context 文件并读取大量文件、执行 shell/python/curl/git 命令访问 /opt/ocana/openclaw/workspace/* 与 $HOME/.openclaw/workspace/* 等路径,并读取令牌文件与环境变量测试 API。这些操作超越简单清单,访问潜在敏感凭证与所有者数据(电话、令牌、账单 JSON)。指令授予广泛权限读取系统状态与密钥且未记录限制。
安装机制
无安装规范与代码文件——技能仅为指令。降低从不受信源获取或执行任意代码的风险。
凭证需求
尽管元数据未列出所需 env 变量或配置路径,运行时步骤依赖 env 变量与文件(如 ANTHROPIC_API_KEY、$HOME/.credentials/monday-api-token.txt、各种工作区文件及 .context 中的 GOG_CREDS 或 MONDAY_TOKEN_FILE)。未声明却请求访问多个本地凭证源与用途不符,增加密钥暴露可能。
持久化与权限
技能非常驻,由用户调用(默认)。未请求永久包含或声明修改其他技能或系统级设置。平台默认允许自主调用,通常增加影响范围,但此技能未请求额外持久权限。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.1.12026/4/1

**行为检查与上下文加载改进的小更新。** - 新增显式“加载本地上下文”步骤以引入环境变量。 - 引入“评估前行为检查”部分,包括触发评估及完成时的自动反应。 - 明确 PA 目录文件使用及必须使用直接日历 API。 - 移除非英语触发短语以保持清晰一致。 - 主要评估逻辑或评分结构未变。

Pending

安装命令

点击复制
官方npx clawhub@latest install eval
镜像加速npx clawhub@latest install eval --registry https://cn.longxiaskill.com

技能文档

加载本地上下文

CONTEXT_FILE="/opt/ocana/openclaw/workspace/skills/eval/.context"
[ -f "$CONTEXT_FILE" ] && source "$CONTEXT_FILE"
# 然后使用:$OWNER_PHONE, $WORKSPACE, $TASKS_FILE, $MONDAY_TOKEN_FILE, $GOG_CREDS, 等等

# Eval 技能 对 agent 所管理的一切进行结构化评估。


何时使用

触发短语:
  • “run eval”
  • “what's working and what isn't”
  • “rate yourself”
  • “check everything”

预评估行为检查(必须执行)

  • 当 owner 触发 eval 时,回复 👍
  • 当报告完成时,回复 ✅
  • PA 目录源:/opt/ocana/openclaw/workspace/PA_LIST.md
  • 日历检查:使用直接 API(不要使用 gog CLI)

评估报告格式

📋 完整评估 — [日期]
━━━ 自身表现 ━━━
执行: [1-5] [评语]
准确性: [1-5] [评语]
记忆: [1-5] [评语]
主动性: [1-5] [评语]
沟通: [1-5] [评语]
总分: [X]/25

━━━ 活跃任务 ━━━ ✅ 今日完成: [数量] 🟡 进行中: [数量] ❌ 停滞: [数量] — [列出停滞任务]

━━━ PA 网络 ━━━ ✅ 正常: [列表] ⚠️ 问题: [列表及问题] ❌ 离线: [列表]

━━━ 技能 ━━━ 已安装: [数量] 今日使用: [列表] 未使用(7 天以上): [列表]

━━━ 集成 ━━━ 日历(owner): [已连接 ✅ / 故障 ❌ / 未知 ?] monday.com: [已连接 ✅ / 故障 ❌] 邮件(gog): [已连接 ✅ / 故障 ❌] GitHub 备份: [上次推送:X 前] WhatsApp: [已连接 ✅ / 断开 ❌]

━━━ 记忆健康 ━━━ 每日笔记: [今日文件存在? ✅/❌] 长期记忆: [MEMORY.md 大小 — OK / 膨胀] 学习记录: [本周数量] 上次备份: [X 前]

━━━ 建议 ━━━

  • [最需要修复的事项]
  • [第二优先级]
  • [可选改进]

运行评估

步骤 1 — 自身表现评分

根据今日活动,为每个维度打分 1–5:
执行(1–5):
  • 5:所有任务无需提醒即完成
  • 3:大部分任务完成,需少量跟进
  • 1:多次遗漏或遗忘任务

准确性(1–5):

  • 5:owner 无需纠正
  • 3:1–2 次纠正
  • 1:多次错误或输出错误

记忆(1–5):

  • 5:每次都能正确回忆上下文
  • 3:偶尔遗漏上下文,后续补回
  • 1:重复同样错误

主动性(1–5):

  • 5:多次在被问之前主动行动
  • 3:响应请求,主动性最低
  • 1:仅被动反应,无主动行为

沟通(1–5):

  • 5:清晰简洁,无多余叙述
  • 3:偶尔冗长或不清晰
  • 1:分享推理、列选项、逐步叙述

步骤 2 — 任务审计

TASKS_FILE="$HOME/.openclaw/workspace/memory/tasks.md"
echo "已完成任务:"
grep -c "\[x\]" "$TASKS_FILE" 2>/dev/null || echo 0
echo "进行中任务:"
grep -c "\[ \]" "$TASKS_FILE" 2>/dev/null || echo 0
# 停滞 = 进行中 2 天以上
echo "停滞任务(2 天以上):"
grep "\[ \]" "$TASKS_FILE" | grep -v "$(date +%Y-%m-%d)" | grep -v "$(date -u -d '1 day ago' +%Y-%m-%d 2>/dev/null)" || echo "none"

步骤 3 — PA 网络健康

BILLING_FILE="$HOME/.openclaw/workspace/memory/billing-status.json"
echo "PA 网络状态:"
python3 << 'PYEOF'
import json
data = json.load(open('/opt/ocana/openclaw/workspace/memory/billing-status.json'))
for pa in data['issues']:
    status = "✅" if pa['status'] == 'resolved' else "⚠️"
    print(f" {status} {pa['pa']} ({pa['owner']}): {pa['status']}")
PYEOF

步骤 4 — 技能审计

SKILLS_DIR="$HOME/.openclaw/workspace/skills"
echo "已安装技能:"
ls "$SKILLS_DIR" | grep -v README | wc -l
echo "技能列表:"
ls "$SKILLS_DIR" | grep -v README

步骤 5 — 集成健康

# 测试 Anthropic billing
API_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
  -H "x-api-key: ${ANTHROPIC_API_KEY:-none}" \
  -H "anthropic-version: 2023-06-01" \
  https://api.anthropic.com/v1/models 2>/dev/null)
# 解释结果
if [ "$API_STATUS" = "200" ]; then
  echo "Billing: ✅ OK"
elif [ "$API_STATUS" = "402" ]; then
  echo "Billing: ❌ OUT OF CREDITS"
elif [ "$API_STATUS" = "401" ]; then
  echo "Billing: ❌ Invalid key"
else
  echo "Billing: ? HTTP $API_STATUS"
fi

# 测试 GitHub 备份 LAST_PUSH=$(git -C "$HOME/.openclaw/workspace" log -1 --format="%ar" 2>/dev/null) echo "Last backup: $LAST_PUSH"

# 测试 monday.com if [ -f "$HOME/.credentials/monday-api-token.txt" ]; then MONDAY_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \ -X POST https://api.monday.com/v2 \ -H "Authorization: $(cat $HOME/.credentials/monday-api-token.txt)" \ -H "Content-Type: application/json" \ -d '{"query": "{ me { id } }"}' 2>/dev/null) [ "$MONDAY_STATUS" = "200" ] && echo "monday.com: ✅" || echo "monday.com: ❌ ($MONDAY_STATUS)" else echo "monday.com: ? (no token found)" fi

步骤 6 — 记忆健康

TODAY=$(date -u +%Y-%m-%d)
WORKSPACE="$HOME/.openclaw/workspace"

# 检查每日笔记是否存在 [ -f "$WORKSPACE/memory/$TODAY.md" ] \ && echo "Daily notes: ✅" \ || echo "Daily notes: ❌ not created yet"

# 检查 MEMORY.md 大小(>200 行警告) MEMORY_LINES=$(wc -l < "$WORKSPACE/MEMORY.md" 2>/dev/null || echo 0) if [ "$MEMORY_LINES" -gt 200 ]; then echo "MEMORY.md: ⚠️ Large ($MEMORY_LINES lines) — consider pruning" else echo "MEMORY.md: ✅ ($MEMORY_LINES lines)" fi

# 统计本周学习记录 LEARNINGS=$(grep -c "^##" "$WORKSPACE/.learnings/LEARNINGS.md" 2>/dev/null || echo 0) echo "Total learnings logged: $LEARNINGS"


建议逻辑

运行完所有步骤后,生成建议:
若有任何 PA 存在 billing_error 且 status != resolved:
→ “修复 [PA 列表] 的计费 — 它们无法运行”

若有任何任务状态为 in_progress 且持续 2 天以上: → “跟进停滞任务:[任务名]”

若 MEMORY.md > 200 行: → “修剪 MEMORY.md — 它正在膨胀”

若每日笔记不存在: → “创建今日记忆文件”

若上次备份 > 6 小时: → “运行 git 备份”

若 API billing = 402: → “我自己的 API 密钥已用完额度 — 立即通知管理员”


调度

运行 eval:
  • 按需 — 当 owner 询问时
  • 每周 — 每周日 09:00
  • 重大事件后 — 计费危机、WA 断开等

成本提示

  • 便宜:读取文件、打分、格式化 — 任意小模型
  • 昂贵:总结大记忆文件 — 若未要求则跳过
  • 避免:每小时运行全部 API 健康检查 — 缓存 30 分钟
  • 批量:一次性运行所有健康检查,而非逐个

最低模型要求

任何能:
  • 读取文件
  • 应用 if/then 打分规则
  • 格式化结构化报告
无需高级推理。


PA 表现评分(合并自 pa-eval 技能)

当评估单个 PA agent 时使用(每周自评或 owner 反馈时按需)。

评分维度(每项 1–5,满分 40)

维度衡量内容
执行无需提醒完成任务
准确性结果正确且完整
速度响应时间快
主动性无需提示即行动
沟通简洁且符合语境
记忆跨会话记住上下文
工具使用正确高效使用工具
判断力知道何时行动何时询问
等级: A(36–40),B(28–35),C(20–27),D(<20)

Owner 反馈信号

自动检测并记录:
信号动作
👍 反应 / “thanks” / “great”记录 +1 正向
👎 反应 / “wrong” / “not good”记录 -1,记录纠正
Owner 重复问同一问题记录 -1 记忆缺口
Owner 自己完成任务记录 -1 主动性缺口
Owner 对主动行为惊喜记录 +2 主动性
规则: 立即记录反馈信号 — 不要批量。

每周评估文件

保存至 .learnings/eval/YYYY-MM-DD.md,包含:分数表、owner 反馈、完成/失败任务、表现良好项、待改进项、下周行动。

基准测试(每月运行)

  • 任务完成率: completed / assigned × 100% — 目标:>90%
  • 准确率: (tasks - corrections) / tasks × 100% — 目标:>95%
  • 记忆保持: 询问 7 天前讨论内容 — 目标:>80% 回忆率
数据来源ClawHub ↗ · 中文优化:龙虾技能库