npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

agentgraphed

v0.5.9

Published

Claude Code usage monitor — local-first analytics dashboard for Claude Code & Codex CLI sessions. See every session, every project, every dollar. No login, no cloud.

Readme

AgentGraphed

Local-first history, search, and analytics for Claude Code and Codex.

Find old sessions, resume unfinished work, search past conversations, and see usage across every AI coding project on your machine.

No login. No cloud. Nothing leaves your computer.

🌐 Site: https://agentgraphed.com · 📦 npm: https://www.npmjs.com/package/agentgraphed

npm version license node

AgentGraphed dashboard


What it does

AgentGraphed automatically indexes every Claude Code and Codex session on your machine. With it you can:

  • Find old work you forgot about — every session, searchable.
  • Resume abandoned sessions with one click.
  • Browse project history across every git repo you've touched.
  • Generate context for a new chat from any past conversation.
  • Track usage and costs across providers, models, and projects.

Everything stays local. AgentGraphed reads the JSONL logs your CLI tools were already writing (~/.claude/projects/, ~/.codex/sessions/) and turns them into a real dashboard.

Try it

npx agentgraphed

That's the whole install. No clone, no signup, no config file. The dashboard opens at http://localhost:3737. Re-run any time, or leave it running — it re-scans every 5 minutes.

Prefer a global install?

npm install -g agentgraphed
agentgraphed

Don't have npx / Node? Install Node 20+ from https://nodejs.org (the LTS version is fine).

What to expect on first run

  1. npx agentgraphed downloads the package once (~15 MB, takes 30-60s on a typical connection). Subsequent runs start in seconds — npm caches the package.
  2. You'll see one npm warn exec line and a couple of npm warn deprecated warnings from transitive dependencies. Harmless.
  3. The dashboard server boots:
    › Starting AgentGraphed on http://localhost:3737
    › Scanning local AI coding sessions…
      Found 142 Claude + 8 Codex sessions (14821 messages indexed in 1943ms)
    › Ready. Press Ctrl+C to stop.
  4. Your browser opens to the dashboard automatically.
  5. To stop the server, hit Ctrl+C. Your indexed data stays at ~/.agentgraphed/agentgraphed.sqlite for next time — even after Claude Code rotates the original log files off disk.

Screenshots

Features

  • Timeline — every session grouped by day, with STARTED · SPANS Nd / CONTINUED / CLOSED badges so multi-day work doesn't hide on a single bucket.
  • Sessions — read past conversations in a chat-bubble view; search by content, project, provider, or model.
  • Resume — one click copies cd <cwd> && claude --resume <id> to your clipboard.
  • Generate context (optional, BYO LLM key) — produces a primer to paste into a fresh chat so you don't lose context when resuming.
  • Projects — auto-detected from git repo roots; per-project usage, model spend, and session history.
  • Dashboard — usage chart, KPIs, top projects, work-type breakdown, per-model cost. Filter the whole dashboard by project or model family.
  • Auto-classification (optional, BYO LLM key, on by default) — categorizes sessions as Feature / Debugging / Planning / Refactor / Styling / DevOps / Data / Payments / Docs / Content and writes a clean past-tense title for each. Typically a few cents for hundreds of sessions.
  • Live quota probe (optional) — hover the sidebar widget to read your live Anthropic 5h/7d and OpenAI per-minute rate-limit utilization. Single-token probes (~$0.00006 each).
  • Share — generate a stat-card PNG of your dashboard, project, or session view and copy it straight to your clipboard.
  • Background ingest — re-scans local logs every 5 minutes; new sessions appear without you doing anything.
  • Cost estimates — LiteLLM's auto-updating retail pricing for 2700+ models. Treat as directional.
  • Range picker — 7d / 30d / 90d / all-time on every chart, with auto-suggested log scale when the data is long-tailed.

Privacy

AgentGraphed is local-first by default. Everything lives in ~/.agentgraphed/agentgraphed.sqlite on your machine.

There are exactly three things that can ever leave your computer, and every one of them is opt-in:

  1. LLM session classification + "Summarize for new chat" — only fires when you click the button or enable auto-classify. Sends a sampled set of your own prompts to your configured LLM provider with your API key. Nothing reaches AgentGraphed servers.

  2. The opt-in leaderboard. Off by default. When you turn it on, every six hours (or sooner if you finished a new session since the last submit) your local app posts a batch of session-level rows to https://agentgraphed.com/api/leaderboard/submit. Each row contains: the handle you picked, a random per-session UUID, start time, duration, provider, model, tokens by kind (input/output/cache_read/cache_write), est. cost, and message count. No prompts, no project names, no session content, no file paths, no git branches, no API keys. Full breakdown of what is and isn't sent: https://agentgraphed.com/privacy.

  3. API keys are stored in plaintext in your local SQLite file — same threat model as ~/.aws/credentials or a .env. Don't commit your home folder to git.

To verify any of this, read the source. The leaderboard submitter is one function (maybeSubmitLeaderboard) in src/lib/ingest/auto.ts. The wire format is one schema — what's not in the schema isn't sent.

To audit or delete your leaderboard data:

# See everything we have for your handle
curl "https://agentgraphed.com/api/leaderboard/my-data?handle=YOUR_HANDLE"

# Delete it all
curl -X DELETE "https://agentgraphed.com/api/leaderboard/my-data?handle=YOUR_HANDLE"

Supported sources

  • Claude Code — reads ~/.claude/projects/*/*.jsonl
  • Codex CLI — reads ~/.codex/sessions/YYYY/MM/DD/*.jsonl

More adapters coming. If you want a specific one, open an issue.

Optional: LLM session titles & categories

Without an API key, sessions show the first line of the first prompt as the title. With a key:

  • Anthropic — Haiku 4.5 (default) gives clean past-tense titles like "Fixed Stripe checkout double-decimal bug"
  • OpenAI — GPT-5 mini works equally well, often cheaper

Click Settings → LLM provider, paste your key, then Classify uncategorized. Cost is fractions of a cent per session — typically $0.01–0.03 for a few hundred sessions.

Configuration

Environment variables:

| Variable | Default | What it does | | ------------------------- | ----------------------------------------- | ---------------------------------------------- | | AGENTGRAPHED_PORT | 3737 | Starting port (auto-increments if in use) | | AGENTGRAPHED_DATA_DIR | ~/.agentgraphed | Where to store the SQLite DB | | AGENTGRAPHED_CLAUDE_DIR | ~/.claude/projects | Override Claude Code log location | | AGENTGRAPHED_CODEX_DIR | ~/.codex/sessions | Override Codex log location |

Log directories can also be edited at Settings → Data sources without restarting.

Development

git clone https://github.com/sudomichael/agentgraphed.git
cd agentgraphed
npm install
npm run dev

Open http://localhost:3737. Hot reload, source under src/.

To produce a publishable build:

npm run build         # builds Next.js standalone bundle
npm pack              # creates agentgraphed-X.Y.Z.tgz

License

MIT © Michael Patrick


Built and maintained by @ushercakes.