mcpField
O
openclaw-log-report

openclaw-log-report

github.com/junlincoboAgent 工作流088 次安装28 周前更新
代码仓库

关于 openclaw-log-report

openclaw-log-report 是将 OpenClaw、Claude Code 和 Hermes 会话日志转换为结构化遥测追踪并上传的技能,面向需要分析 Agent 会话运行情况的团队。它保留时间、输入输出和令牌用量,并支持按时间范围筛选、预览和持续监控。

主要功能

  1. 01自动识别三种 Agent 会话日志格式
  2. 02生成包含时间与令牌用量的追踪
  3. 03分类 caw 命令并检测错误
  4. 04按会话内容时间范围筛选上传
  5. 05支持预览、调试与目录监控

适用场景

  1. 01将 Agent 会话上传到 TelemetryAPI
  2. 02仅上传指定时间范围内的会话轮次
  3. 03上传前检查追踪结构与延迟
  4. 04监控会话目录并自动上传新日志

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/junlincobo/openclaw-log-report --skill openclaw-log-report

安装后在 Claude Code 中输入/openclaw-log-report确认已加载。

附带文件scripts/otel_report.py

详细介绍

Agent 会话日志报告

解析 Agent 会话日志 → 结构化遥测数据 → TelemetryAPI。

支持三个 Agent 平台(自动检测):

平台格式默认路径
OpenClawJSONL~/.openclaw/agents/main/sessions/*.jsonl
Claude CodeJSONL~/.claude/projects/*/*.jsonl
HermesJSON~/.hermes/sessions/session_*.json

功能

读取会话日志文件,并将其作为结构化跟踪上传:

Trace
└── session:<id>                    ← root span (full session)
    ├── turn:0                      ← user message + agent response
    │   ├── OpenAI-generation       ← LLM call (model, tokens, latency)
    │   ├── skill_install:exec      ← tool call
    │   ├── OpenAI-generation
    │   ├── caw.onboard             ← caw CLI command
    │   └── OpenAI-generation
    ├── turn:1
    │   ├── OpenAI-generation
    │   ├── caw.wallet.balance
    │   └── ...
    └── turn:N

每个跨度都包含:

  • 原始时间戳 — 延迟反映实际执行时间
  • 输入/输出 — 用户消息、助手回复、工具结果
  • Token 用量 — 每次生成的输入/输出 Token 数量
  • caw 命令分类 — 涵盖 15 个类别的 106 条命令
  • 错误检测 — 失败的命令、策略拒绝、进程轮询错误

前置条件

  1. 已安装并完成引导配置的 caw — 脚本从 ~/.cobo-agentic-wallet/ 读取 API 密钥
  2. 后端遥测端点可用 — POST /api/v1/telemetry/session
  3. 会话文件 — 会话目录中的 .jsonl(OpenClaw/Claude Code)或 .json(Hermes)文件

用法

上传会话
# OpenClaw / Claude Code (.jsonl)
python scripts/otel_report.py <session.jsonl>

# Hermes (.json)
python scripts/otel_report.py <session_YYYYMMDD_HHMMSS_xxxx.json>

脚本会自动从 caw 配置中检测 API URL 和密钥。可使用环境变量覆盖:

AGENT_WALLET_API_URL=https://api-core.agenticwallet.sandbox.cobo.com \
python scripts/otel_report.py session.jsonl
上传多个会话
# Multiple files
python scripts/otel_report.py a.jsonl b.jsonl c.jsonl

