技能使用积分榜
概述
本技能用于追踪和记录 OpenClaw 中所有技能的使用情况,并根据调用时长和复杂度计算积分。
积分规则
积分 = 1 × (调用时间秒 / 技能复杂度权重)
复杂度权重由技能文件的规模决定(归一化到 [0.95, 0.9975]):
- 最小权重:0.9500
- 最大权重:0.9975
- 任意两技能权重差距 ≤5%
- 计算方式:原始分数 → 对数缩放 → min-max 归一化
权重越高,相同时间获得的积分越少(复杂技能调用成本更高)
文件结构
skill-scoreboard/
├── SKILL.md # 本文档
└── scripts/
└── score_tracker.py # 核心追踪脚本
使用方式
1. 手动记录技能调用
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py record \
--skill <技能名> \
--duration <调用时长(秒)> \
--success <true|false> \
--error <错误信息(可选)>
2. 查询全局榜单
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py leaderboard --limit 10
3. 查询今日榜单
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py today
4. 生成每日快照
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py daily
5. 查看技能详情
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py detail --skill <技能名>
6. 查看所有技能权重
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py weight
7. 每日工作流复盘报告
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py review
定时任务
用户可通过 OpenClaw cron 功能设置每日定时执行:
# 每日23:00自动执行
openclaw cron add \
--name "每日技能积分榜复盘" \
--schedule "0 23 * * *" \
--tz "Asia/Shanghai" \
-- python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py daily && \
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py review
数据存储
| 文件/目录 | 内容 |
|---|
~/.skill_scoreboard/scores.json | 所有技能的积分数据 |
~/.skill_scoreboard/logs/calls.log | 调用日志 |
~/.skill_scoreboard/logs/errors.log | 错误日志 |
~/.skill_scoreboard/daily/ | 每日快照目录 |
使用示例
场景1:用户问"今天用了哪些技能"
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py today
场景2:用户问"哪个技能最常用"
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py leaderboard --limit 5
场景3:用户问"xia-zhua-zhua 用得怎么样"
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py detail --skill xia-zhua-zhua
场景4:用户想看完整的历史统计
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py leaderboard --limit 20