Skip to main content

Local web viewer for AI agent sessions

Project description

agentsview

Browse, search, and track costs across all your AI coding agents. One binary, no accounts, everything local.

Analytics dashboard

Install

# macOS / Linux
curl -fsSL https://agentsview.io/install.sh | bash

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://agentsview.io/install.ps1 | iex"

Or download the desktop app (macOS / Windows) from GitHub Releases.

Or run the published Docker image:

docker run --rm -p 127.0.0.1:8080:8080 \
  -v agentsview-data:/data \
  -v "$HOME/.claude/projects:/agents/claude:ro" \
  -e CLAUDE_PROJECTS_DIR=/agents/claude \
  ghcr.io/wesm/agentsview:latest

Quick Start

agentsview serve           # start server, open web UI
agentsview usage daily     # print daily cost summary

On first run, agentsview discovers sessions from every supported agent on your machine, syncs them into a local SQLite database, and opens a web UI at http://127.0.0.1:8080.

Docker

The container image defaults to local agentsview serve. Set PG_SERVE=1 to switch the startup command to agentsview pg serve instead.

docker-compose.prod.yaml is included as a production example:

docker compose -f docker-compose.prod.yaml up -d

The included compose file persists the agentsview data directory in a named volume and mounts Claude, Codex, and OpenCode session roots read-only. The container runs as root, so prefer a named volume for /data over a host bind mount; if you do bind-mount, pre-create the directory with the desired ownership to avoid root-owned files in your home directory.

The examples publish the UI on loopback only (127.0.0.1). If you need to expose it beyond localhost, enable --require-auth and publish the port intentionally.

Important: a containerized agentsview instance can only discover agent sessions from directories you explicitly mount into the container. If you do not mount an agent's session directory and point the matching env var at it, that agent will not appear in the UI.

Example PostgreSQL-backed startup:

docker run --rm -p 127.0.0.1:8080:8080 \
  -e PG_SERVE=1 \
  -e AGENTSVIEW_PG_URL='postgres://user:password@postgres.example.com:5432/agentsview?sslmode=require' \
  ghcr.io/wesm/agentsview:latest

Token Usage and Cost Tracking

agentsview usage is a fast, local replacement for ccusage and similar tools. It tracks token consumption and compute costs across all your coding agents -- not just Claude Code. Because session data is already indexed in SQLite, queries are over 100x faster than tools that re-parse raw session files on every run.

# Daily cost summary (default: last 30 days)
agentsview usage daily

# Per-model breakdown
agentsview usage daily --breakdown

# Filter by agent and date range
agentsview usage daily --agent claude --since 2026-04-01

# One-line summary for shell prompts / status bars
agentsview usage daily --all --json
agentsview usage statusline

Features:

  • Automatic pricing via LiteLLM rates (with offline fallback)
  • Prompt-caching-aware cost calculation (cache creation / read tokens)
  • Per-model breakdown with --breakdown
  • Date filtering (--since, --until, --all), agent filtering (--agent)
  • JSON output (--json) for scripting
  • Timezone-aware date bucketing (--timezone)
  • Works standalone -- no server required, just run the command

Session Stats

agentsview stats emits window-scoped analytics over recorded sessions: totals, archetypes (automation vs. quick/standard/deep/marathon), distributions for session duration, user-message count, peak context, and tools-per-turn, plus cache economics, tool/model/agent mix, and a temporal hourly breakdown. The --format json output follows a versioned v1 schema (schema_version: 1) suitable for downstream consumers.

By default, stats only reads the local SQLite archive. Git-derived outcome metrics are opt-in because they can be slow or brittle on large/missing repos: use --include-git-outcomes for commits/LOC/files changed, and --include-github-outcomes for GitHub PR counts via gh (this also enables git outcomes).

# Human-readable summary over the last 28 days
agentsview stats

# Machine-readable JSON over a fixed date range
agentsview stats --format json --since 2026-04-01 --until 2026-04-15

# Restrict to one agent and inspect the schema
agentsview stats --format json --agent claude | jq '.schema_version'

# Include expensive local git outcome metrics explicitly
agentsview stats --include-git-outcomes

Session Browser

Dashboard Session viewer
Dashboard Session viewer
Search Activity heatmap
Search Heatmap
  • Full-text search across all message content (FTS5)
  • Token usage and cost dashboard -- per-session and per-model cost breakdowns, daily spend charts, all in the web UI
  • Analytics dashboard -- activity heatmaps, tool usage, velocity metrics, project breakdowns
  • Live updates via SSE as active sessions receive new messages
  • Keyboard-first navigation (j/k/[/], Cmd+K search, ? for all shortcuts)
  • Export sessions as HTML or publish to GitHub Gist

Supported Agents

agentsview auto-discovers sessions from all of these:

