AI Resource Radar
Every day, verify free AI tokens, GPU compute, and price changes—see what you get and how to claim it.
Live Radar · Data · Start with uvx · 中文
AI Resource Radar is a local-first tracker for free AI tiers, GPU compute, grants, and prices. It keeps the source and verification time beside each result, so the answer is practical: what is free, how much you get, when it resets, what the restrictions are, and how to claim it.
The default collection pipeline is deterministic: no AI, API key, cookie, or account data is required. AI is used only by the optional daily poster.
Start with uvx
Try the keyless collector without creating a checkout or virtual environment:
uvx ai-resource-radar start --open
For the hosted snapshot, use Live Radar or fetch the documented public data manifest. The public site is an aggregate view; always follow an official source before relying on an offer.
What you get
Free tiers and AI prices change frequently, while ordinary link lists quickly become stale. This project turns public source material into a small, explainable local database:
| Capability | What you get |
|---|---|
| Free token radar | Quota, reset period, card/phone requirements, mainland status, official evidence, and claim steps |
| Free GPU and grants | GPU time or credit, eligibility, expiry, limitations, and a direct official link |
| Token price leaderboard | Input/output/cached prices normalized per 1M tokens, with sorting and filters |
| GPU price leaderboard | On-demand GPU prices normalized per hour for practical comparison |
| Change detection | New offers, quota or restriction changes, removals, and upcoming expiry |
| Daily poster | Three free resources plus one token and one GPU price, drawn as one image and checked by local OCR |
| AI efficiency tips | Official guidance and manual articles stay pending until a human approves safe AGENTS.md application |
Quick start
Requires Python 3.11 or newer. Install from PyPI in an isolated environment:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install ai-resource-radar
ai-radar refresh
ai-radar dashboard --open
The dashboard is available only on 127.0.0.1:18766.
On macOS, install the dashboard, menu bar helper, and 08:00 daily job:
ai-radar service install
ai-radar service status
To uninstall the services without deleting the database:
ai-radar service uninstall
Platform support
| Feature | macOS | Linux |
|---|---|---|
| Collection, ranking, SQLite, and CLI | ✅ | ✅ |
| Local dashboard | ✅ | ✅ |
| Provider-aware image poster with Vision OCR | ✅ | — |
| Menu bar notifications and LaunchAgent | ✅ | — |
Windows is not tested yet. Linux CI verifies the deterministic core and dashboard; macOS CI also compiles and tests the Vision OCR and menu bar helpers.
What it tracks
The built-in adapters currently cover 15 sources:
| Category | Sources | Cadence |
|---|---|---|
| Free token/API and image generation | OpenRouter, Groq, Gemini, Cloudflare Workers AI, Zhipu CogView-3-Flash | Daily |
| Free GPU and credits | Hugging Face ZeroGPU, Modal, Lightning AI, Kaggle, Google Colab | Daily |
| GPU market prices | Modal, RunPod, Lambda GPU Cloud, Vast.ai | Daily |
| Token price baseline | pydantic/genai-prices |
Daily |
| Community discovery | mnfst/awesome-free-llm-apis |
Weekly |
Community sources can discover candidates but cannot upgrade an offer to “officially verified”. Each HTTPS source is allow-listed, limited to 16 MB, isolated on failure, and supports ETag/Last-Modified caching.
Explainable ranking
The radar deliberately avoids an opaque score:
| Tier | Meaning |
|---|---|
| A | Officially verified, no card, recurring free quota, and no explicit mainland restriction |
| B | Officially verified and no card, but quota varies or eligibility conditions apply |
| C | Application, card, region, or one-time trial restrictions apply |
| D | Community discovery only; official verification is pending |
Within a tier, results are ordered by mainland availability, estimated value, and recent changes. The dashboard shows the reasons instead of hiding them inside a number.
Optional extensions
Daily poster
The image above is an explicitly labelled example. Always check the current official source before using an offer.
The poster model draws the complete image; the application never overlays or rewrites its text. The five facts are selected by deterministic code. macOS Vision then checks every required title, provider, value, action, statistic, update time, and unexpected number.
ai-radar poster models
ai-radar poster configure --provider openai --model gpt-image-2 --enable
ai-radar poster key set
ai-radar poster generate
ai-radar poster latest
# Explicit one-call smoke for the keyless, non-formal ZAI model:
ai-radar poster test-model --provider openclaw --model zai/cogview-3-flash --output ./zai-smoke.png
The OpenAI key is entered with a hidden prompt and stored only in macOS Keychain. GPT Image 2
requires paid API access. All automatic and manual formal-poster generations share a hard limit of
three image calls per day. The explicit model smoke is restricted to keyless, non-formal models and
never publishes a daily poster. If every candidate fails OCR, nothing is published and the last
valid poster stays visible. OpenClaw image models can be discovered and tested through the same registry. A model is
not eligible for the automatic Chinese daily poster until it passes the OCR benchmark; in v0.3,
zai/cogview-3-flash is intentionally marked test-only for this reason.
AI efficiency tips
Official guidance and manually imported articles remain candidates until a human approves them.
Approval is limited to the marked managed block in an AGENTS.md, creates a private backup, and is
auditable and reversible. See docs/TIPS.md for the safety model and
ai-radar tips --help for the CLI.
How it works
flowchart LR
A[Allow-listed public sources] --> B[Source-specific deterministic parsers]
B --> C[Normalized SQLite schema]
C --> D[Explainable ranking and change detection]
D --> E[Dashboard, CLI, and local notifications]
D --> F[Deterministic five-fact selection]
F --> G[Optional registered image model]
G --> H[Local Vision OCR]
H -->|Pass| E
H -->|Fail, max 3/day| I[Discard candidate and keep last valid poster]
One failed source never clears data from other sources. A missing offer is removed only after two successful parses both confirm its absence. Parser drift keeps the last trusted value and marks the source for verification.
Useful commands
# Refresh all due sources, or bypass cadence
ai-radar refresh
ai-radar refresh --force
# Browse verified, no-card resources
ai-radar list --verified-only --no-card
ai-radar list --kind gpu --no-card
# Review recent changes
ai-radar changes --days 30
# Run the complete daily workflow
ai-radar daily
# Diagnose the database, source freshness, helpers, and services
ai-radar doctor
ai-radar doctor --json
Run ai-radar <command> --help for every filter and option.
Data, privacy, and storage
- SQLite schema v6 uses file mode
0600; no secrets, cookies, or account data are stored. - Tips retain only bounded summaries and evidence. Approval updates only the marked AGENTS.md managed block and creates a private backup under
~/.codex/backups/ai-tips/. - Full fetched pages are parsed in memory and are not archived.
- Fetch logs are retained for 90 days; ordinary changes and delivered notifications for 365 days.
- Important free-tier changes and unread notifications are retained.
- Posters are retained for 90 days; failed candidates are deleted immediately.
- Periodic cleanup and threshold-based
VACUUMprevent unbounded growth. - The dashboard accepts only loopback Host/Origin requests and serves no remote assets.
See Architecture and Security for details. Existing users should also read the v0.2 migration guide; complete removal is documented in Uninstall.
Development
git clone https://github.com/xxy12341/ai-resource-radar.git
cd ai-resource-radar
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
python -m unittest discover -s tests -p 'test_*.py'
node --check src/ai_resource_radar/web/ai-resources.js
Contributions are welcome. Start with CONTRIBUTING.md, or open an issue with the official source URL and the policy or price that needs attention.
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_resource_radar-0.3.0.tar.gz.
File metadata
- Download URL: ai_resource_radar-0.3.0.tar.gz
- Upload date:
- Size: 915.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6431c9a915b27ba33b418019a4e2c27001f8d2c0b524edc138adab9644449373
|
|
| MD5 |
cd99f7863619a50a8b3cf6f998a5983d
|
|
| BLAKE2b-256 |
eaa64447d20537c6d05a2b75c93aab6c44bfda87d026a5f72cd725eb079bb2de
|
Provenance
The following attestation bundles were made for ai_resource_radar-0.3.0.tar.gz:
Publisher:
release.yml on xxy12341/ai-resource-radar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_resource_radar-0.3.0.tar.gz -
Subject digest:
6431c9a915b27ba33b418019a4e2c27001f8d2c0b524edc138adab9644449373 - Sigstore transparency entry: 2404707748
- Sigstore integration time:
-
Permalink:
xxy12341/ai-resource-radar@ac078c9434753998ab3dfad8282b47804e53150b -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/xxy12341
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ac078c9434753998ab3dfad8282b47804e53150b -
Trigger Event:
push
-
Statement type:
File details
Details for the file ai_resource_radar-0.3.0-py3-none-any.whl.
File metadata
- Download URL: ai_resource_radar-0.3.0-py3-none-any.whl
- Upload date:
- Size: 263.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
319bc0e683d1137091dce2baae5f92126d728574a5b7f5f38fa0662d7143703e
|
|
| MD5 |
4ab6ddef4b5a5899dae75dcd7c2a8c9d
|
|
| BLAKE2b-256 |
be2095c0755b826bd1a8d88ca33fac5c1b82aa62928d937daaa4c0dad1f3fe29
|
Provenance
The following attestation bundles were made for ai_resource_radar-0.3.0-py3-none-any.whl:
Publisher:
release.yml on xxy12341/ai-resource-radar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_resource_radar-0.3.0-py3-none-any.whl -
Subject digest:
319bc0e683d1137091dce2baae5f92126d728574a5b7f5f38fa0662d7143703e - Sigstore transparency entry: 2404707913
- Sigstore integration time:
-
Permalink:
xxy12341/ai-resource-radar@ac078c9434753998ab3dfad8282b47804e53150b -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/xxy12341
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ac078c9434753998ab3dfad8282b47804e53150b -
Trigger Event:
push
-
Statement type: