← всі звіти · resource-dashboard-discovery.md

Resource Usage Dashboard — Discovery Report

Дата: 2026-04-20 Мета: інвентаризувати credentials у /srv/passepartout/ та перевірити наявність usage/billing API у 4 провайдерів (Anthropic, Replicate, Google Gemini, Google Cloud) під MVP дашборда моніторингу витрат.


1. TL;DR


2. Інвентар /srv/passepartout/

Permissions: корінь chmod 700 (root only). Всього 7 підтек + 3 root-файли.

2.1 Корінь

Шлях Призначення Тип mtime
/srv/passepartout/README.md Опис структури vault docs 2026-04-15
/srv/passepartout/google-andriy-savchenko.txt Gmail-акаунт Андрія Савченка (логін/пароль/recovery) для Reviews + Ad Analytics credentials (plaintext) 2026-04-15
/srv/passepartout/lifecell-esim.txt Дані lifecell eSIM (13 байт, ймовірно PIN/QR ID) plaintext 2026-04-15

2.2 /telegram/

Файл Призначення Тип mtime
arteggia-bot.token @arteggia_promo_bot (bot ID 8660071271), механіка «2× Arteggia → промокод Vertebra» Telegram bot token 2026-04-20
claude-bot.token Основний чат з Сергієм (systemd claude-bot) Telegram bot token 2026-04-15
pediatric-news-bot.token Проект Pediatric News (n8n) Telegram bot token 2026-04-15
tree-bot.token Tree Bot (lunar-hubble) Telegram bot token 2026-04-15
arteggia-bot.token.meta meta-опис docs 2026-04-20

2.3 /google/

Файл Призначення Тип mtime
gemini.key Gemini API key (AI Studio). ЗАБЛОКОВАНИЙ станом на 20.04: 403 на 2.5-моделях, 429 quota=0 на 2.0 API key 2026-04-15
gemini.key.meta meta з діагностикою блокування docs 2026-04-20
bigquery-sa.json Service account expense-bot@expense-bot-492610.iam — призначений для особистого BigQuery (назва не співпадає з ad-analytics-hub, виглядає як перенесений із старого projectу) GCP SA JSON 2026-04-16
ad-pipeline-worker-sa.json Service account ad-pipeline-worker@ad-analytics-hub.iam — для ad-analytics pipeline GCP SA JSON 2026-04-16
google-ads-developer-token.txt Google Ads API developer_token (basic access, MCC 191-068-9182) developer token 2026-04-16
mcc-account-ids.json Карта 38 брендів → Google Ads customer IDs (Humer, Zest, BioGaia, Fervex, etc.) reference data 2026-04-16
cookies-google-ads.json Браузерні куки Google Ads UI (для Puppeteer/Playwright scraping) session cookies 2026-04-16
cookies-looker-studio.json Куки Looker Studio session cookies 2026-04-15
cookies-sergey.json Загальні Google куки Сергія session cookies 2026-04-15

2.4 /replicate/

Файл Призначення Тип mtime
token.txt Replicate API token (org deltamedical, verified). Використовується med-detective (Llama 70B) + arteggia-bot (gemini-2.5-flash OCR) API token (r8_...) 2026-04-18
token.txt.meta meta-опис docs 2026-04-20

2.5 /meta/, /reviews/, /supabase/, /github/

Файл Призначення Тип mtime
meta/andrii-savchenko-fb.txt FB credentials для Ad Library + Threads plaintext 2026-04-15
meta/cookies-andrii-savchenko-fb.json FB session cookies session cookies 2026-04-15
reviews/cookies-add-ua.json Куки для Add.ua (відгуки) session cookies 2026-04-16
supabase/lunar-hubble.env Supabase URL + publishable key (lunar-hubble проект) env 2026-04-15
github/tokens.txt GitHub PAT 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. README заявляє expires 2026-05-14 (≈24 дні до експірації) PAT 2026-04-16

2.6 Висновки по інвентарю


3. API availability per provider

A) Anthropic — Admin API (Usage & Cost)

Є, документовано, production-ready.

Джерела:

B) Replicate

Офіційного billing/usage API НЕ МАЄ.

Джерела:

C) Google AI Studio (Gemini API)

Окремого usage/quota API НЕ МАЄ для AI Studio keys.

Джерела:

D) Google Cloud Platform — Cloud Billing + Monitoring

Є два рівні API.

D.1 Cloud Billing API (REST)

D.2 BigQuery Billing Export (ОСНОВНИЙ шлях до actual spend)

D.3 Cloud Monitoring API (quota & usage metrics)

Джерела:


4. Gap analysis