Agent Session Directory
Claude Code ~/.claude/projects/
Codex ~/.codex/sessions/
Copilot CLI ~/.copilot/
Gemini CLI ~/.gemini/
OpenCode ~/.local/share/opencode/
OpenHands CLI ~/.openhands/conversations/
Cursor ~/.cursor/projects/
Amp ~/.local/share/amp/threads/
iFlow ~/.iflow/projects/
VSCode Copilot ~/Library/Application Support/Code/User/ (macOS)
Pi ~/.pi/agent/sessions/
OpenClaw ~/.openclaw/agents/
Kimi ~/.kimi/sessions/
Kiro CLI ~/.kiro/sessions/cli/
Kiro IDE ~/Library/Application Support/Kiro/ (macOS)
Cortex Code ~/.snowflake/cortex/conversations/

Each directory can be overridden with an environment variable. See the configuration docs for details.

PostgreSQL Sync

Push session data to a shared PostgreSQL instance for team dashboards:

agentsview pg push       # push local data to PG
agentsview pg serve      # serve web UI from PG (read-only)

See PostgreSQL docs for setup and configuration.

Privacy

No telemetry, no analytics, no accounts. All data stays on your machine. The server binds to 127.0.0.1 by default. The only outbound request is an optional update check on startup (disable with --no-update-check).

Documentation

Full docs at agentsview.io: Quick Start -- Usage Guide -- CLI Reference -- Configuration -- Architecture


Development

Requires Go 1.26+ (CGO), Node.js 22+.

make dev            # Go server (dev mode)
make frontend-dev   # Vite dev server (run alongside make dev)
make build          # build binary with embedded frontend
make install        # install to ~/.local/bin
make test           # Go tests (CGO_ENABLED=1 -tags fts5)
make lint           # golangci-lint + NilAway
make nilaway        # NilAway through custom golangci-lint
make e2e            # Playwright E2E tests

Pre-commit hooks via prek: run make lint-tools and make install-hooks after cloning (requires prek and uv).

Project Layout

cmd/agentsview/     CLI entrypoint
internal/           Go packages (config, db, parser, server, sync, postgres)
frontend/           Svelte 5 SPA (Vite, TypeScript)
desktop/            Tauri desktop wrapper

Acknowledgements

Inspired by claude-history-tool by Andy Fischer and claude-code-transcripts by Simon Willison.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

agentsview-0.28.0-py3-none-win_amd64.whl (8.1 MB view details)

Uploaded Python 3Windows x86-64

agentsview-0.28.0-py3-none-manylinux_2_28_x86_64.whl (7.9 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

agentsview-0.28.0-py3-none-manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

agentsview-0.28.0-py3-none-macosx_11_0_x86_64.whl (8.0 MB view details)

Uploaded Python 3macOS 11.0+ x86-64

agentsview-0.28.0-py3-none-macosx_11_0_arm64.whl (7.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file agentsview-0.28.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: agentsview-0.28.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 8.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for agentsview-0.28.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 616b16cc640b9b5accf925981209a101cfc4e597a4abfce59712980aab242e46
MD5 c30d7f666cff2e2163fd62df140427d1
BLAKE2b-256 2f8bc78eb46ef215a6cdd87a19e21c9534b458a0f351df05dcbdbfbd626009a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.28.0-py3-none-win_amd64.whl:

Publisher: release.yml on wesm/agentsview

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentsview-0.28.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for agentsview-0.28.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a1daf3432fc96934864d017c21773e015013e2ebed880139d5621bfef2541f78
MD5 25a601e57cf15cef07797b84f30a19aa
BLAKE2b-256 62de1a2113909f1f06a7d3e989611c876eb7d2967b2719e6954c1953764018f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.28.0-py3-none-manylinux_2_28_x86_64.whl:

Publisher: release.yml on wesm/agentsview

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentsview-0.28.0-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for agentsview-0.28.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 316de0f14acc1f73ae721219a1d3069e5185ebd9d9e1392ccbb6676bb857913f
MD5 77f4be380a7c4b1cf1c7b53fb8969ce8
BLAKE2b-256 73d2d2ce874138d3eb41e8f25e8c5241dd8752c79eee69a75e025f64b7536257

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.28.0-py3-none-manylinux_2_28_aarch64.whl:

Publisher: release.yml on wesm/agentsview

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentsview-0.28.0-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for agentsview-0.28.0-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5675142142fe062b33aa8e7b921d7b286e7ac38b876159f81fb29265f9750fba
MD5 9508d697cfc07155c48bc47a47caeeae
BLAKE2b-256 f9f242e5d02f230a84328014d3e04db295d5f2e2d9418a923dd9c89835b07d57

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.28.0-py3-none-macosx_11_0_x86_64.whl:

Publisher: release.yml on wesm/agentsview

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentsview-0.28.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentsview-0.28.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef1768ddadd1b82d7e59589ecc40425ee374d3dc6f53fa51a5ce2dac720a817d
MD5 49d8990e5ff5ed334ba54330bb0b002e
BLAKE2b-256 1a2b1348374883fde52bb83a9a23920489d50f88455fdf56b3ce8a2f99c27694

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.28.0-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on wesm/agentsview

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page