# Glob pattern
python scripts/otel_report.py ~/.openclaw/agents/main/sessions/*.jsonl
按时间范围上传

按会话内容时间筛选(而非文件修改时间)。会同时应用会话选择和轮次级筛选 — 仅上传时间范围内的轮次。

# Last 2 hours — only uploads turns from the last 2h
python scripts/otel_report.py --since 2h

# Last 1 day
python scripts/otel_report.py --since 1d

# Specific time range (UTC+8)
python scripts/otel_report.py --since 2026-04-05T10:00 --until 2026-04-05T18:00

# A full day
python scripts/otel_report.py --since 2026-04-05 --until 2026-04-06

# Filter a specific file — only turns in range are included
python scripts/otel_report.py --since 8h ~/Downloads/session.jsonl

# Custom sessions directory + time range
python scripts/otel_report.py --since 2h /path/to/sessions/

支持的时间格式:2h(小时前)、30m(分钟前)、1d(天前)、2026-04-05、2026-04-05T10:00

试运行(预览但不上传)
python scripts/otel_report.py --dry-run session.jsonl

显示带时间戳和延迟的跨度树结构。

转储 JSON(调试)
python scripts/otel_report.py --dump session.jsonl

打印第一个轮次的完整 JSON 负载,以供检查。

监视模式(持续运行)
python scripts/otel_report.py --watch [sessions_dir]

监视目录中的新会话文件并自动上传。

上传最新会话
python scripts/otel_report.py

不带参数时,会从默认路径(~/.openclaw/.../sessions/ 和 ~/.hermes/sessions/)上传最新的会话文件。

环境变量

变量默认值描述
AGENT_WALLET_API_URLhttps://api-core.agenticwallet.sandbox.cobo.com后端 API URL
USER_ID根据会话消息自动检测遥测数据的用户标识符

环境:

环境URL
Sandboxhttps://api-core.agenticwallet.sandbox.cobo.com(默认)
Devhttps://api-core.agenticwallet.dev.cobo.com
# Upload to dev environment
AGENT_WALLET_API_URL=https://api-core.agenticwallet.dev.cobo.com \
python scripts/otel_report.py session.jsonl

caw 命令类别

脚本将 106 条 caw CLI 子命令分类到以下类别:

类别示例
onboardingonboard、onboard bootstrap、onboard self-test
transactiontx transfer、tx call、tx sign-message、tx speedup
querywallet balance、tx list、tx records、address list、status
authpending approve/reject、pact submit/status、policy create
walletwallet use/rename/archive/claim、address create
agentagent status、agent api-key
ap2ap2 purchase/cancel/search、ap2 shipping
nodenode start/stop/status/health
metameta chains/tokens/prices、version、health、schema
utilutil abi encode/decode、util base64、fetch
devfaucet deposit/tokens、demo
auditaudit logs
monitortrack

跟踪维度

维度值来源
跟踪名称script_{user}@{hostname}_{MMDDHHmm}用户 + 主机名 + 时间戳(UTC+8)
会话 ID会话 UUID 或 Hermes 会话 ID会话文件
用户 IDTelegram sender_id 或 "unknown"第一条用户消息
标签[skill_name, "openclaw", provider, "upload:YYYYMMDD"]会话元数据 + 上传日期

约束

  • 不要修改此脚本——将其视为只读工具
  • 不要修改已上传的追踪记录
  • 成功后不要重试——如果上传显示 Status: OK,请勿重新运行命令
  • 允许上传当前会话,但请注意,会话仍在写入——上传会捕获当时的快照
  • 使用 python3,不要使用 python——有些服务器上只有 python3
  • 会话文件为只读;切勿写入 ~/.openclaw/ 或 ~/.hermes/

安全说明

安装时 npx skills 可能会显示 Socket / Snyk 安全警告;这些是脚本正常运行所需的:

告警原因
网络请求脚本通过 urllib.request 向 TelemetryAPI 发送 POST 请求
文件读取读取 ~/.openclaw/、~/.hermes/、~/.claude/ 下的会话日志文件
凭证访问从 ~/.cobo-agentic-wallet/ 读取 caw API key 用于身份验证
主机信息通过 socket.gethostname() 获取机器名并写入 metadata

脚本不包含任何恶意代码;所有网络请求仅发送至配置的 AGENT_WALLET_API_URL。

评论

支持 Markdown