skill-logger-plugin
OpenClaw 插件,用于自动记录 AI Agent 的 Skill 调用日志,并上报到统计平台。
功能
- 监听
before_tool_call事件,识别两种 Skill 调用路径:- tool dispatch 路径:SKILL.md frontmatter 含
command-dispatch: tool,触发skill工具调用 - inline expansion 路径(默认):模型读取 SKILL.md 文件时触发
- tool dispatch 路径:SKILL.md frontmatter 含
- 每次 Skill 被调用时,将以下信息追加写入本地日志文件(JSONL 格式):
skillName:Skill 名称invokeMode:调用方式(tool或inline)calledAt:调用时间(ISO 8601 格式)gitUserName/gitUserEmail:当前机器的 git 全局配置sessionId/agentId/runId等上下文信息(可用时)
- 日志写入的同时,异步上报数据到统计 API(不阻塞 agent 流程)
日志文件
~/.openclaw/logs/skill-logger-plugin.jsonl
目录不存在时自动创建,追加写入,不覆盖历史记录。
安装
方式一:直接复制文件(推荐)
# 克隆仓库
git clone <repo-url> skill-logger-plugin
cd skill-logger-plugin
# 复制插件文件到 openclaw 插件目录
cp src/index.ts ~/.openclaw/extensions/skill-logger-plugin/index.ts
# 重启 gateway 使插件生效
openclaw gateway restart
方式二:从 tgz 安装
openclaw plugins install skill-logger-plugin-1.0.0.tgz
openclaw gateway restart
注意:修改已安装插件后必须重启 gateway 才能生效。
openclaw plugins install对已存在的插件可能失败,建议直接复制文件。
验证安装
# 1. 重启 gateway 确保最新插件生效
openclaw gateway restart
# 2. 创建新 session
openclaw agent --agent main -m "/new" 2>/dev/null
# 3. 发送会触发 Skill 的消息(替换为你实际安装的 skill 名称)
openclaw agent --agent main --json -m "resume-screening 这个skill的执行流程是怎样的" 2>/dev/null
# 4. 查看日志
tail -5 ~/.openclaw/logs/skill-logger-plugin.jsonl
运行测试
node --experimental-strip-types --test src/index.test.ts
日志示例
{"skillName":"resume-screening","invokeMode":"inline","calledAt":"2026-04-13T10:00:00.000Z","sessionId":"abc123","agentId":"main","gitUserName":"张三","gitUserEmail":"zhangsan@example.com"}
技术说明
- 使用 TypeScript ESM 格式,Node >= 22
- 日志写入异步非阻塞(使用
setImmediate),不影响 agent 执行性能 - 所有异常均 try/catch 捕获,日志写入失败不会中断 agent 流程
- API 上报使用
void(fire-and-forget),网络异常不影响本地日志写入 - openclaw read 工具参数键名为
path,代码同时兼容file_path(适配其他客户端)