SkillHub

clawmeter

v1.0.0

实时监控 OpenClaw API 用量与费用,支持自定义预算警报,按模型和会话展示详细费用明细。

Sourced from ClawHub, Authored by Someone0070

Installation

Please help me install the skill `clawmeter` from SkillHub official store. npx skills add Someone0070/clawmeter

ClawMeter — Cost Tracking Dashboard

Track OpenClaw API usage and spending in real-time with budget alerts.


Overview

ClawMeter is a self-hosted cost tracking dashboard that monitors your OpenClaw session logs, calculates token usage and API costs, and provides real-time analytics with customizable budget alerts.

Perfect for: - Users who want visibility into their AI spending - Teams managing OpenClaw deployments with budgets - Developers optimizing model selection based on cost - Anyone who wants to avoid surprise API bills


Installation

Prerequisites

  • OpenClaw installed and running
  • Node.js v18+ (for the dashboard server)
  • Session logs enabled in OpenClaw (default)

Setup

  1. Clone or download ClawMeter: bash cd ~/.openclaw/workspace git clone https://github.com/yourusername/clawmeter.git cd clawmeter

  2. Install dependencies: bash npm install

  3. Configure (optional): bash cp .env.example .env # Edit .env to customize paths, budget limits, or alert settings

  4. Ingest existing logs: bash npm run ingest

  5. Start the dashboard: bash npm start

  6. Open dashboard: Navigate to http://localhost:3377


Commands

When this skill is installed, your OpenClaw agent can respond to:

Spending Queries

  • "How much have I spent today?"
  • Shows today's total spend and budget percentage

  • "What's my monthly spend?"

  • Displays current month total and budget status

  • "Show me this week's costs"

  • Summarizes last 7 days of spending

Cost Analysis

  • "Which model is most expensive?"
  • Breaks down costs by model (Claude, GPT, Gemini, etc.)

  • "Show my most expensive sessions"

  • Lists top sessions by total cost

  • "What's my average daily spend?"

  • Calculates mean daily cost over the last 30 days

Dashboard & Reports

  • "Open my cost dashboard"
  • Provides link to http://localhost:3377

  • "Generate a cost report"

  • Exports summary data (today/week/month/all-time)

Data Management

  • "Refresh cost data"
  • Triggers manual re-ingest of session logs

  • "Clear old cost data"

  • (Optional) Archive or delete data older than X days

API Endpoints

ClawMeter exposes a REST API that agents can query:

Summary Statistics

GET http://localhost:3377/api/summary

Response:

{
  "today": 2.15,
  "week": 8.42,
  "month": 32.76,
  "allTime": 127.89,
  "sessions": 234,
  "messages": 1842,
  "budgetDaily": 5.0,
  "budgetMonthly": 100.0
}

Daily Breakdown

GET http://localhost:3377/api/daily?days=30

Response:

[
  {
    "date": "2026-02-14",
    "cost": 2.15,
    "input_tokens": 45820,
    "output_tokens": 12340,
    "messages": 18
  }
]

Sessions

GET http://localhost:3377/api/sessions?limit=50&offset=0

Response:

[
  {
    "id": "abc123",
    "agent": "main",
    "model": "claude-sonnet-4-5",
    "total_cost": 0.842,
    "message_count": 12
  }
]

Model Breakdown

GET http://localhost:3377/api/models

Response:

[
  {
    "model": "claude-sonnet-4-5",
    "provider": "anthropic",
    "total_cost": 45.62,
    "message_count": 324
  }
]

Top Sessions

GET http://localhost:3377/api/top-sessions?limit=10

Budget Alerts

GET http://localhost:3377/api/alerts

Manual Ingest

POST http://localhost:3377/api/ingest

Configuration

Environment Variables

Edit .env to customize:

# Paths
OPENCLAW_AGENTS_DIR=/home/youruser/.openclaw/agents
CLAWMETER_DB=/home/youruser/.openclaw/workspace/clawmeter/data/clawmeter.db

# Server
PORT=3377

# Budgets (USD)
BUDGET_DAILY_LIMIT=5.00
BUDGET_MONTHLY_LIMIT=100.00

# Telegram alerts (optional)
TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id

# Email alerts (optional)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
[email protected]
SMTP_PASS=your_app_password
[email protected]

Budget Alerts

ClawMeter automatically checks spending against configured thresholds and sends alerts via:

  • Telegram — Instant notifications to your phone
  • Email — Delivered via SMTP

Alert triggers: - Daily spend exceeds BUDGET_DAILY_LIMIT - Monthly spend exceeds BUDGET_MONTHLY_LIMIT

Alert throttling: One alert per type per day (prevents spam).


Agent Integration Examples

Example 1: Daily Spend Check

User: "How much have I spent today?"

Agent Response:

Let me check your spending...

📊 Today's Spend: $2.15
Budget: $5.00 (43% used)

You have $2.85 remaining today.

Implementation:

const res = await fetch('http://localhost:3377/api/summary');
const data = await res.json();
const pct = (data.today / data.budgetDaily * 100).toFixed(0);
return `📊 Today's Spend: $${data.today.toFixed(2)}nBudget: $${data.budgetDaily.toFixed(2)} (${pct}% used)nnYou have $${(data.budgetDaily - data.today).toFixed(2)} remaining today.`;

Example 2: Model Comparison

User: "Which model should I use to save money?"

Agent Response:

Based on your usage history:

💰 Cost per 1K messages:
• Claude Haiku 3-5: $0.12
• GPT-4o-mini: $0.18
• Claude Sonnet 4-5: $0.45
• Claude Opus 4: $1.23

Recommendation: Use Haiku for simple tasks, Sonnet for complex work.

