[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-78672":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},78672,"agentsview","kenn-io\u002Fagentsview","kenn-io","Local-first session intelligence and analytics for coding agents, supporting Claude Code, Codex, and more than 20 other agents. Also: 100x faster replacement for ccusage!","https:\u002F\u002Fagentsview.io",null,"Go",1362,163,3,81,0,171,220,272,513,19.64,"MIT License",false,"main",[],"2026-06-12 02:03:48","# agentsview\n\nBrowse, search, and track costs across all your AI coding agents. One binary, no\naccounts, everything local.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fagentsview.io\u002Fscreenshots\u002Fdashboard.png\" alt=\"Analytics dashboard\" width=\"720\">\n\u003C\u002Fp>\n\n## Install\n\n```bash\n# macOS \u002F Linux\ncurl -fsSL https:\u002F\u002Fagentsview.io\u002Finstall.sh | bash\n\n# Windows\npowershell -ExecutionPolicy ByPass -c \"irm https:\u002F\u002Fagentsview.io\u002Finstall.ps1 | iex\"\n```\n\nOr download the **desktop app** (macOS \u002F Windows) from\n[GitHub Releases](https:\u002F\u002Fgithub.com\u002Fkenn-io\u002Fagentsview\u002Freleases) or via\nhomebrew: `brew install --cask agentsview`\n\nOr run the published Docker image:\n\n```bash\ndocker run --rm -p 127.0.0.1:8080:8080 \\\n  -v agentsview-data:\u002Fdata \\\n  -v \"$HOME\u002F.claude\u002Fprojects:\u002Fagents\u002Fclaude:ro\" \\\n  -v \"$HOME\u002F.forge:\u002Fagents\u002Fforge:ro\" \\\n  -e CLAUDE_PROJECTS_DIR=\u002Fagents\u002Fclaude \\\n  -e FORGE_DIR=\u002Fagents\u002Fforge \\\n  ghcr.io\u002Fkenn-io\u002Fagentsview:latest\n```\n\n## Quick Start\n\n```bash\nagentsview serve           # start server, open web UI\nagentsview usage daily     # print daily cost summary\n```\n\nOn first run, agentsview discovers sessions from every supported agent on your\nmachine, syncs them into a local SQLite database, and opens a web UI at\n`http:\u002F\u002F127.0.0.1:8080`.\n\n## Docker\n\nThe container image defaults to local `agentsview serve`. Set `PG_SERVE=1` to\nswitch the startup command to `agentsview pg serve` instead.\n\n`docker-compose.prod.yaml` is included as a production example:\n\n```bash\ndocker compose -f docker-compose.prod.yaml up -d\n```\n\nThe included compose file persists the agentsview data directory in a named\nvolume and mounts Claude, Codex, Forge, and OpenCode session roots read-only.\nThe container runs as root, so prefer a named volume for `\u002Fdata` over a host\nbind mount; if you do bind-mount, pre-create the directory with the desired\nownership to avoid root-owned files in your home directory.\n\nThe examples publish the UI on loopback only (`127.0.0.1`). If you need to\nexpose it beyond localhost, enable `--require-auth` and publish the port\nintentionally.\n\nImportant: a containerized agentsview instance can only discover agent sessions\nfrom directories you explicitly mount into the container. If you do not mount an\nagent's session directory and point the matching env var at it, that agent will\nnot appear in the UI.\n\nExample PostgreSQL-backed startup:\n\n```bash\ndocker run --rm -p 127.0.0.1:8080:8080 \\\n  -e PG_SERVE=1 \\\n  -e AGENTSVIEW_PG_URL='postgres:\u002F\u002Fuser:password@postgres.example.com:5432\u002Fagentsview?sslmode=require' \\\n  ghcr.io\u002Fkenn-io\u002Fagentsview:latest\n```\n\n## Token Usage and Cost Tracking\n\n`agentsview usage` is a fast, local replacement for ccusage and similar tools.\nIt tracks token consumption and compute costs across **all** your coding agents\n-- not just Claude Code. Because session data is already indexed in SQLite,\nqueries are over 100x faster than tools that re-parse raw session files on every\nrun.\n\n```bash\n# Daily cost summary (default: last 30 days)\nagentsview usage daily\n\n# Per-model breakdown\nagentsview usage daily --breakdown\n\n# Filter by agent and date range\nagentsview usage daily --agent claude --since 2026-04-01\n\n# One-line summary for shell prompts \u002F status bars\nagentsview usage daily --all --json\nagentsview usage statusline\n```\n\nFeatures:\n\n- Automatic pricing via LiteLLM rates (with offline fallback)\n- Prompt-caching-aware cost calculation (cache creation \u002F read tokens)\n- Per-model breakdown with `--breakdown`\n- Date filtering (`--since`, `--until`, `--all`), agent filtering (`--agent`)\n- JSON output (`--json`) for scripting\n- Timezone-aware date bucketing (`--timezone`)\n- Works standalone -- no server required, just run the command\n\n## Per-Session Details\n\n`agentsview session usage \u003Cid>` prints per-session token statistics plus a cost\nestimate for a single session. The output reports the session's total output\ntokens and peak context tokens, plus a cost estimate in USD (`cost_usd`) when\npricing is available for the session's model(s) (`has_cost`). Cost is computed\nfrom input\u002Foutput and cache tokens internally, but only the output-token and\npeak-context totals are reported alongside the cost.\n\n```bash\n# Print token usage and cost for a specific session\nagentsview session usage \u003Cid>\n\n# JSON output for scripting\nagentsview session usage \u003Cid> --format json\n```\n\nThe deprecated alias `agentsview token-use \u003Cid>` remains available for\ncompatibility and now also reports cost estimates.\n\n## Session Stats\n\n`agentsview stats` emits window-scoped analytics over recorded sessions: totals,\narchetypes (automation vs. quick\u002Fstandard\u002Fdeep\u002Fmarathon), distributions for\nsession duration, user-message count, peak context, and tools-per-turn, plus\ncache economics, tool\u002Fmodel\u002Fagent mix, and a temporal hourly breakdown. The\n`--format json` output follows a versioned v1 schema (`schema_version: 1`)\nsuitable for downstream consumers.\n\nBy default, `stats` only reads the local SQLite archive. Git-derived outcome\nmetrics are opt-in because they can be slow or brittle on large\u002Fmissing repos:\nuse `--include-git-outcomes` for commits\u002FLOC\u002Ffiles changed, and\n`--include-github-outcomes` for GitHub PR counts via `gh` (this also enables git\noutcomes).\n\n```bash\n# Human-readable summary over the last 28 days\nagentsview stats\n\n# Machine-readable JSON over a fixed date range\nagentsview stats --format json --since 2026-04-01 --until 2026-04-15\n\n# Restrict to one agent and inspect the schema\nagentsview stats --format json --agent claude | jq '.schema_version'\n\n# Include expensive local git outcome metrics explicitly\nagentsview stats --include-git-outcomes\n```\n\n## Session Browser\n\n| Dashboard                                                     | Session viewer                                                          |\n| ------------------------------------------------------------- | ----------------------------------------------------------------------- |\n| ![Dashboard](https:\u002F\u002Fagentsview.io\u002Fscreenshots\u002Fdashboard.png) | ![Session viewer](https:\u002F\u002Fagentsview.io\u002Fscreenshots\u002Fmessage-viewer.png) |\n\n| Search                                                          | Activity heatmap                                          |\n| --------------------------------------------------------------- | --------------------------------------------------------- |\n| ![Search](https:\u002F\u002Fagentsview.io\u002Fscreenshots\u002Fsearch-results.png) | ![Heatmap](https:\u002F\u002Fagentsview.io\u002Fscreenshots\u002Fheatmap.png) |\n\n- **Full-text search** across all message content (FTS5)\n- **Token usage and cost dashboard** -- per-session and per-model cost\n  breakdowns, daily spend charts, all in the web UI\n- **Analytics dashboard** -- activity heatmaps, tool usage, velocity metrics,\n  project breakdowns\n- **Live updates** via SSE as active sessions receive new messages\n- **Keyboard-first** navigation (`j`\u002F`k`\u002F`[`\u002F`]`, `Cmd+K` search, `?` for all\n  shortcuts)\n- **Export** sessions as HTML or publish to GitHub Gist\n\n## Supported Agents\n\nagentsview auto-discovers sessions from all of these:\n\n| Agent              | Session Directory                                      |\n| ------------------ | ------------------------------------------------------ |\n| Claude Code        | `~\u002F.claude\u002Fprojects\u002F`                                  |\n| Codex              | `~\u002F.codex\u002Fsessions\u002F`                                   |\n| Copilot CLI        | `~\u002F.copilot\u002F`                                          |\n| Gemini CLI         | `~\u002F.gemini\u002F`                                           |\n| OpenCode           | `~\u002F.local\u002Fshare\u002Fopencode\u002F`                             |\n| OpenHands CLI      | `~\u002F.openhands\u002Fconversations\u002F`                          |\n| Cursor             | `~\u002F.cursor\u002Fprojects\u002F`                                  |\n| Amp                | `~\u002F.local\u002Fshare\u002Famp\u002Fthreads\u002F`                          |\n| iFlow              | `~\u002F.iflow\u002Fprojects\u002F`                                   |\n| Zencoder           | `~\u002F.zencoder\u002Fsessions\u002F`                                |\n| VSCode Copilot     | `~\u002FLibrary\u002FApplication Support\u002FCode\u002FUser\u002F` (macOS)     |\n| Pi                 | `~\u002F.pi\u002Fagent\u002Fsessions\u002F`                                |\n| Qwen Code          | `~\u002F.qwen\u002Fprojects\u002F`                                    |\n| OpenClaw           | `~\u002F.openclaw\u002Fagents\u002F`                                  |\n| QClaw              | `~\u002F.qclaw\u002Fagents\u002F`                                     |\n| Kimi               | `~\u002F.kimi\u002Fsessions\u002F`                                    |\n| Kiro CLI           | `~\u002F.kiro\u002Fsessions\u002Fcli\u002F`, `~\u002F.local\u002Fshare\u002Fkiro-cli\u002F`    |\n| Kiro IDE           | `~\u002FLibrary\u002FApplication Support\u002FKiro\u002F` (macOS)          |\n| Cortex Code        | `~\u002F.snowflake\u002Fcortex\u002Fconversations\u002F`                   |\n| Hermes Agent       | `~\u002F.hermes\u002Fsessions\u002F`                                  |\n| WorkBuddy          | `~\u002F.workbuddy\u002Fprojects\u002F`                               |\n| Forge              | `~\u002F.forge\u002F`                                            |\n| Piebald            | `~\u002F.local\u002Fshare\u002Fpiebald\u002F`                              |\n| Warp               | `~\u002F.warp\u002F` (platform-dependent)                        |\n| Positron Assistant | `~\u002FLibrary\u002FApplication Support\u002FPositron\u002FUser\u002F` (macOS) |\n| Antigravity        | `~\u002F.gemini\u002Fantigravity\u002F`                               |\n| Antigravity CLI    | `~\u002F.gemini\u002Fantigravity-cli\u002F` (summary mode)            |\n\nEach directory can be overridden with an environment variable. See the\n[configuration docs](https:\u002F\u002Fagentsview.io\u002Fconfiguration\u002F) for details.\n\n## PostgreSQL Sync\n\nPush session data to a shared PostgreSQL instance for team dashboards:\n\n```bash\nagentsview pg push       # push local data to PG\nagentsview pg serve      # serve web UI from PG (read-only)\n```\n\nSee [PostgreSQL docs](https:\u002F\u002Fagentsview.io\u002Fpostgresql\u002F) for setup and\nconfiguration.\n\n## Privacy\n\nNo telemetry, no analytics, no accounts. All data stays on your machine. The\nserver binds to `127.0.0.1` by default. The only outbound request is an optional\nupdate check on startup (disable with `--no-update-check`).\n\n## Documentation\n\nFull docs at **[agentsview.io](https:\u002F\u002Fagentsview.io)**:\n[Quick Start](https:\u002F\u002Fagentsview.io\u002Fquickstart\u002F) --\n[Usage Guide](https:\u002F\u002Fagentsview.io\u002Fusage\u002F) --\n[CLI Reference](https:\u002F\u002Fagentsview.io\u002Fcommands\u002F) --\n[Configuration](https:\u002F\u002Fagentsview.io\u002Fconfiguration\u002F) --\n[Architecture](https:\u002F\u002Fagentsview.io\u002Farchitecture\u002F)\n\n______________________________________________________________________\n\n## Development\n\nRequires Go 1.26+ (CGO), Node.js 22+.\n\n```bash\nmake dev            # Go server (dev mode)\nmake frontend-dev   # Vite dev server (run alongside make dev)\nmake build          # build binary with embedded frontend\nmake install        # install to ~\u002F.local\u002Fbin\n```\n\n```bash\nmake test           # Go tests (CGO_ENABLED=1 -tags fts5)\nmake lint           # golangci-lint + NilAway\nmake nilaway        # NilAway through custom golangci-lint\nmake e2e            # Playwright E2E tests\n```\n\nPre-commit hooks via [prek](https:\u002F\u002Fgithub.com\u002Fj178\u002Fprek): run `make lint-tools`\nand `make install-hooks` after cloning (requires `prek` and `uv`).\n\n### Project Layout\n\n```\ncmd\u002Fagentsview\u002F     CLI entrypoint\ninternal\u002F           Go packages (config, db, parser, server, sync, postgres)\nfrontend\u002F           Svelte 5 SPA (Vite, TypeScript)\ndesktop\u002F            Tauri desktop wrapper\n```\n\n## Acknowledgements\n\nInspired by\n[claude-history-tool](https:\u002F\u002Fgithub.com\u002Fandyfischer\u002Fai-coding-tools\u002Ftree\u002Fmain\u002Fclaude-history-tool)\nby Andy Fischer and\n[claude-code-transcripts](https:\u002F\u002Fgithub.com\u002Fsimonw\u002Fclaude-code-transcripts) by\nSimon Willison.\n\n## License\n\nMIT\n","agentsview 是一个本地优先的会话智能和分析工具，专为编码助手如 Claude Code、Codex 等超过20种代理设计。其核心功能包括浏览、搜索以及跨所有AI编码代理的成本追踪，并且提供了一个比ccusage快100倍的替代方案。该工具以Go语言编写，支持通过单一二进制文件安装使用，无需账户注册，所有数据存储于本地SQLite数据库中，确保了用户数据的安全与隐私。适用于需要对多个AI辅助编程工具进行统一管理和成本控制的开发者或团队，特别是那些重视数据安全和个人隐私保护的场景。",2,"2026-06-11 03:57:09","high_star"]