mcpField
O
openclaw-log-report

openclaw-log-report

github.com/junlincoboエージェントワークフロー088 回インストール28 週間前に更新
リポジトリ

openclaw-log-report について

openclaw-log-reportは、OpenClaw、Claude Code、Hermesのセッションログを構造化テレメトリートレースに変換してアップロードするスキルです。Agentセッションの分析向けに、時刻、入出力、トークン使用量を保持し、期間指定やプレビュー、ディレクトリ監視にも対応します。

主な機能

  1. 013種類のAgentセッションログ形式を自動判定
  2. 02時刻とトークン使用量を含むトレース作成
  3. 03cawコマンドの分類とエラー検出
  4. 04セッション内容の期間によるアップロード絞り込み
  5. 05プレビュー、調査、セッションディレクトリ監視

活用シーン

  1. 01Agentセッションを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

詳細

エージェントセッションログレポート

エージェントのセッションログを解析 → 構造化テレメトリに変換 → TelemetryAPI に送信します。

3 つのエージェントプラットフォームに対応しています(自動検出):

プラットフォーム形式デフォルトパス
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

各スパンには以下が含まれます:

  • 元のタイムスタンプ — 実際の実行時間を反映したレイテンシ
  • 入力/出力 — ユーザーメッセージ、アシスタントの応答、ツールの結果
  • トークン使用量 — 生成ごとの入力/出力トークン数
  • 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(2 時間前)、30m(30 分前)、1d(1 日前)、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 コマンドのカテゴリ

スクリプトは、caw CLI の 106 個のサブコマンドを以下のカテゴリに分類します:

カテゴリ例
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 と表示されたら、コマンドを再実行しないでください
  • 現在のセッションをアップロードすることは可能ですが、セッションへの書き込みがまだ続いている点に注意してください — アップロードではその時点のスナップショットが取得されます
  • python ではなく python3 を使用してください — サーバーによっては 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 にのみ送信されます。

コメント