OpenClaw 对 skill 使用次数 的统计,核心逻辑可以简单概括为:

  1. 不是靠模型自述统计

    • 模型说“我要使用某个 skill”本身不一定会计数。
    • OpenClaw 统计的是运行时可识别到的实际 skill 使用行为。
  2. 主要识别两类使用行为

    • Agent 通过 read 工具读取了某个 skill 的 SKILL.md
    • 用户/系统通过 skill 暴露的 command 调用了该 skill。
  3. 识别到后会发出内部事件

    • OpenClaw 会生成一个内部诊断事件:
      skill.used
      
    • 事件里会带上 skill 名称、来源、触发方式、agent id、run id、tool call id 等信息。
  4. 由 Skill Curator 负责记录

    • Skill Curator 监听 skill.used 事件。
    • 只处理可信的内部事件。
    • 然后把统计结果写入本地 SQLite 数据库。
  5. 统计数据保存在 skill_usage

    • 一般路径是:
      ~/.openclaw/state/openclaw.sqlite
      
    • 表名:
      skill_usage
      
  6. 计数方式

    • skill_file,也就是具体的 SKILL.md 文件路径作为主键。
    • 第一次使用时插入记录,use_count = 1
    • 后续再次使用同一个 skill 文件时:
      use_count = use_count + 1
      
    • 同时更新:
      • 首次使用时间 first_used_at_ms
      • 最近使用时间 last_used_at_ms
      • 最近使用的 agent last_agent_id

一句话总结:

OpenClaw 是通过运行时检测 Agent 是否读取了某个 skill 的 SKILL.md,或是否执行了 skill command,触发 skill.used 内部事件,再由 Skill Curator 将次数累加到本地 SQLite 的 skill_usage 表中。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