Skip to content

pi-insights: usage analytics and statistics page #49

Description

@setkyar

Problem / motivation

Users have no visibility into their pi usage patterns — how many sessions, token consumption, model preferences, time spent, peak usage hours, etc. Power users and teams want to understand and optimize their AI usage. The pi-insights project provides a reference implementation with token tracking, session analytics, and cost estimation.

Proposed solution

Add a pi-insights section to the Settings page (or as a standalone /insights page) that shows:

Summary stats:

  • Total sessions (all time, this week, today)
  • Total tokens consumed (input, output, cache read/write)
  • Estimated cost (configurable per-model pricing)
  • Total conversation time / active hours

Charts & visualizations:

  • Token usage over time (daily/weekly/monthly bar/line chart)
  • Model usage breakdown (pie/donut chart per provider/model)
  • Session length distribution
  • Peak activity hours heatmap

Session-level details:

  • Sortable table of sessions with token counts, model, duration
  • Click-through to the session detail page
  • Filter by date range, model, project

Data source:

  • Parse existing JSONL session files to extract token usage from message.usage entries.
  • Aggregate and cache results in SQLite for fast queries.
  • New GET /api/insights/summary, GET /api/insights/usage-timeline, GET /api/insights/sessions-table endpoints.

Inspiration: https://github.com/ygncode/pi-insights

Scope:

  • Frontend: New web/src/insights/ or web/src/settings/insights.js with charting (use lightweight chart library or Canvas/SVG). Integrate into settings page as a "Usage Insights" section or dedicated route.
  • Backend: New internal/server/insights.go with aggregation logic, SQLite caching, and API endpoints.
  • Reuse existing session-parsing infrastructure from internal/sessions/.

PR requirements:

  • E2E tests and screenshots showing the insights page with real session data (or seeded test data).
  • Charts must render correctly in both dark and light themes.

Alternatives considered

  • Could be a separate service/project entirely (like pi-insights already is), but integrating into pi-web gives a single-pane-of-glass experience without running another server.

Acknowledgement

  • I understand the maintainer triages requests and will invite a PR only if this moves forward.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions