本技能用于追踪和记录 OpenClaw 中所有技能的使用情况,并根据调用时长和复杂度计算积分。
text
积分 = 1 × (调用时间秒 / 技能复杂度权重)
复杂度权重 由技能文件的规模决定(归一化到 [0.95, 0.9975]):
权重越高,相同时间获得的积分越少(复杂技能调用成本更高)
text
skill-scoreboard/
├── SKILL.md # 本文档
└── scripts/
└── score_tracker.py # 核心追踪脚本
bash
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py record \
--skill <技能名> \
--duration <调用时长(秒)> \
--success <true|false> \
--error <错误信息(可选)>
榜单类型命令说明今日榜today当天技能调用排名本周榜week最近7天技能调用排名本月榜month当月技能调用排名本年榜year当年技能调用排名总榜leaderboard历史累计积分排名bash
# 今日榜单
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py today
# 本周榜单
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py week
# 本月榜单
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py month
# 本年榜单
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py year
# 总榜(历史)
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py leaderboard --limit 10
bash
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py daily
bash
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py detail --skill <技能名>
bash
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py weight
bash
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py review
用户可通过 OpenClaw cron 功能设置每日定时执行:
bash
# 每日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:用户问"今天用了哪些技能"
bash
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py today
场景2:用户问"哪个技能最常用"
bash
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py leaderboard --limit 5
场景3:用户问"xia-zhua-zhua 用得怎么样"
bash
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py detail --skill xia-zhua-zhua
场景4:用户想看完整的历史统计
bash
python3 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py leaderboard --limit 20