CharlesLiuyx/Token-Economy-Tracker:AI 变现数据每日看板
CharlesLiuyx/Token-Economy-Tracker
CharlesLiuyx/Token-Economy-Tracker 是一个每日自动更新的 AI 变现看板,由 GitHub Actions 每天刷新一次,构建产物为单文件静态 HTML(Chart.js 内联、无 CDN、可离线打开),托管在 GitHub Pages。
Live dashboard → https://charlesliuyx.github.io/Token-Economy-Tracker/
A daily auto-updating AI monetization dashboard. The build artifact is a pure static, single-file HTML page (Chart.js inlined, no CDN, works offline), refreshed once a day by GitHub Actions and served on GitHub Pages.
What it tracks
- Frontier Lab ARR (live estimate) — big live-ticking ARR numbers for Anthropic / OpenAI, built from publicly disclosed anchors + curve fitting + extrapolation with confidence bands.
- Token demand & adoption — OpenRouter model token usage (per-model, model comparison, network-wide total, weekly Top Models), Vercel AI Gateway share (Token / $ Spend Top 10 + trends), SDK downloads (npm / PyPI), expert quotes, and Epoch AI Top Sites.
- GPU rental prices — $/GPU-hr cards for H100 / H200 / B200 / A100 / RTX 5090, plus price trend charts.
- AI datacenter buildout — summary cards from the Epoch AI Frontier Data Centers dataset (site count / IT power GW / H100-equivalents), cumulative industry growth, and a daily news feed.
How it works
GitHub Actions cron (daily)
│
▼
scripts/fetch/* one independent fetcher per source; a single source
│ failing never blocks the run
▼
data/ append-only daily JSON snapshots + latest.json per source
│
▼
scripts/build.py renders everything into one file
│
▼
site/index.html single-file static dashboard (GitHub Pages / open locally)
Design principles: fetch and build are fully decoupled (either half can be rerun independently), history is append-only (any chart can be redrawn from raw snapshots at any time), and there is no server or runtime network request.
Stack: Python 3.12 (requests / pyyaml / numpy / jinja2 — deliberately
minimal) and vanilla JS with a vendored Chart.js inlined at build time.
Data sources
| Source | Kind | What it provides |
|---|---|---|
| OpenRouter | unofficial API | Model token usage + weekly rankings |
| Vercel AI Gateway | unofficial API | Gateway token / spend leaderboards |
| npm + PyPI | official APIs | AI SDK download counts |
| Epoch AI | official dataset (CC-BY) | Frontier data centers dataset |
| GPU price indexes | web | GPU rental $/GPU-hr |
| Google News RSS | unofficial API | Datacenter news feed (domain-whitelisted) |
| Manual anchors | git-maintained | Publicly disclosed ARR data points |
Each source is registered in data/sources.yml and documented in docs/sources/.
Quick start
make venv # create virtualenv and install dependencies make update # run all fetchers (each source independently) make build # data/ -> site/index.html make serve # preview locally make test # run the test suite make fetch-<source> # debug a single fetcher, e.g. make fetch-openrouter
Hard rules
data/**/daily/snapshots are immutable (append-only history).site/index.htmlis a build artifact — never edit it by hand; onlymake buildmay generate it.- No external CDNs or runtime network requests; the page must open offline.
- Behavior changes must update the corresponding docs in the same PR.
- A new data source ships as a trio:
data/sources.ymlentry +docs/sources/<source>.md+ a response sample.
Commit message convention
Format: <type>: <summary> — written in English, imperative mood, no trailing
period, summary ≤ 72 characters. Add a body only when the why isn't obvious.
| Type | Use for |
|---|---|
feat |
New panel, fetcher, or user-visible capability |
fix |
Bug fix in pipeline, build, or frontend |
data |
Data snapshot updates or manual anchor additions |
docs |
Documentation only |
build |
Build script, Makefile, or dependency changes |
ci |
GitHub Actions workflow changes |
refactor |
Code restructuring with no behavior change |
test |
Test-only changes |
chore |
Anything else (housekeeping) |
Examples:
feat: add GPU price trend panel
data: add 2 ARR anchors (YipitData, as of 2026-06-30)
fix: handle empty OpenRouter rankings response
Automated daily commits from CI use data: YYYY-MM-DD.
Documentation
Docs follow progressive disclosure: start at AGENTS.md (entry point with a task routing table), then docs/INDEX.md for the full map — plan, architecture, conventions, runbook, ARR methodology, per-source docs, and ADRs. Most internal docs are written in Chinese.
来源:GitHub · github.com