Example 3: Budget Warning

Agent (proactive):

⚠️ Budget Alert

You've spent $5.52 today, exceeding your $5.00 daily limit.

Top sessions today:
1. Code review task — $2.10
2. Research project — $1.85
3. Email drafting — $0.98

Consider switching to a cheaper model or pausing non-urgent tasks.

Dashboard Features

Overview Screen

  • Today's spend with budget progress bar
  • Weekly and monthly totals
  • All-time spending and message count
  • Budget status (green/yellow/red indicators)

Analytics

  • Daily cost chart (bar chart, 7/14/30/90 day views)
  • Model breakdown (donut chart with percentages)
  • Top sessions by cost
  • Recent activity feed

Alerts History

  • View all triggered budget alerts
  • See when and why alerts fired
  • Track spending patterns over time

Use Cases

1. Personal Budget Management

Scenario: You want to keep OpenClaw costs under $100/month.

Setup: - Set BUDGET_MONTHLY_LIMIT=100.00 - Enable Telegram alerts - Check dashboard weekly

Result: Get notified before you exceed budget, adjust usage accordingly.

2. Team Cost Allocation

Scenario: Multiple team members use shared OpenClaw instance.

Setup: - ClawMeter tracks costs by agent/session - Export data via API for reporting - Analyze which agents/projects cost most

Result: Fair cost distribution, identify optimization opportunities.

3. Model Selection Optimization

Scenario: You're unsure which model to use for different tasks.

Setup: - Run experiments with different models - Compare costs in ClawMeter dashboard - Analyze cost-per-message and cost-per-token

Result: Data-driven model selection, optimize for cost/quality balance.

4. Production Monitoring

Scenario: OpenClaw running in production, need cost visibility.

Setup: - ClawMeter auto-ingests logs in real-time - Set aggressive budget alerts - Monitor dashboard for anomalies

Result: Catch cost spikes immediately, prevent runaway spending.


Troubleshooting

Dashboard shows $0.00

Cause: Session logs not found or not yet ingested.

Fix: 1. Verify OPENCLAW_AGENTS_DIR points to correct path 2. Run npm run ingest manually 3. Check that .jsonl files exist in agents/*/sessions/

Auto-watch not working

Cause: File watcher not detecting changes.

Fix: 1. Ensure server is running (npm start) 2. Check terminal for 📥 X new events messages 3. Verify file permissions on session directories

Budget alerts not sending

Cause: Missing or incorrect credentials.

Fix: 1. Double-check TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID in .env 2. For email, verify SMTP settings 3. Check server logs for error messages

Database errors

Cause: Corrupted or locked database file.

Fix: 1. Stop the server 2. Backup data/clawmeter.db 3. Delete database and re-run npm run ingest


Advanced Configuration

Custom Model Pricing

If you use custom models or pricing changes:

  1. Edit src/pricing.mjs
  2. Add entry to MODEL_PRICING object: javascript 'your-custom-model': { input: 2.50, // per million tokens output: 10.00, // per million tokens cacheRead: 0.25, // optional cacheWrite: 3.75 // optional }
  3. Restart server

Scheduled Reports

Use cron to schedule daily/weekly reports:

# Daily summary at 9 AM
0 9 * * * curl -s http://localhost:3377/api/summary | mail -s "Daily Cost Report" [email protected]

Data Export

Export raw data for external analysis:

# Export all sessions to CSV
sqlite3 data/clawmeter.db "SELECT * FROM sessions" -csv > sessions.csv

Running as a Service

Create systemd service for persistent operation:

# /etc/systemd/system/clawmeter.service
[Unit]
Description=ClawMeter Cost Tracking Dashboard
After=network.target

[Service]
Type=simple
User=youruser
WorkingDirectory=/home/youruser/.openclaw/workspace/clawmeter
ExecStart=/usr/bin/npm start
Restart=always

[Install]
WantedBy=multi-user.target

Enable and start:

sudo systemctl enable clawmeter
sudo systemctl start clawmeter

Security Considerations

Local Access Only

By default, ClawMeter binds to localhost:3377 and is not exposed to the internet.

To access remotely, use SSH tunneling:

ssh -L 3377:localhost:3377 your-server

Sensitive Data

Session logs may contain conversation data. ClawMeter: - Stores only usage metadata (tokens, costs, timestamps) - Does not store message content or prompts - Database is local SQLite (no cloud sync)

API Authentication

ClawMeter currently has no authentication. For production:

  1. Run behind a reverse proxy (nginx/caddy) with auth
  2. Use firewall rules to restrict access
  3. Deploy on a private network

Performance

Resource Usage

  • CPU: Minimal (event-driven ingestion)
  • RAM: ~50-100 MB
  • Disk: Database grows ~1 KB per message (SQLite is very efficient)
  • Network: None (all local)

Scalability

ClawMeter handles: - 100K+ messages easily - Years of historical data without performance degradation - Multiple agents (separated by directory structure)

For massive deployments (millions of messages), consider: - Periodic database archiving - PostgreSQL backend (requires code changes)


Roadmap

Planned features:

  • [ ] Multi-user authentication
  • [ ] PostgreSQL support for large deployments
  • [ ] Export to CSV/JSON
  • [ ] Cost forecasting (predict monthly spend)
  • [ ] Slack/Discord webhook support
  • [ ] Token usage heatmaps
  • [ ] Model performance tracking (latency, quality)
  • [ ] Budget recommendations based on usage patterns

Support

  • Documentation: GitHub README
  • Issues: GitHub Issues
  • Community: OpenClaw Discord

License

MIT — Free and open source forever.


Made with ⚡ by the OpenClaw community

Track your spending. Optimize your costs. Stay in control.