About
RadarModel watches the models your app depends on and tells you when one of them changes underneath it. It’s two products on one small engine. RadarModel AI watches the model lists of AI providers. RadarModel Schema watches database schemas for drift: changes made outside your migrations.
Why the Project Exists
An app that calls an AI model calls it by name. gpt-4o, claude-sonnet-4-5, gemini-2.5-flash. Those names don’t stay put. Providers retire models on a schedule, rename them, shrink a context window, add a retirement date, or change the price per token. Each of them announces it somewhere: a changelog, a deprecations page, an email to whoever signed up. Most teams find out when a request fails in production.
The information is there, though. Every provider publishes a list of its models through its API, and the list changes when the models do. Something only has to read it regularly and compare. Why it matters
What RadarModel AI Does
- Reads four providers. OpenAI, Anthropic, Google and OpenRouter, plus any OpenAI-compatible endpoint you point it at.
- Watches your models, reports the rest quietly. You list the models your app calls. Only those can raise a warning or a breaking alert. A provider adding forty new models shows up as info.
- Knows what breaks. A watched model gone, a context or output limit cut, a model retired: breaking. A price rise, a retirement date, a deprecation: warning.
- Never cries wolf. An outage, a cut-off answer, a half-read list or an empty one is a failed scan, never a removed model. A removal is only breaking once a second scan confirms it. How it was tested
- Tells you where you look. The terminal, a webhook, Slack or email.
checkexits 1 on a breaking change, so it works as a CI gate too.
What RadarModel Schema Does
- Reads the live schema. Postgres, MySQL, MariaDB and SQLite: tables, views, columns, indexes, constraints and triggers.
- Needs no migration tool. The first scan is the baseline. Later scans report what changed, once, or on every run until you accept it.
- Knows what breaks. A dropped table or column, a changed type, a new NOT NULL: breaking. A dropped index or a changed default: warning.
- Never cries wolf. A lost connection, a revoked privilege, other session settings or a migration running during the scan is a failed scan or no change at all, never drift. How it was tested
- Compares two databases.
diffputs staging next to production and lists what differs.
How the Project Works
- Small. One binary per product. RadarModel AI uses the Go standard library only; RadarModel Schema adds the database drivers it needs.
- Measured. Every number on this site comes from the test results recorded in the repository.
- Open. Apache License 2.0. Code, tests and releases are on GitHub.
Questions People Ask
Does it need my API keys?
For OpenAI, Anthropic and Google, yes, because their model lists need a key. It reads them from environment variables, sends them only in request headers to the provider’s own host, and never writes them into files, URLs, errors or alerts. OpenRouter’s list is public and needs no key.
Does it call any model?
No. It only reads the list of models. That costs nothing on any of the four providers.
What can it see for OpenAI models?
Less than for the others. OpenAI’s list has model IDs and little else, so for OpenAI it can tell you a model is gone, not that its limits changed. Anthropic’s list has limits, lifecycle and retirement dates. Google’s has limits and supported methods. OpenRouter’s has limits, prices and retirement dates.
Where does it run?
Anywhere a binary runs: a laptop, a cron job, a CI step, a small server. There are builds for Linux, macOS and Windows. Download
Can RadarModel Schema change my database?
No. It only reads the catalog: Postgres and MySQL inside read-only transactions, SQLite opened read-only. It never needs write access, and never creates a file where a SQLite database was expected.
Which database user should it use?
On Postgres, any role that can connect. On MySQL and MariaDB, one with SELECT, SHOW VIEW and TRIGGER on the database it watches. The reference says why.
Get in Touch
If you run AI or a database in production, want another provider or database covered, or have a question, write.