One local index covers dozens of coding-agent formats
AgentsView scans the session stores left by Claude Code, Codex, Gemini CLI, Copilot, OpenCode, Aider, and many other coding agents. It normalizes those records into SQLite and provides a browser, REST API, and command-line reports. The supported-agent table spans dozens of formats, including JSONL, SQLite databases, IDE storage, and exported sidecars. That range is the reason to use it: one search can cross tools that otherwise keep separate histories.
The browser exposes full-text search, session details, activity heatmaps, tool and model usage, recent file edits, and exports. Semantic search is optional and can use an OpenAI-compatible embeddings endpoint. Usage commands report daily totals, per-model breakdowns, output tokens, peak context, and estimated cost. AgentsView can also capture one claude -p or codex exec --json run without starting its daemon, which fits CI jobs that need a versioned usage record.
The default loopback service is safer than the team modes
First run syncs discovered sessions to a local SQLite database and serves the interface at 127.0.0.1:8080. The server validates the Host header against DNS rebinding and asks remote users to configure the exact public URL or allowed origins. If the UI leaves loopback, the README says to enable --require-auth. These defaults suit a personal archive containing prompts, code fragments, paths, tool inputs, and model responses.
Shared operation is more involved. PostgreSQL can collect sessions from multiple machines, and S3-compatible roots can feed Claude or Codex histories into a central instance. DuckDB is a mirror for portable analytics or read-only serving, while Quack can expose that mirror remotely. The README says plain non-loopback Quack needs an explicit insecure flag and should sit behind a trusted tunnel or proxy. Each backend moves the same sensitive records into a larger access boundary.
What happened when we ran it
Our sandbox installed 532 Go packages in 65 seconds. Building commit c276c9c took 3 seconds. The test command then failed after 88 seconds: 17 packages passed and 29 failed out of 46. The tail shows successful packages for recall, secrets, signals, skills, telemetry, update, usage facts, and web, followed by a final FAIL. It does not include the individual failure messages, so the cause of the 29 failures is unknown from the supplied evidence.
The checkout was large at 2,524 files, roughly 955,113 lines of source, and 33.3 MB. Our scan found 14 CI workflow files and a Dockerfile, but no tests directory. Go tests commonly live beside source files, and the command clearly found 46 packages. These facts describe repository structure and our exact run, not a claim that CI or release binaries are currently broken.
We used an unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets. The build result did not exercise live Claude, Codex, Copilot, S3, PostgreSQL, or embeddings integrations. Before adoption, rerun the failing packages with complete logs on a supported host and compare the published binary against the same session formats you actually use. Parser breadth creates many paths that one synthetic archive cannot cover.
Issue 901 leaves team transcript privacy to the operator
Open issue 901 asks for aggregate-only sync, per-session sharing policies, and role-based visibility. Its premise is direct: a shared PostgreSQL dashboard can contain prompts, responses, code, tool data, incident details, and accidental secrets, while a team may only want usage and workflow metrics. The requested member, analyst, and administrator roles are proposals in an open issue, not documented current behavior.
Authentication controls entry to a shared server; it does not decide which authenticated person may read which colleague's transcript. A team should assume shared users can reach the stored session content unless a current deployment test proves otherwise. Start with local use or a tightly held administrator instance. If aggregate reporting is the goal, derive and publish the approved metrics separately instead of copying raw archives by default.
Telemetry is narrower than the session database. The README says a daemon_active event goes to PostHog on startup and every 24 hours with a random install ID, version, commit, operating system, and CPU architecture. It says prompts, projects, paths, accounts, and machine identity are excluded. Two environment variables disable the ping, and the update check can also be switched off.
Issue 1492 shows remote sync can copy unrelated files
Issue 1492 reports a remote mirror reaching 11 GB because Cursor, VS Code Copilot, and Zed roots were copied recursively. The reported mirror included extension data, language servers, packages, canvases, MCP metadata, and files named mcp_auth.json. The proposed fix narrows each provider to the files its parser needs. This report targets HTTP remote sync, not ordinary local indexing or every provider.
The practical rule is to inspect a manifest and a small destination before enabling continuous remote sync. Mounting source directories read-only protects the source but does not stop sensitive files from being copied elsewhere. Check file classes, destination permissions, retention, backup policy, and deletion behavior. A central archive built for search can become a second long-lived copy of material developers assumed stayed inside an IDE profile.
Cost figures are estimates, and issue 1452 proves why
AgentsView obtains pricing from LiteLLM and OpenRouter with an offline fallback. Issue 1452 shows a specific error in v0.41.1: 1-hour Claude cache writes were calculated at the 5-minute rate. In the reporter's sample, Claude Code recorded $0.225533 while AgentsView produced $0.157539. The issue traces the mismatch to ignored nested TTL counters and one retained cache-write price.
That is precise enough to disqualify the dashboard as a billing ledger until the relevant path is fixed and verified. It remains useful for directional usage, session comparisons, and spotting unpriced models. Reconcile estimates with provider statements before budgeting or charging teams. Release v0.41.1 arrived August 18, 2026, and the repository was pushed again on August 26, with 111 combined issues and pull requests and 5,279 stars. Maintenance is active, while the open reports identify real limits worth testing.

