Noureddine RAMDI / Agentlytics: local-first analytics for AI coding editors with dual Node.js and Deno modes

Created Tue, 05 May 2026 16:46:42 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

f/agentlytics

Agentlytics tackles a niche problem that’s becoming more relevant as developers juggle multiple AI coding assistants: how to collect and analyze telemetry from various AI coding editors without sending sensitive data to the cloud. It aggregates session data from 17 AI coding editors — including Cursor, Windsurf, Claude Code, VS Code Copilot, and Zed — into a unified, local analytics dashboard that runs entirely on your machine.

How agentlytics collects and presents AI coding session data

At its core, Agentlytics parses editor-specific log files and APIs to extract session telemetry. Each AI coding editor stores session data differently — some use JSON logs, others SQLite or proprietary formats. Agentlytics normalizes all this data into a common schema and caches it in a local SQLite database at ~/.agentlytics/cache.db by default.

The main interface is a React single-page application served by a Node.js Express backend running on localhost:4637. This dashboard provides features such as session search, cost estimation, editor comparison, and project-level analytics.

What stands out is the breadth of supported editors — 17 in total — which includes popular tools like VS Code Copilot and newer entrants like Claude Code and Windsurf. This multi-editor normalization requires careful parsing logic per editor and a consistent caching strategy.

The tech stack for the main edition is straightforward yet effective:

  • Backend: Node.js with Express for serving the React app and API endpoints
  • Frontend: React for the interactive analytics dashboard UI
  • Database: SQLite for a lightweight, local cache of normalized session data

This stack balances ease of setup with performance and flexibility for a local-first analytics tool.

The dual-mode architecture: rich dashboard vs lightweight CLI

The most interesting aspect of Agentlytics is its dual-mode operation:

  1. Full Node.js edition: This is the main user experience, combining Express, React, and SQLite to deliver a rich, interactive dashboard. It supports advanced features like session search, editor comparison, cost estimation, and project-level breakdowns. The dashboard runs on localhost and requires Node.js and an SQLite environment.

  2. Deno sandboxed edition: This alternative is a zero-dependency, lightweight CLI implemented as a single mod.ts file that runs in Deno’s secure sandbox. It only requires minimal permissions (--allow-read, --allow-env) and does not use SQLite or expose any network access. Instead, it reads editor log files directly and provides a quick audit or report without installing Node.js or managing dependencies.

This split architecture is a thoughtful tradeoff balancing user needs. The full Node.js edition offers a rich UI and persistent caching but has a larger footprint and dependency requirements. The Deno edition is perfect for ad-hoc use, CI/CD pipelines, or quick auditing on machines where installing Node.js or SQLite is undesirable.

The Deno mode’s minimal permissions and zero network footprint also align well with privacy-conscious workflows, since all processing remains strictly local and contained.

Under the hood, both modes share the same parsing logic for editor telemetry, but the Deno CLI skips caching and serving a web UI, focusing on minimalism.

Explore the project

The Agentlytics repository is organized to separate concerns clearly:

  • The main Node.js backend and React frontend code handles data normalization, caching to SQLite, and serving the dashboard.
  • The Deno edition is implemented as a standalone mod.ts file providing a CLI interface with minimal permissions and no dependencies.

The README provides an overview of supported editors, the local SQLite cache location (~/.agentlytics/cache.db), and the dashboard’s default address (localhost:4637).

Exploring the source reveals per-editor parsers that handle the specific log or API formats for each AI coding tool, normalizing session metadata and cost data.

The local SQLite cache is crucial for performance and maintaining state between runs, allowing fast session search and comparison.

The React frontend organizes analytics into useful views:

  • Session search with filtering
  • Editor comparison charts
  • Project-level summaries
  • Cost estimation based on usage

The Deno edition’s README and source show how it reads editor files directly and outputs session summaries without relying on external libraries or a database.

This separation of concerns makes it easier to maintain the codebase and extend support for new editors or features.

verdict

Agentlytics is a solid tool for developers who want to track and analyze their AI coding assistant usage locally without any cloud dependencies. Its support for 17 editors and local-first architecture addresses a real pain point for privacy-conscious engineers juggling multiple AI coding tools.

The dual-mode design is a key strength, offering a rich Node.js + React dashboard for interactive exploration and a minimal Deno CLI for quick audits or CI/CD integration. The tradeoff is clear: the full edition requires Node.js and SQLite but delivers a polished UI, while the Deno edition is zero-dependency and permission-minimal but lacks persistent caching and the dashboard.

Limitations include the reliance on local log files which vary in quality and availability per editor, and the lack of a cloud sync or team-wide aggregation out of the box (though the MCP relay feature hints at team context sharing).

For developers interested in detailed, local analytics on AI coding usage — especially those juggling multiple editors — Agentlytics is worth exploring. Its codebase is practical and focused, and the design choices reflect a solid understanding of developer needs around privacy and lightweight tooling.


→ GitHub Repo: f/agentlytics ⭐ 497 · JavaScript