Hermes Agent: Dashboard

Last updated: 2026-08-31

The Dashboard is Hermes Agent's control panel — Token consumption, cost trends, tool usage frequency, memory growth, all data at a glance.

💡 Tip: The dashboard provides both a CLI text version and a Web graphical version. Regularly checking the dashboard helps optimize costs and detect anomalies.

📋 Prerequisites: Lesson 4 Model Configuration, Lesson 10 Scheduled Tasks

1. What You Will Learn

# Content
Dashboard feature overview
Usage statistics and cost analysis
Performance monitoring
Health checks and alerts
Custom dashboard

2. Story

(1) Pain Point: No Idea How Much AI Costs

Bob used Hermes for a month without knowing Token consumption or cost. The API bill at month-end was a shock.

(2) Solution: Dashboard Real-Time Monitoring

Alice checks the dashboard daily:

BASH
hermes dashboard

# ┌─ Hermes Dashboard ─────────────────────┐
# │                                         │
# │ 💰 Monthly Cost: $14.32 / Budget $50   │
# │ 📊 Token Usage: 3.2M / 10M            │
# │ ⏱️ Avg Response: 2.3s                   │
# │ 🔧 Tool Calls: 847                      │
# │ 📝 Memory Entries: 156                  │
# │                                         │
# │ 📈 Cost Trend (7 days)                  │
# │ 3/9  ■■■■■■■□□□  $2.10                 │
# │ 3/10 ■■■■■■□□□□  $1.80                 │
# │ 3/11 ■■■■■■■■■□  $2.50                 │
# │ 3/12 ■■■■□□□□□□  $1.20                 │
# │ 3/13 ■■■■■■■■□□  $2.30                 │
# │ 3/14 ■■■■■■■■■■  $2.80                 │
# │ 3/15 ■■■■■■□□□□  $1.62 (today so far)  │
# └─────────────────────────────────────────┘

3. Dashboard Feature Overview

(1) Core Metrics

Metric Description Unit
Monthly Cost Total API call fees USD
Token Usage Input + Output tokens Millions
Avg Response Time LLM inference latency Seconds
Tool Call Count Tool usage frequency Count
Memory Entries Long-term memory count Entries
Skill Usage Per-skill call count Count

(2) Access Methods

BASH
# CLI text version
hermes dashboard

# Web graphical version
hermes dashboard --web --port 3000
# Open browser at http://localhost:3000

# Single metric query
hermes stats cost
hermes stats tokens
hermes stats tools

4. Usage Statistics and Cost Analysis

(1) Cost Report

BASH
hermes cost report --month

# Output:
# ┌──────────────┬──────────┬───────────┬───────────┬─────────┐
# │ Model        │ Requests │ Tokens In │ Tokens Out│ Cost    │
# ├──────────────┼──────────┼───────────┼───────────┼─────────┤
# │ gpt-4o-mini  │ 1,200    │ 2.4M      │ 0.8M      │ $2.16   │
# │ gpt-4o       │ 80       │ 0.8M      │ 0.4M      │ $6.00   │
# │ claude-3.5   │ 40       │ 0.6M      │ 0.3M      │ $5.70   │
# │ llama3.2     │ 500      │ 1.0M      │ 0.5M      │ $0.00   │
# ├──────────────┼──────────┼───────────┼───────────┼─────────┤
# │ Total        │ 1,820    │ 4.8M      │ 2.0M      │ $13.86  │
# └──────────────┴──────────┴───────────┴───────────┴─────────┘

(2) Analysis by Task Type

BASH
hermes cost report --by-task

# Output:
# ┌──────────────┬──────────┬─────────┬────────────┐
# │ Task Type    │ Requests │ Cost    │ % of Total │
# ├──────────────┼──────────┼─────────┼────────────┤
# │ code_review  │ 120      │ $4.50   │ 32%        │
# │ web_search   │ 340      │ $2.80   │ 20%        │
# │ chat         │ 800      │ $3.20   │ 23%        │
# │ translation  │ 200      │ $1.86   │ 13%        │
# │ cron_tasks   │ 360      │ $1.50   │ 11%        │
# └──────────────┴──────────┴─────────┴────────────┘

(3) Cost Budget

YAML
# Configure monthly budget
dashboard:
  budget:
    monthly_limit: 50          # Monthly budget $50 USD
    warning_threshold: 0.8     # Warn at 80%
    daily_limit: 5             # Daily budget $5 USD
    
  alerts:
    - type: "cost_threshold"
      threshold: 40            # Alert at $40 USD
      notify: "telegram"
      
    - type: "daily_exceed"
      notify: "telegram"

