Skip to content

feat: sub-tabs в Cost Analytics (Overview / Breakdown / History)#86

Merged
vakovalskii merged 2 commits into
vakovalskii:mainfrom
NovakPAai:feat/analytics-subtabs
Apr 17, 2026
Merged

feat: sub-tabs в Cost Analytics (Overview / Breakdown / History)#86
vakovalskii merged 2 commits into
vakovalskii:mainfrom
NovakPAai:feat/analytics-subtabs

Conversation

@NovakPAai
Copy link
Copy Markdown
Collaborator

Что изменилось

Cost Analytics разбита на три вкладки для уменьшения информационной перегрузки.

Было

Все метрики выводились единым длинным скроллом: summary → burn rate → token breakdown → cost attribution → subscription vs API → daily chart → by project → top sessions → by agent. Страница перегружена, до нижних секций мало кто доходил.

Стало

Три вкладки с чёткой смысловой группировкой:

Вкладка Содержимое
Overview Summary-карточки, Burn Rate, покрытие данных по агентам, Cost by Agent
Breakdown Token Breakdown (input/output/cache), Cost Attribution stacked-bar, Cache hit rate + сэкономлено
History Subscription vs API (ROI), Daily cost chart (30 дней), Cost by Project, Top Sessions

Активная вкладка сохраняется в localStorage (codedash-analytics-tab) — переживает перезагрузку страницы.

Связанные PR

Включает фичи из:

Рекомендуется мёрджить после #83 и #85.

Затронутые файлы

Файл Изменения
src/frontend/app.js Новая switchAnalyticsTab() — переключение + сохранение в localStorage; renderAnalytics() — tab bar + три atab-pane секции
src/frontend/styles.css .analytics-tabs, .atab-btn, .atab-btn.active, .atab-pane

Как проверить

  1. node bin/cli.js run → открыть Cost Analytics
  2. Убедиться, что видны три таба: Overview / Breakdown / History
  3. Overview — summary карточки, burn rate
  4. Breakdown — token breakdown grid и stacked bar
  5. History — daily chart, top sessions, subscription секция
  6. Переключить таб → перезагрузить страницу → таб сохранился
  7. Проверить в dark / light / monokai темах — подчёркивание активного таба корректно

Нет breaking changes

Только frontend — CSS и JS. API /api/analytics/cost не тронут.

@vakovalskii
Copy link
Copy Markdown
Owner

Conflicts. Please rebase on latest main (after #83-85 merge).

@NovakPAai NovakPAai force-pushed the feat/analytics-subtabs branch 2 times, most recently from f689302 to abd2c71 Compare April 9, 2026 17:06
@vakovalskii
Copy link
Copy Markdown
Owner

Nice idea with sub-tabs. Note: analytics.js was extracted to a separate module in v6.15.5. Please rebase on latest main. Also check that the frontend cache (_analyticsHtmlCache) works with sub-tabs.

@vakovalskii
Copy link
Copy Markdown
Owner

Conflicts after merging recent PRs (#165 Kilo, #177 Linux focus, #172 WSL). Please rebase on latest main.

Pawel added 2 commits April 16, 2026 23:26
Добавлен стэкованный бар стоимости по типам токенов:
- Output (красный) — обычно 80-95% стоимости (в 5× дороже input)
- Input (синий) — прямые входные токены
- Cache write / Cache read — запись и чтение кэша

Пропорции рассчитаны через Sonnet-baseline ratios, спроецированные на
реальный totalCost — корректно работает при mix моделей (Opus/Sonnet/Haiku).

Дополнительные метрики:
- Cache hit rate (% входящих токенов обслужены из кэша)
- Cache savings (~сколько сэкономил кэш vs полная стоимость input)

Новые поля в /api/analytics/cost:
inputCostEst, outputCostEst, cacheReadCostEst, cacheCreateCostEst,
cacheSavings, cacheHitRate
@NovakPAai NovakPAai force-pushed the feat/analytics-subtabs branch from 05cd3f5 to cbe703a Compare April 16, 2026 20:27
@vakovalskii vakovalskii merged commit b136a5b into vakovalskii:main Apr 17, 2026
6 checks passed
vakovalskii added a commit that referenced this pull request Apr 17, 2026
…lytics tabs

Merged PRs:
- #182 (@rrr3try): Show Claude Code recap (away_summary) as session title
- #181 (@NovakPAai): Block bulk delete for filter-hidden sessions
- #180 (@NovakPAai): Detect new sessions in existing dirs + local-agent-mode
- #179 (@NovakPAai): Message sort toggle in session drawer + default setting
- #86 (@NovakPAai): Sub-tabs in Cost Analytics (Overview/Breakdown/History)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
vakovalskii added a commit that referenced this pull request Apr 17, 2026
…lytics tabs (#183)

Merged PRs:
- #182 (@rrr3try): Show Claude Code recap (away_summary) as session title
- #181 (@NovakPAai): Block bulk delete for filter-hidden sessions
- #180 (@NovakPAai): Detect new sessions in existing dirs + local-agent-mode
- #179 (@NovakPAai): Message sort toggle in session drawer + default setting
- #86 (@NovakPAai): Sub-tabs in Cost Analytics (Overview/Breakdown/History)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants