{{ $t('landing.hero.badgeNew') }}
{{ $t('landing.hero.eyebrow') }}
{{ $t('landing.hero.title1') }}
{{ $t('landing.hero.title2') }}
{{ $t('landing.hero.sub1') }}
OpenAI
Anthropic
{{ $t('landing.hero.micro') }}
Claude Pro / Max
Anthropic OAuth
online
ChatGPT Plus / Pro
OpenAI OAuth
online
Gemini Code Assist
Google OAuth
online
{{ $t('landing.models.more') }}
{{ $t('landing.models.morePlanned') }}
⚡
{{ $t('landing.features.f1Title') }}
sk-
- {{ $t('landing.features.f1b1') }}
- {{ $t('landing.features.f1b2') }}
- {{ $t('landing.features.f1b3') }}
🔄
{{ $t('landing.features.f2Title') }}
{{ $t('landing.features.f2Desc') }}
- {{ $t('landing.features.f2b1') }}
- {{ $t('landing.features.f2b2') }}
- {{ $t('landing.features.f2b3') }}
📊
{{ $t('landing.features.f3Title') }}
{{ $t('landing.features.f3Desc') }}
- {{ $t('landing.features.f3b1') }}
- {{ $t('landing.features.f3b2') }}
- {{ $t('landing.features.f3b3') }}
~/.codex/config.toml
edited 2s ago
[model_providers.OpenAI]
base_url = "https://ai.puro.im"
wire_api = "responses"
requires_openai_auth = true
curl.sh
zsh · puro ≈ 210ms
$ curl https://ai.puro.im/responses \
-H "Authorization: Bearer sk-xxx" \
-d '{"model":"gpt-5.4","input":"hello"}'
ai.puro.im/dashboard
me@puro
{{ $t('landing.dashboard.statToday') }}
1,842
+12.3%
{{ $t('landing.dashboard.statTokensIn') }}
2.1M
+8.1%
{{ $t('landing.dashboard.statTokensOut') }}
485K
+15.6%
{{ $t('landing.dashboard.statCost') }}
$1.23
-4.2%
{{ $t('landing.dashboard.chartTrend') }}
Claude
GPT
Gemini
Model distribution · 24h
Claude48%
GPT32%
Gemini14%
Codex6%
| {{ $t('landing.dashboard.tableTime') }} | {{ $t('landing.dashboard.tableModel') }} | {{ $t('landing.dashboard.tableUpstream') }} | {{ $t('landing.dashboard.tableStatus') }} | {{ $t('landing.dashboard.tableUsage') }} |
| 12:34:07 | gpt-5.4 | ChatGPT #1 | 200 | 2,341 |
| 12:34:02 | claude-opus-4-7 | Claude #2 | 200 | 5,102 |
| 12:33:58 | gemini-2.5-pro | Gemini #1 | 200 | 843 |
| 12:33:41 | gpt-5.4 | ChatGPT #2 | 429 | — |