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" \
  -v "$HOME/.forge:/agents/forge:ro" \
  -e CLAUDE_PROJECTS_DIR=/agents/claude \
  -e FORGE_DIR=/agents/forge \
  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, Forge, 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/
Zencoder ~/.zencoder/sessions/
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/
Hermes Agent ~/.hermes/sessions/
Forge ~/.forge/
Piebald ~/.local/share/piebald/
Warp ~/.warp/ (platform-dependent)
Positron Assistant ~/Library/Application Support/Positron/User/ (macOS)

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.29.0-py3-none-win_amd64.whl (8.2 MB view details)

Uploaded Python 3Windows x86-64

agentsview-0.29.0-py3-none-manylinux_2_28_x86_64.whl (8.0 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

agentsview-0.29.0-py3-none-manylinux_2_28_aarch64.whl (7.3 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

agentsview-0.29.0-py3-none-macosx_11_0_x86_64.whl (8.1 MB view details)

Uploaded Python 3macOS 11.0+ x86-64

agentsview-0.29.0-py3-none-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: agentsview-0.29.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 8.2 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.29.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0c9b5bc2bcae9f39ebb59d01ebc574588b1e1e130e9907bbca737e18f7749ba6
MD5 a05ce1f90ae2af85929c10b53bbe6493
BLAKE2b-256 9d9126e454a1e0940ca5e26f0c5b0e315cc9044262ecd79b7402f50ec55bf232

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.29.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.29.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for agentsview-0.29.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f1cc740be6d097850516a848b08fa6b61934b700edaeebddbada20bcd6c284e0
MD5 10e69b88972fec7830d4de8161166335
BLAKE2b-256 4da3fbd0fed25381333e60675e52cbb4142c61701922dcd18d7ee2b8c7c3160a

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.29.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.29.0-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for agentsview-0.29.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e64c470cdb9885286ee3cd3cd79317f633cd77438a2f93bbec6a5949ee6b09ca
MD5 d90111b0d3b835271d4f9347d9e3b314
BLAKE2b-256 3a42a88a04bf936932bea8f5e64b5244e2ef6b1985e9e01a7dc74fc5f2cbe56a

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.29.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.29.0-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for agentsview-0.29.0-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 75f0e8973bb1f632f9233da04cf275feed30abddb1021f053af81d8c0275f397
MD5 aeca62b7ae756796b52fcb01a00b6eaf
BLAKE2b-256 5bc05191f8d5c2012af007b85f6345d1d10a515b255ae55409a219be9ab74d59

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.29.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.29.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentsview-0.29.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b7172f4dcced090a727905e4f1e853002d0eb3c0924e2b76b89101d37a545821
MD5 a18e87f010cc6a9ed51f9f69a9f28599
BLAKE2b-256 2062d50f2d34f067fd1a822b793475ea07f0a3643d254e730ba28177eca69af1

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentsview-0.29.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