Clawmeter

# ClawMeter — Cost Tracking Dashboard

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Clawmeter" with this command: 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:

    cd ~/.openclaw/workspace
    git clone https://github.com/yourusername/clawmeter.git
    cd clawmeter
    
  2. Install dependencies:

    npm install
    
  3. Configure (optional):

    cp .env.example .env
    # Edit .env to customize paths, budget limits, or alert settings
    
  4. Ingest existing logs:

    npm run ingest
    
  5. Start the dashboard:

    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"

  • "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
SMTP_USER=your@email.com
SMTP_PASS=your_app_password
ALERT_EMAIL_TO=notify@yourdomain.com

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)\n\nYou 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:
    '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" you@example.com

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


License

MIT — Free and open source forever.


Made with ⚡ by the OpenClaw community

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Charging Ledger

充电记录账本 - 从截图提取充电信息并记录,支持按周、月查询汇总。**快速暗号**: 充电记录、充电账本、充电汇总。**自然触发**: 记录充电、查询充电费用、充电统计。

Registry SourceRecently Updated
General

qg-skill-sync

从团队 Git 仓库同步最新技能到本机 OpenClaw。支持首次设置、定时自动更新、手动同步和卸载。当用户需要同步技能、设置技能同步、安装或更新团队技能,或提到「技能同步」「同步技能」时使用。

Registry SourceRecently Updated
General

Ad Manager

广告投放管理 - 自动管理广告投放、优化ROI、生成报告。适合:营销人员、电商运营。

Registry SourceRecently Updated