Skill Analytics — 技能分析
v1.0.0跨所有代理会话跟踪技能使用情况。将每个技能调用记录到JSONL文件中,生成每日摘要,包括顶级技能、未使用的技能和趋势。使用时:查看技能使用统计、生成每日报告或重置日志。
运行时依赖
安装命令
点击复制技能文档
技能分析 跟踪使用的技能、使用时间和原因。将技能库转化为反馈循环。 日志格式 每个技能调用都应在 data/skill-analytics.jsonl 中追加一行: echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"SKILL_NAME","trigger":"TRIGGER_PHRASE","context":"GROUP_OR_DM"}' \ >> /opt/ocana/openclaw/workspace/data/skill-analytics.jsonl 字段: ts — ISO 8601 UTC 时间戳 skill — 技能名称(例如 meetings、supervisor) trigger — 导致选择的短语(例如 "schedule meeting"、"מה הסטטוס") context — dm、group: 或 cron 如何记录(适用于代理) 在任何技能的顶部添加以下内容(在阅读 SKILL.md 之后,在执行工作之前): mkdir -p /opt/ocana/openclaw/workspace/data echo "{\"ts\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\",\"skill\":\"SKILL_NAME\",\"trigger\":\"TRIGGER\",\"context\":\"CONTEXT\"}" \ >> /opt/ocana/openclaw/workspace/data/skill-analytics.jsonl 用实际值替换 SKILL_NAME、TRIGGER、CONTEXT。 此技能的触发器 "技能使用情况" / "技能统计" / "技能报告" "我正在使用哪些技能" / "哪些技能很受欢迎" "分析报告" / "每日技能摘要" "未使用的技能" / "哪些技能从未使用过" 生成每日报告 #!/bin/bash LOG="/opt/ocana/openclaw/workspace/data/skill-analytics.jsonl" TODAY=$(date -u +%Y-%m-%d) YESTERDAY=$(date -u -d "yesterday" +%Y-%m-%d 2>/dev/null || date -u -v-1d +%Y-%m-%d) echo "## 📊 技能使用情况报告 — $TODAY" echo "" #过去 24 小时的总调用次数 TOTAL=$(grep "$TODAY\|$YESTERDAY" "$LOG" 2>/dev/null | wc -l) echo "过去 24 小时的总调用次数: $TOTAL" echo "" # 最受欢迎的技能 echo "### 最受欢迎的技能" grep "$TODAY\|$YESTERDAY" "$LOG" 2>/dev/null \ | jq -r '.skill' \ | sort | uniq -c | sort -rn \ | head -10 \ | awk '{printf "- %s — %d 次调用\n", $2, $1}' echo "" # 所有时间最受欢迎的技能 echo "### 所有时间最受欢迎的技能" jq -r '.skill' "$LOG" 2>/dev/null \ | sort | uniq -c | sort -rn \ | head -10 \ | awk '{printf "- %s — %d 次调用\n", $2, $1}' echo "" # 未使用的技能(与已知列表比较) KNOWN_SKILLS="ai-pa billing-monitor calendar-setup eval hebrew-nikud maintenance meetings memory-tiering monday-for-agents owner-briefing pa-onboarding self-learning self-monitor skill-master skill-scout supervisor whatsapp youtube-watcher skill-analytics" echo "### 未使用的技能(所有时间)" for skill in $KNOWN_SKILLS; do COUNT=$(jq -r '.skill' "$LOG" 2>/dev/null | grep -c "^${skill}$" || echo 0) [ "$COUNT" -eq 0 ] && echo "- $skill" done echo "" # 按上下文使用情况 echo "### 按上下文使用情况" jq -r '.context' "$LOG" 2>/dev/null \ | sort | uniq -c | sort -rn \ | awk '{printf "- %s: %d\n", $2, $1}' echo "" # 最近活动(最近 5 次) echo "### 最近活动" tail -5 "$LOG" 2>/dev/null \ | jq -r '"- \(.ts | .[11:16]) — \(.skill) [\(.trigger)]"' 每日 Cron(可选) 将以下内容添加到 crontab 中,以每天早晨自动发送报告: # 技能分析报告 — 以色列时间 7:25 AM(早间简报前) 25 5 * /opt/ocana/openclaw/workspace/scripts/skill-report.sh 报告格式(输出)
📊 技能使用情况报告 — 2026-04-03
过去 24 小时的总调用次数: 14最受欢迎的技能
- supervisor — 4 次调用
- meetings — 3 次调用
- whatsapp — 2 次调用
- owner-briefing — 2 次调用
- self-monitor — 1 次调用
所有时间最受欢迎的技能
- supervisor — 28 次调用
- meetings — 19 次调用
未使用的技能(所有时间)
- hebrew-nikud
- youtube-watcher
按上下文使用情况
- dm: 8
- group:monday-internal-ai: 4
- cron: 2
最近活动
- 07:14 — owner-briefing [morning briefing]
- 07:30 — supervisor [מה הסטטוס]
- 09:02 — meetings [schedule meeting with Daniel]