5. Performance Monitoring

(1) Response Time

BASH
hermes stats latency

# Output:
# ┌──────────────┬─────────┬─────────┬─────────┐
# │ Model        │ Avg (s) │ P50 (s) │ P99 (s) │
# ├──────────────┼─────────┼─────────┼─────────┤
# │ gpt-4o-mini  │ 1.2     │ 1.0     │ 3.5     │
# │ gpt-4o       │ 2.8     │ 2.5     │ 6.2     │
# │ claude-3.5   │ 3.1     │ 2.8     │ 7.0     │
# │ llama3.2     │ 4.5     │ 4.0     │ 12.0    │
# └──────────────┴─────────┴─────────┴─────────┘

(2) Tool Usage Statistics

BASH
hermes stats tools

# Output:
# ┌──────────────┬──────────┬─────────┬──────────┐
# │ Tool         │ Calls    │ Avg Time│ Success  │
# ├──────────────┼──────────┼─────────┼──────────┤
# │ fs_read      │ 312      │ 0.1s    │ 99.7%    │
# │ code_python  │ 145      │ 3.2s    │ 97.2%    │
# │ web_search   │ 89       │ 2.1s    │ 98.9%    │
# │ fs_write     │ 67       │ 0.2s    │ 100%     │
# │ vision       │ 23       │ 5.8s    │ 95.7%    │
# └──────────────┴──────────┴─────────┴──────────┘

6. Health Checks and Alerts

(1) System Health

BASH
hermes health

# Output:
# ✅ Agent Core: Running
# ✅ Memory System: OK (156 entries, 12 MB)
# ✅ Skills Engine: OK (8 active)
# ✅ Tool Registry: OK (72 tools)
# ⚠️ Ollama Connection: Slow (2.5s response)
# ✅ OpenAI API: OK (latency 1.2s)
# ✅ Disk Space: OK (85% free)
# ⚠️ Memory Usage: 78% (consider cleanup)

(2) Alert Configuration

YAML
dashboard:
  alerts:
    - type: "api_error_rate"
      threshold: 0.05           # 5% error rate
      notify: "telegram"
      
    - type: "latency_spike"
      threshold: 10             # Over 10 seconds
      notify: "email"
      
    - type: "disk_space"
      threshold: 0.9            # 90% usage
      notify: "telegram"
      
    - type: "memory_usage"
      threshold: 0.85           # 85% usage
      notify: "telegram"

7. Custom Dashboard

(1) Custom Metrics

YAML
dashboard:
  custom_metrics:
    - name: "code_reviews_today"
      query: "SELECT COUNT(*) FROM tool_calls WHERE tool='code_review' AND date=today"
      display: "number"
      
    - name: "cost_savings_vs_gpt4"
      calculation: "total_cost * 0.6"  # Assuming all GPT-4 would cost 60% more
      display: "trend"

(2) Web Dashboard Customization

BASH
# Start Web dashboard
hermes dashboard --web --port 3000

# Custom panel layout
cat > ~/.hermes/dashboard-layout.yaml << EOF
panels:
  - type: "cost_chart"
    position: "top-left"
    time_range: "30d"
    
  - type: "tool_usage"
    position: "top-right"
    top_n: 10
    
  - type: "model_distribution"
    position: "bottom-left"
    
  - type: "health_status"
    position: "bottom-right"
EOF

❓ FAQ

Q How long is dashboard data retained?
A Default 90 days. Configurable via dashboard.data_retention, supports 7-365 days.
Q Does the Web dashboard need extra installation?
A No. hermes dashboard --web starts the built-in web server, just open in browser.
Q Will data be leaked?
A Dashboard data is stored locally only. Web version defaults to localhost only, not exposed externally.
Q Can I export data?
A hermes stats export --format csv exports all statistics. Supports CSV and JSON formats.
Q Are multi-user dashboards separate?
A Yes. Each Profile has independent statistics. Admins can view global summaries.
Q What notification channels do alerts support?
A Telegram, Slack, Email, Webhook. Multiple channels can be configured.

📖 Summary


📝 Exercises

  1. Basic (⭐): Run hermes dashboard, view current statistics, screenshot key metrics.
  2. Intermediate (⭐⭐): Configure monthly budget and alerts, simulate cost overrun scenario, verify alert triggers.
  3. Advanced (⭐⭐⭐): Design a custom dashboard panel with your top 5 metrics, configure Web dashboard layout.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