Skip to content

AIhubmix/hermes-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hermes Evolution Dashboard

中文文档

A visualization layer for Hermes Agent's four-layer self-evolution. Watch the agent grow in real time — skills bloom as leaves, memory thickens the trunk, sessions feed the roots, and training trajectories carry the seeds of the next generation.

Read-only by design — observes ~/.hermes/ without modifying anything.

Living Evolution Tree

The Living Tree

Most AI dashboards show token counts and cost charts. The Living Tree shows something different: the shape of an agent's growth.

Hermes Agent evolves across four layers. The tree maps each layer to a part of a living organism:

        🌿 Canopy — Skills
       the agent's learned capabilities.
       Each leaf is a skill. Newest growth
       sprouts closest to the trunk.
            │
            │
       ████████ Trunk — Memory
       structural knowledge that holds
       everything together. Thickens as
       the agent remembers more.
            │
            │
        ╱  ╱╲  ╲ Roots — Sessions
       past conversations that absorbed
       experience from the soil of
       human interaction.

       ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
       Seeds — Training Trajectories
       carried by the wind, ready to
       grow the next generation.

Click any node to trace its lineage — sap-flow particles illuminate the path from root to leaf, showing exactly which conversation planted the seed for a capability.

Click Grow to replay evolution in session order. Each session appears with the memory and skills it produced, revealing how the agent became what it is.

Why a tree?

Because growth that accumulates is what trees do. An agent that had 100 conversations is not the same as one that had 10 — not because it processed more tokens, but because each conversation left something behind. Memory. Skills. Judgment. The tree makes that residue visible.

A tree with withered leaves and a thin trunk tells a different story than one in full bloom. That difference — between an agent that is growing and one that is stagnating — is what the Living Tree exists to show.

Hermes Four-Layer Self-Evolution

Layer Tree Part What It Tracks Source
Context Evolution Roots Sessions — each conversation is a learning event state.db
Memory Evolution Trunk MEMORY.md (agent notes) + USER.md (user profile) ~/.hermes/memories/
Skill Evolution Canopy Learned capabilities with health lifecycle ~/.hermes/skills/*/SKILL.md
Model Evolution Seeds Training trajectories for next-generation fine-tuning trajectory_samples.jsonl

The Evolution Lifecycle

Session (conversation)
  │
  │  agent observes, learns
  ▼
Memory (stored knowledge)
  │
  │  knowledge crystallizes
  ▼
Skill (reusable capability)
  │
  │  successful patterns sampled
  ▼
Training Trajectory (seed for next generation)

Skill health states:

  • Active — in use, healthy
  • Stale — agent-created but unused for 30+ days
  • Disabled — explicitly turned off

Skill sources:

  • Bundled — shipped with the agent framework
  • Agent-created — learned autonomously through conversation

Features

Living Evolution Tree

Interactive SVG tree with D3.js layout and Framer Motion animations. Causal relationships are inferred by timestamp proximity between sessions, memory updates, and skill creation.

Overview Dashboard

Token trends, cost breakdown by model, tool usage ranking, and activity heatmap. 7-day / 30-day toggle.

Skill Library

Grid view with search, health-status filtering, and drill-down into source code and frontmatter.

Memory Viewer

Side-by-side MEMORY.md and USER.md with capacity progress bars.

Session History

Paginated table with full message thread drill-down, tool call inspection, and cross-session search.

Settings

Browser-based configuration for agent model, memory limits, API keys, and channel integrations (Telegram, Discord, Slack, Signal, WhatsApp, Matrix).

Quick Start

Prerequisites

  • Python 3.9+
  • Node.js 18+
  • Hermes Agent with data in ~/.hermes/

1. Backend

cd backend
pip3 install -r requirements.txt
uvicorn main:app --reload --port 8000

2. Frontend

cd frontend
npm install
npm run dev

3. Open

http://localhost:5173 | API docs at http://localhost:8000/api/docs

Tech Stack

Layer Stack
Frontend React 19, Vite 8, TypeScript, TailwindCSS 4
Tree Visualization D3.js (layout + zoom), Framer Motion (animations), SVG
Charts Recharts
Data Fetching SWR
Backend FastAPI, Uvicorn, Pydantic
Data Source ~/.hermes/ filesystem + SQLite (read-only)

Project Structure

hermes-dashboard/
├── backend/
│   ├── main.py                 # FastAPI entry
│   ├── config.py               # ~/.hermes/ path detection
│   ├── routers/
│   │   ├── evolution.py        # /api/evolution/* (tree, timeline, summary)
│   │   ├── sessions.py         # /api/sessions/* (list, detail, search)
│   │   ├── skills.py           # /api/skills/*
│   │   ├── memory.py           # /api/memory/*
│   │   ├── insights.py         # /api/insights (analytics)
│   │   └── system.py           # /api/system/* (status, settings, keys)
│   ├── services/
│   │   ├── tree_builder.py     # Causal graph inference engine
│   │   ├── evolution_engine.py # Four-layer timeline aggregation
│   │   ├── session_db.py       # SQLite read-only access
│   │   ├── skill_scanner.py    # Filesystem skill scanner
│   │   └── memory_reader.py    # MEMORY.md / USER.md parser
│   └── models/schemas.py       # Pydantic response models
├── frontend/
│   ├── src/
│   │   ├── pages/              # Overview, Evolution, Skills, Memory, Sessions, Settings
│   │   ├── components/
│   │   │   └── evolution/tree/ # LivingTree, TreeNode, TreeBranch, TreeTooltip, ...
│   │   ├── hooks/useApi.ts     # SWR data hooks
│   │   ├── lib/api.ts          # API client
│   │   └── types/index.ts      # TypeScript interfaces
│   └── package.json
└── README.md

API

Method Path Description
GET /api/evolution/tree?days=90 Living tree graph (nodes + causal edges)
GET /api/evolution/timeline?days=90 Chronological event list
GET /api/evolution/summary Four-layer aggregate stats
GET /api/sessions?page=1&limit=20 Paginated session list
GET /api/sessions/{id} Full session with messages
GET /api/sessions/search?q=... Cross-session message search
GET /api/skills All skills (summary)
GET /api/skills/{name} Skill detail with source
GET /api/memory Memory entries + capacity
GET /api/memory/stats Usage statistics
GET /api/insights?days=30 Token, cost, tool analytics
GET /api/system/status Agent health
GET /api/system/settings Configuration
PATCH /api/system/settings Update configuration

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors