Local-first AI FinOps and productivity analytics for developers and engineering teams.
AiTA is a Chapar AI product that helps developers understand how AI coding assistants consume tokens, where estimated costs are generated, and which repositories, models, tasks, users, and engineering skills drive that usage.
The Visual Studio Code extension brings AiTA’s analytics directly into the editor. It uses a bundled TypeScript runtime, a local SQLite database, and a local React dashboard. Supported environments are OpenAI Codex, Claude Code, Gemini CLI, and GitHub Copilot.
The extension’s marketplace and installed-extension tile uses the 112×112 AiTA logo on a white background. Its Activity Bar icon remains a separate monochrome, theme-aware asset for correct rendering in VS Code.
Understand AI-assisted development
AiTA turns fragmented local agent histories into practical engineering intelligence:
- Which provider and model consumed the most tokens?
- Which repository generated the highest estimated cost?
- How much usage came from input, cached-input, output, and reasoning tokens?
- Which conversations, tasks, tools, and skills were associated with the most usage?
- Which local users or accounts generated the activity?
- Are model names recognized and priced correctly?
- Is source data active, missing, partial, estimated, or unpriced?
Complete local analytics pipeline
AiTA reads local session data, normalizes it on your machine, and stores structured analytics under:
.token-analyzer/token-analyzer.sqlite
The normalized model includes provider and account context, model identity, repository attribution, task classification, token categories, skill and tool activity, engineering outcome signals, parser diagnostics, source health, and estimated public API cost.
Raw transcript bodies are processed in memory for explicit signals and are not stored in the analytics database. Complete rescans mark disappeared sources and their conversations stale; stale conversations are excluded from active totals but retained until you explicitly prune them.
Multi-provider usage analytics
| Provider | Local source analyzed |
|---|---|
| OpenAI Codex | Codex state database and rollout JSONL files |
| Claude Code | Project session JSONL files |
| Gemini CLI | Chat histories and project mappings |
| GitHub Copilot | Visual Studio Code workspace chat sessions |
Reports and the dashboard can filter by provider, normalized model, relative date range, and local user scope.
Token and estimated-cost intelligence
When available, AiTA separates:
- Input tokens
- Cached-input tokens
- Output tokens
- Reasoning tokens
- Total tokens
During a scan, AiTA retrieves public OpenAI API pricing or uses a configured local pricing catalog. Matching prices are applied only to supported Codex/OpenAI usage. Reports show the raw and normalized model, selected pricing rule, exact/fallback/unpriced status, token-bucket rates, and estimated cost.
Costs are estimates. Public API prices can differ from subscription, enterprise, promotional, internal, or negotiated prices.
Engineering context, not just totals
AiTA attributes conversations to repositories and classifies work from explicit, lightweight signals. Skill attribution uses turn-level token usage; when multiple skills are active in one turn, usage is divided evenly. Conversation totals remain context and are not summed as skill attribution.
Where evidence exists, AiTA records outcomes such as files edited, tests and builds run, browser verification, Git activity, pull-request activity, blocked work, and user termination.
Dashboard
The responsive React dashboard includes:
- Summary token and estimated-cost metrics
- Provider, user, model, and relative-date filters
- Daily model trends
- Cost-check and budget-period summaries
- Projected month-end cost
- Highest-burn repository and model
- Repository, model, task, conversation, skill, and tool breakdowns
- Source-health inventory and stale-conversation counts
- Model-drift and parser-diagnostic views
Extension defaults are applied when the dashboard opens, so reports and visual analytics use consistent range, provider, user, and model settings.
Visual Studio Code commands
- AiTA: Scan AI Agent History — explicitly scan configured local histories and open a report snapshot.
- AiTA: Show AI Token Analyzer Report — open the current Markdown report.
- AiTA: Open Dashboard in VS Code — start and embed the local dashboard.
- AiTA: Open Dashboard in Browser — open the same localhost dashboard externally.
- AiTA: Show Model Drift Report — inspect raw/normalized models and pricing matches.
- AiTA: Export Data — export CSV, JSON, or Markdown.
- AiTA: Show Effective Config — inspect resolved local settings.
- AiTA: Select User Scope — choose consolidated or per-user reporting.
- AiTA: Refresh Summary — refresh the Activity Bar view.
Opening the Activity Bar does not scan automatically; scans remain an explicit user action.
Settings
| Setting | Default | Purpose |
|---|---|---|
codexTokenAnalyzer.repoRoot |
"" |
Optional development checkout; empty uses bundled runtime |
codexTokenAnalyzer.dbPath |
"" |
Optional shared SQLite path |
codexTokenAnalyzer.codexDir |
"" |
Optional Codex home |
codexTokenAnalyzer.claudeDir |
"" |
Optional Claude home |
codexTokenAnalyzer.geminiDir |
"" |
Optional Gemini home |
codexTokenAnalyzer.copilotDir |
"" |
Optional Copilot workspace storage |
codexTokenAnalyzer.dashboardPort |
4317 |
Local dashboard port |
codexTokenAnalyzer.defaultRange |
1m |
Default date range |
codexTokenAnalyzer.defaultProvider |
all |
Default provider |
codexTokenAnalyzer.defaultScope |
all |
Consolidated or per-user scope |
codexTokenAnalyzer.defaultUserKey |
"" |
User key for per-user scope |
codexTokenAnalyzer.defaultModel |
"" |
Optional normalized model |
codexTokenAnalyzer.nodeExecutable |
node |
Node.js executable |
Requirements and first use
- Visual Studio Code 1.96 or newer
- Node.js 22 or newer
- npm available on
PATH
No repository clone is required. The extension copies its bundled runtime into VS Code global storage and runs npm ci --omit=dev on first use to install the platform-native SQLite dependency from the bundled lockfile.
Run AiTA: Scan AI Agent History, then open the dashboard or report.
Privacy by design
- Histories and normalized results remain on your machine.
- Raw transcripts are not persisted in the normalized database.
- Standard reports omit full message content.
- The dashboard binds to
127.0.0.1by default. - Configured redaction is applied to persisted user labels and text-like diagnostic metadata.
- Filesystem paths and repository metadata remain local but can be sensitive; review exports before sharing them.
- No source code or conversation data needs to be uploaded to Chapar AI.
Accuracy and transparency
AiTA records parser warnings, missing sources, partial parses, unrecognized models, pricing-match quality, unpriced conversations, and actual/estimated/mixed token accounting. Limited scans never mark unseen records stale; only a complete inventory scan reconciles source disappearance.
Product vision
AiTA’s wider mission is to become a Developer AI FinOps platform:
How much AI did we consume, where was it spent, and what engineering value did it help produce?
Product: AiTA — AI Token Analyzer
Company: Chapar AI
Category: Developer tooling, AI analytics, AI FinOps
Technology: TypeScript, Node.js, SQLite, React, Vite, Visual Studio Code
Principle: Local-first, privacy-first, transparent analytics