Провайдер Credential потрібен Є в passepartout? Якщо нема — як отримати
Anthropic (API usage + cost) Admin API key sk-ant-admin... ❌ НЕМАЄ Сергій → Claude Console → Settings → Admin Keys → Create. Вимагає org (не personal).
Anthropic (Claude Code per-user) той же Admin key + org на Team/Enterprise plan ❌ НЕМАЄ Див. вище + плюс перевірити чи поточний plan дозволяє Claude Code Analytics API.
Replicate (balance) немає API Workaround: cookies для /account/billing або власне архівування /v1/predictions + hardware tariff.
Replicate (usage approx) API token ✅ Є (replicate/token.txt)
Gemini (через AI Studio) немає API Прив'язати проект до Cloud Billing → піти через GCP шлях.
Gemini (через Vertex/Cloud Billing) SA з billing.viewer + monitoring.viewer на проекті з увімкненим billing ⚠️ частково: SA є, але ролі НЕ видані; проект expense-bot-492610 чи ad-analytics-hub — не зрозуміло який billing Сергій → IAM → видати роль roles/billing.viewer на billing account потрібному SA. Уточнити який GCP проект використовується під Gemini.
GCP Billing (corporate Deltamedical) SA + roles/billing.viewer на corp billing account + billing export у BigQuery ❌ НЕМАЄ 1) Дізнатись ID корпоративного billing account. 2) Увімкнути BigQuery Export. 3) Створити/перевикористати SA, видати billing.viewer + bigquery.dataViewer.
GCP Billing (personal Сергій) аналогічно ❌ НЕМАЄ Те саме на особистому billing account.
GCP Monitoring (quota per service) SA з monitoring.viewer на проекті ⚠️ SA є (2 шт), ролі явно не задокументовані Перевірити через gcloud projects get-iam-policy який у них рівень. Ймовірно для ad-analytics-hub є, для expense-bot ні.
GitHub PAT ghp_... ✅ Є, але expires 2026-05-14 Ротація за 3 тижні — можна зразу згенерувати новий з тими ж скоупами.

5. Feasibility висновок для MVP

5.1 Що можна зробити ВЖЕ (з наявних credentials)

Метрика Джерело Складність
Replicate predictions count + GPU-seconds (останні N днів) GET /v1/predictions (token є) + GET /v1/hardware для тарифів Середня — треба локальна БД для історії >1 год
Telegram bots health (4 боти up/down) GET /bot<token>/getMe на кожен токен Легко
GitHub rate-limit + PAT expiry countdown GET /rate_limit + відомо що 14.05 Легко
Supabase lunar-hubble health Ping URL Легко

5.2 Що вимагає дій Сергія ПЕРЕД MVP

Метрика Блокер
Anthropic API spend + tokens Admin key потрібно згенерувати (5 хв Сергію)
Claude Code per-user usage Admin key + перевірка plan
Gemini usage/cost Розблокувати ключ АБО перейти на Vertex AI + billing.viewer
GCP corp spend (Gemini, Vertex, BigQuery, etc.) BigQuery Billing Export + IAM для SA
GCP personal spend Той же шлях для особистого billing account

5.3 Оцінка часу на MVP HTML dashboard

Припущення: Сергій видає Admin API key Anthropic + налаштовує BigQuery Billing Export (corp + personal) + видає ролі SA. Tech stack: FastAPI + статичний HTML через Reports Hub (/reports/), data refresh cron кожні 15 хв.

Етап Час
Scaffold FastAPI + cron scheduler 1-1.5 год
Anthropic usage_report + cost_report клієнт 1.5 год
Replicate pagination + GPU-seconds aggregator + SQLite cache 2-3 год
GCP BigQuery Billing Export клієнт (corp + personal) 1.5-2 год
GCP Monitoring API для Gemini quota metrics 1 год
Front-end: 4 картки (Anthropic / Replicate / Gemini / GCP Total) + графіки 30 днів 2-3 год
Caddy route + systemd service 0.5 год
Тест, polish 1 год

Разом: ~10-12 годин при наявності всіх credentials. Мінімальний usable MVP (лише Replicate + Telegram + GitHub) — ~3 години.

Рекомендація: зробити спершу «каркас з тим що є» (3 год), показати Сергію, паралельно він видає доступи, потім інкрементально додати Anthropic і GCP.


6. Action items для Сергія

  1. [Critical] Anthropic Admin API key

    • Зайти: Claude Console → Settings → Admin Keys → Create
    • Передати в /srv/passepartout/anthropic/admin.key + написати .meta
    • Підтвердити чи organization існує (Admin API не працює на personal)
  2. [Critical] Розблокувати Gemini або прийняти рішення про Vertex

    • Варіант A: AI Studio → перегенерувати ключ, прив'язати до GCP проекту з billing
    • Варіант B: перейти на Vertex AI (тоді cost/quota йдуть автоматом через GCP Billing + Monitoring)
    • Рекомендація: Варіант B — уніфікує моніторинг з рештою GCP
  3. [High] GCP Billing Export (corporate Deltamedical)

    • Знайти ID корпоративного billing account: Cloud Console → Billing → list
    • Увімкнути BigQuery export (Billing → Billing export → BigQuery)
    • Створити датасет billing_export у дозволеному проекті
    • Видати SA ad-pipeline-worker@ad-analytics-hub.iam ролі: roles/billing.viewer + roles/bigquery.dataViewer на датасеті
    • Або створити окремий SA resource-dashboard-reader@... з мінімальними правами (рекомендовано)
  4. [High] GCP Billing Export (personal)

    • Аналогічно але для особистого billing account
    • Окремий SA (оскільки проекти різні)
  5. [Medium] GCP Monitoring для quota trackingу

    • Видати roles/monitoring.viewer SA на проекті де Gemini/Vertex API
  6. [Medium] GitHub PAT rotation

    • Згенерувати новий PAT до 10-11 травня (буфер перед 14.05)
    • Оновити /srv/passepartout/github/tokens.txt + додати .meta
  7. [Low] Replicate — рішення щодо balance tracking

    • Варіант A: не показувати balance у MVP (тільки usage proxy через predictions)
    • Варіант B: зберегти cookies для /account/billing у /srv/passepartout/replicate/cookies.json (крихко, сесія живе ~тиждень)
    • Рекомендація: Варіант A для MVP, balance показати стабом «див. replicate.com/account/billing»

Джерела