Skip to content
 
 

Repository files navigation

Agentlytics

Agentlytics

Unified analytics for your AI coding agents
Cursor · Windsurf · Claude Code · VS Code Copilot · Zed · Antigravity · OpenCode · Codex · Gemini CLI · Copilot CLI · Cursor Agent · Command Code

npm editors license node

Agentlytics demo


Agentlytics reads local chat history from every major AI coding assistant and presents a unified analytics dashboard in your browser. No data ever leaves your machine.

Quick Start

npx agentlytics

Opens at http://localhost:4637. Requires Node.js ≥ 20.19 or ≥ 22.12, macOS.

To only build the cache database without starting the server:

npx agentlytics --collect

For local development, run npm run dev from the repo root. That starts both the backend on http://localhost:4637 and the Vite frontend on http://localhost:5173.

Features

  • Dashboard — KPIs, activity heatmap, editor breakdown, coding streaks, token economy, peak hours, top models & tools
  • Sessions — Search, filter, full conversation viewer with syntax highlighting and diff views
  • Projects — Per-project analytics: sessions, messages, tokens, models, editor breakdown
  • Deep Analysis — Tool frequency, model distribution, token breakdown with drill-down
  • Compare — Side-by-side editor comparison with efficiency ratios
  • Refetch — One-click cache rebuild with live progress
  • Relay — Multi-user context sharing with MCP server for cross-team AI session querying

Supported Editors

Editor ID Msgs Tools Models Tokens
Cursor cursor ⚠️ ⚠️
Windsurf windsurf
Windsurf Next windsurf-next
Antigravity antigravity
Claude Code claude-code
VS Code vscode
VS Code Insiders vscode-insiders
Zed zed
OpenCode opencode
Codex codex
Gemini CLI gemini-cli
Copilot CLI copilot-cli
Cursor Agent cursor-agent
Command Code commandcode

Windsurf, Windsurf Next, and Antigravity must be running during scan.

Codex sessions are read from ${CODEX_HOME:-~/.codex}/sessions/**/*.jsonl. Reasoning summaries may appear in transcripts when Codex records them in clear text, but encrypted reasoning content is not readable. Codex Desktop and CLI sessions are aggregated into one codex editor in analytics.

Relay

Relay enables multi-user context sharing across a team. One person starts a relay server, others join and share selected project sessions. An MCP server is exposed so AI clients can query across everyone's coding history.

Start a relay

npx agentlytics --relay

Optionally protect with a password:

RELAY_PASSWORD=secret npx agentlytics --relay

This starts a relay server on port 4638 and prints the join command and MCP endpoint:

  ⚡ Agentlytics Relay

  Share this command with your team:
    cd /path/to/project
    npx agentlytics --join 192.168.1.16:4638

  MCP server endpoint (add to your AI client):
    http://192.168.1.16:4638/mcp

Join a relay

cd /path/to/your-project
npx agentlytics --join <host:port>

If the relay is password-protected:

RELAY_PASSWORD=secret npx agentlytics --join <host:port>

Username is auto-detected from git config user.email. You can override it with --username <name>.

You'll be prompted to select which projects to share. The client then syncs session data to the relay every 30 seconds.

MCP Tools

Connect your AI client to the relay's MCP endpoint (http://<host>:4638/mcp) to access these tools:

Tool Description
list_users List all connected users and their shared projects
search_sessions Full-text search across all users' chat messages
get_user_activity Get recent sessions for a specific user
get_session_detail Get full conversation messages for a session

Example query to your AI: "What did alice do in auth.js?"

Relay REST API

Endpoint Description
GET /relay/health Health check and user count
GET /relay/users List connected users
GET /relay/search?q=<query> Search messages across all users
GET /relay/activity/:username User's recent sessions
GET /relay/session/:chatId Full session detail
POST /relay/sync Receives data from join clients

Relay is designed for trusted local networks. Set RELAY_PASSWORD env on both server and clients to enable password protection.

How It Works

Editor files/APIs → editors/*.js → cache.js (SQLite) → server.js (REST) → React SPA
Relay:  join clients → POST /relay/sync → relay.db (SQLite) → MCP server → AI clients

All data is normalized into a local SQLite cache at ~/.agentlytics/cache.db. The Express server exposes read-only REST endpoints consumed by the React frontend. Relay data is stored separately in ~/.agentlytics/relay.db.

API

Endpoint Description
GET /api/overview Dashboard KPIs, editors, modes, trends
GET /api/daily-activity Daily counts for heatmap
GET /api/dashboard-stats Hourly, weekday, streaks, tokens, velocity
GET /api/chats Paginated session list
GET /api/chats/:id Full chat with messages
GET /api/projects Project-level aggregations
GET /api/deep-analytics Tool/model/token breakdowns
GET /api/tool-calls Individual tool call instances
GET /api/refetch SSE: wipe cache and rescan

All endpoints accept optional editor filter. See API.md for full request/response documentation.

Roadmap

  • Offline Windsurf/Antigravity support — Read cascade data from local file structure instead of requiring the app to be running (see below)
  • LLM-powered insights — Use an LLM to analyze session patterns, generate summaries, detect coding habits, and surface actionable recommendations
  • Linux & Windows support — Adapt editor paths for non-macOS platforms
  • Export & reports — PDF/CSV export of analytics and session data
  • Cost tracking — Estimate API costs per editor/model based on token usage

Contributions Needed

Windsurf / Windsurf Next / Antigravity offline reading — Currently these editors require their app to be running because data is fetched via ConnectRPC from the language server process. Unlike Cursor or Claude Code, there's no known local file structure to read cascade history from. If you know where Windsurf stores trajectory data on disk, or can help reverse-engineer the storage format, contributions are very welcome.

LLM-based analytics — We'd love to add intelligent analysis on top of the raw data — session summaries, coding pattern detection, productivity insights, and natural language queries over your agent history. If you have ideas or want to build this, open an issue or PR.

Contributing

See CONTRIBUTING.md for development setup, editor adapter details, database schema, and how to add support for new editors.

License

MIT — Built by @f

About

Comprehensive analytics dashboard for AI coding agents — Cursor, Windsurf, Claude Code, VS Code Copilot, Zed, Antigravity, OpenCode, Command Code

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages