token-reporter
OpenClawインスタンスのトークン消費量と各エージェントの作業内容を日次で集計し、その結果を専門知識がなくても理解しやすい形で飛書(Feishu)の多次元テーブルに自動的に報告するSkill。
📜 元の英語説明(参考)
每日自动统计 OpenClaw 实例 Token 消耗和工作产出,上报到飞书多维表格。扫描 JSONL 日志按模型聚合 token,收集各 agent 当日工作摘要,写入飞书 Bitable。触发:'token报告'、'token report'、'日报'、'每日汇报'、'飞书上报'。
🇯🇵 日本人クリエイター向け解説
OpenClawインスタンスのトークン消費量と各エージェントの作業内容を日次で集計し、その結果を専門知識がなくても理解しやすい形で飛書(Feishu)の多次元テーブルに自動的に報告するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o token-reporter.zip https://jpskill.com/download/15605.zip && unzip -o token-reporter.zip && rm token-reporter.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15605.zip -OutFile "$d\token-reporter.zip"; Expand-Archive "$d\token-reporter.zip" -DestinationPath $d -Force; ri "$d\token-reporter.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
token-reporter.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
token-reporterフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 3
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Token Reporter — 毎日の Token 消耗 + 産出上報
機能概要
毎日、本機の OpenClaw インスタンスの Token 消耗と Agent の作業産出を自動的に統計し、フォーマット化して飛書多次元テーブルに書き込みます。
インスタンス対応関係
| インスタンス | CEO Agent | 上報者 |
|---|---|---|
| aa (本机) | 小a (main) | Daniel |
| Peter Mini | 小兔 (xiaotu) | Peter |
| 小m | 小m bot | 小m |
実行フロー
Step 1: JSONL ログのスキャン
~/.openclaw/agents/*/sessions/*.jsonl 中の当日の増分データをスキャンします。
各 assistant メッセージは usage オブジェクトを保持します。
{
"usage": {
"input": 27813,
"output": 246,
"cacheRead": 6720,
"cacheWrite": 0,
"totalTokens": 34779,
"cost": {
"input": 0, "output": 0,
"cacheRead": 0, "cacheWrite": 0,
"total": 0
}
}
}
Step 2: Agent + Model で集計
重点的に追跡する 4 つのモデル(その他のモデルは「その他」に分類):
| モデル | マッチングルール |
|---|---|
| opus4.6 | claude-opus-4-6 (xingsuancode, xingjiabiapi) |
| glm-5 | zai/glm-5 |
| minimax-M2.5 | minimax/MiniMax-M2.5 |
| gemini-3-pro | gemini-3-pro (xingjiabiapi) |
Step 3: Token 明細のフォーマット化
opus4.6: input 320K / output 18K / cache 82% / $4.2
glm-5: input 1.2M / output 85K / cache 78% / $0.3
minimax-M2.5: input 200K / output 12K / cache 0% / $0.1
gemini: — (当日未使用)
cache% = cacheRead / (input + cacheRead + cacheWrite) × 100
Step 4: 産出の収集
各 agent の当日の作業概要をまとめます。形式:
code: KGKB工厂30/30完成, 5平台发布脚本 | content: 小红书×2, 选题推荐 | ops: cron改造, 服务器巡检
産出の収集方法:
- 当日の memory ファイル
~/clawd/memory/$(date +%Y-%m-%d).mdを読み込む ## Agent名セクションまたはキーワードマッチングを解析する- memory ファイルがない場合は、JSONL の最後の user/assistant メッセージの概要から推測する
Step 5: 飛書多次元テーブルへの書き込み
lark-mcp ツールを使用して Bitable に書き込みます。
| フィールド | タイプ | 記入者 | 説明 |
|---|---|---|---|
| 従業員名称 | テキスト | config | config.json に固定で記述 person |
| Token明細 | テキスト | スクリプト統計 | 4 モデルのフォーマット化されたテキスト |
| 産出 | テキスト | スクリプト統計 | 各 agent の当日の作業概要 |
| 個人まとめ | テキスト | 人が記入 | 従業員が手動で記入(空欄) |
| 評価 | 選択式 | 上層部が選択 | 優秀/良好/不合格(空欄) |
| 時間 | 日付 | スクリプトが自動 | 当日の日付 |
飛書 API
- 参考 skill:
~/clawd/skills/feishu-automation/SKILL.md - ツールプレフィックス:
mcp__lark-mcp_* - レコードの新規作成:
mcp__lark-mcp_createRecord - レコードの検索:
mcp__lark-mcp_listRecords
スクリプトの使い方
# 当日の Token を統計(データを見るだけで、上報しない)
python scripts/report.py --scan-only
# 統計 + 飛書への上報
python scripts/report.py --report
# 日付の指定
python scripts/report.py --date 2026-03-17 --scan-only
# 指定のコンフィグを使用
python scripts/report.py --config /path/to/config.json --report
Cron 設定の推奨
{
"name": "📊 毎日 Token 報告 + 飛書上報",
"schedule": { "kind": "cron", "expr": "0 23 * * *", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "毎日の Token 報告タスクを実行:\n1. python3 ~/clawd/skills/token-reporter/scripts/report.py --scan-only を実行\n2. 出力を確認し、データが妥当であることを確認\n3. python3 ~/clawd/skills/token-reporter/scripts/report.py --report を実行\n4. 飛書への書き込みが成功したことを確認後、message(action=send, channel=telegram, target=-1003890797239) で簡単に報告\n5. 失敗した場合は、エラーの原因を報告"
}
}
設定
インストール時に config.example.json → config.json をコピーして記入:
{
"person": "Daniel",
"instance": "aa",
"lark_app_id": "cli_a83467f9ecba5013",
"bitable_app_token": "your_bitable_token",
"bitable_table_id": "your_table_id"
}
ファイル構造
token-reporter/
├── SKILL.md
├── config.example.json # 設定テンプレート(インストール時に config.json にコピー)
├── scripts/
│ └── report.py # コア統計スクリプト
└── references/
└── jsonl-structure.md # JSONL データ構造の参考
エラー処理
| エラー | 処理 |
|---|---|
| JSONL ファイルの破損 | その行をスキップし、警告を記録 |
| 当日のデータなし | 「当日のデータなし」と報告 |
| 飛書 API の失敗 | 3 回リトライし、失敗後ローカルに結果をキャッシュ |
| config.json が存在しない | config.example.json をコピーするように促す |
| Memory ファイルが存在しない | 産出を「記録なし」とマーク |
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Token Reporter — 每日 Token 消耗 + 产出上报
功能概述
每天自动统计本机 OpenClaw 实例的 Token 消耗和 Agent 工作产出,格式化后写入飞书多维表格。
实例对应关系
| 实例 | CEO Agent | 上报人 |
|---|---|---|
| aa (本机) | 小a (main) | Daniel |
| Peter Mini | 小兔 (xiaotu) | Peter |
| 小m | 小m bot | 小m |
执行流程
Step 1: 扫描 JSONL 日志
扫描 ~/.openclaw/agents/*/sessions/*.jsonl 中当日增量数据。
每条 assistant 消息携带 usage 对象:
{
"usage": {
"input": 27813,
"output": 246,
"cacheRead": 6720,
"cacheWrite": 0,
"totalTokens": 34779,
"cost": {
"input": 0, "output": 0,
"cacheRead": 0, "cacheWrite": 0,
"total": 0
}
}
}
Step 2: 按 Agent + Model 聚合
重点追踪 4 个模型(其他模型归入"其他"):
| 模型 | 匹配规则 |
|---|---|
| opus4.6 | claude-opus-4-6 (xingsuancode, xingjiabiapi) |
| glm-5 | zai/glm-5 |
| minimax-M2.5 | minimax/MiniMax-M2.5 |
| gemini-3-pro | gemini-3-pro (xingjiabiapi) |
Step 3: 格式化 Token 明细
opus4.6: input 320K / output 18K / cache 82% / $4.2
glm-5: input 1.2M / output 85K / cache 78% / $0.3
minimax-M2.5: input 200K / output 12K / cache 0% / $0.1
gemini: — (当日未使用)
cache% = cacheRead / (input + cacheRead + cacheWrite) × 100
Step 4: 收集产出
汇总各 agent 当日工作摘要,格式:
code: KGKB工厂30/30完成, 5平台发布脚本 | content: 小红书×2, 选题推荐 | ops: cron改造, 服务器巡检
产出收集方式:
- 读取当日 memory 文件
~/clawd/memory/$(date +%Y-%m-%d).md - 解析
## Agent名段落或关键词匹配 - 如无 memory 文件,从 JSONL 最后一条 user/assistant 消息摘要推断
Step 5: 写入飞书多维表格
使用 lark-mcp 工具写入 Bitable:
| 字段 | 类型 | 填写者 | 说明 |
|---|---|---|---|
| 员工名称 | 文本 | config | config.json 写死 person |
| Token明细 | 文本 | 脚本统计 | 4模型格式化文本 |
| 产出 | 文本 | 脚本统计 | 各agent当日工作摘要 |
| 个人总结 | 文本 | 人填 | 员工手动填写(留空) |
| 评分 | 单选 | 高层选 | 优秀/良好/不及格(留空) |
| 时间 | 日期 | 脚本自动 | 当天日期 |
飞书 API
- 参考 skill:
~/clawd/skills/feishu-automation/SKILL.md - 工具前缀:
mcp__lark-mcp_* - 新增记录:
mcp__lark-mcp_createRecord - 查询记录:
mcp__lark-mcp_listRecords
脚本用法
# 统计当日 Token(只看数据,不上报)
python scripts/report.py --scan-only
# 统计 + 上报飞书
python scripts/report.py --report
# 指定日期
python scripts/report.py --date 2026-03-17 --scan-only
# 使用指定配置
python scripts/report.py --config /path/to/config.json --report
Cron 配置建议
{
"name": "📊 每日 Token 报告 + 飞书上报",
"schedule": { "kind": "cron", "expr": "0 23 * * *", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "执行每日 Token 报告任务:\n1. 运行 python3 ~/clawd/skills/token-reporter/scripts/report.py --scan-only\n2. 查看输出,确认数据合理\n3. 运行 python3 ~/clawd/skills/token-reporter/scripts/report.py --report\n4. 确认飞书写入成功后,用 message(action=send, channel=telegram, target=-1003890797239) 简要汇报\n5. 如果失败,报告错误原因"
}
}
配置
安装时复制 config.example.json → config.json 并填写:
{
"person": "Daniel",
"instance": "aa",
"lark_app_id": "cli_a83467f9ecba5013",
"bitable_app_token": "your_bitable_token",
"bitable_table_id": "your_table_id"
}
文件结构
token-reporter/
├── SKILL.md
├── config.example.json # 配置模板(安装时复制为 config.json)
├── scripts/
│ └── report.py # 核心统计脚本
└── references/
└── jsonl-structure.md # JSONL 数据结构参考
错误处理
| 错误 | 处理 |
|---|---|
| JSONL 文件损坏 | 跳过该行,记录警告 |
| 无当日数据 | 报告"当日无数据" |
| 飞书 API 失败 | 重试3次,失败后本地缓存结果 |
| config.json 不存在 | 提示复制 config.example.json |
| Memory 文件不存在 | 产出标记为"无记录" |
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (4,769 bytes)
- 📎 references/jsonl-structure.md (1,259 bytes)
- 📎 scripts/report.py (17,460 bytes)