README.md

June 4, 2026 · View on GitHub

Agentlytics

Agentlytics

Your Cursor, Devin, Claude Code sessions — analyzed, unified, tracked.
One command to turn scattered AI conversations from 17 editors into a unified analytics dashboard.
Sessions, costs, models, tools — finally in one place. 100% local.

npm editors license node

Agentlytics dashboard


The Problem

You switch between Cursor, Devin, Claude Code, VS Code Copilot, and more — each with its own siloed conversation history.

  • ✗ Sessions scattered across editors, no unified view
  • ✗ No idea how much you're spending on AI tokens
  • ✗ Can't compare which editor is more effective
  • ✗ Can't search across all your AI conversations
  • ✗ No way to share session context with your team
  • ✗ No unified view of your plans, credits, and rate limits

The Solution

One command. Full picture. All local.

npx agentlytics
# or
pnpm dlx agentlytics
# or
yarn dlx agentlytics
# or
bunx agentlytics

Opens at http://localhost:4637. Requires Node.js ≥ 20.19 or ≥ 22.12, macOS. No data ever leaves your machine.

Node.js

$ npx agentlytics

(● ●) [● ●] Agentlytics
{● ●} <● ●> Unified analytics for your AI coding agents

Looking for AI coding agents...
   ✓ Cursor              498 sessions
   ✓ Devin                20 sessions
   ✓ Devin Next           56 sessions
   ✓ Claude Code           6 sessions
   ✓ VS Code              23 sessions
   ✓ Zed                   1 session
   ✓ Codex                 3 sessions
   ✓ Gemini CLI            2 sessions
   ...and 6 more

(● ●) [● ●] {● ●} <● ●> ✓ 691 analyzed, 360 cached (27.1s)
✓ Dashboard ready at http://localhost:4637

To only build the cache without starting the server:

npx agentlytics --collect
# or: pnpm dlx agentlytics --collect

Features

  • Dashboard — KPIs, activity heatmap, editor breakdown, coding streaks, token economy, peak hours, top models & tools
  • Sessions — Search, filter, and read full conversations with syntax highlighting. Open any chat in a slide-over sidebar.
  • Costs — Estimate your AI spend broken down by model, editor, project, and month. Spot your most expensive sessions.
  • Projects — Per-project analytics: sessions, messages, tokens, models, editor breakdown, and drill-down detail views
  • Deep Analysis — Tool frequency heatmaps, model distribution, token breakdown, and filterable drill-down analytics
  • Compare — Side-by-side editor comparison with efficiency ratios, token usage, and session patterns
  • Subscriptions — Live view of your editor plans, usage quotas, remaining credits, and rate limits across Cursor, Devin, Claude Code, Copilot, Codex, and more
  • Relay — Share AI session context across your team via MCP

Supported Editors

EditorMsgsToolsModelsTokens
Cursor
Devin
Devin Next
Antigravity
Claude Code
VS Code
VS Code Insiders
Zed
OpenCode
Codex
Gemini CLI
GitHub Copilot
Cursor Agent
Command Code
Goose
Kiro
Codebuff⚠️⚠️

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

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
# or: pnpm dlx 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>
# or: pnpm dlx 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:

ToolDescription
list_usersList all connected users and their shared projects
search_sessionsFull-text search across all users' chat messages
get_user_activityGet recent sessions for a specific user
get_session_detailGet full conversation messages for a session

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

Relay REST API

EndpointDescription
GET /relay/healthHealth check and user count
GET /relay/usersList connected users
GET /relay/search?q=<query>Search messages across all users
GET /relay/activity/:usernameUser's recent sessions
GET /relay/session/:chatIdFull session detail
POST /relay/syncReceives 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

EndpointDescription
GET /api/overviewDashboard KPIs, editors, modes, trends
GET /api/daily-activityDaily counts for heatmap
GET /api/dashboard-statsHourly, weekday, streaks, tokens, velocity
GET /api/chatsPaginated session list
GET /api/chats/:idFull chat with messages
GET /api/projectsProject-level aggregations
GET /api/deep-analyticsTool/model/token breakdowns
GET /api/tool-callsIndividual tool call instances
GET /api/refetchSSE: wipe cache and rescan

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

Roadmap

  • Offline Devin/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

Devin / Devin 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. Legacy Windsurf identifiers and ~/.windsurf configuration are still supported for backwards compatibility.

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