Free and paid AI model providers for Pi. Access models from multiple providers in one install.
pi-free is a Pi extension that registers additional providers and applies free/all model filters.
When you install pi-free, it:
- Registers native providers such as Kilo, Cline, LLM7, FastRouter, Ollama Cloud, StepFun, and more.
- Registers Qoder through Pi's native provider surface and supports Pi's built-in OpenCode, OpenCode Go, and OpenRouter integrations.
- Uses Pi's native model and auth stores for all extension providers; Ollama Cloud and Qoder retain documented compatibility caches only for auxiliary behavior.
- Applies the global free-only filter by default, while preserving provider-specific paid/trial behavior.
- Provides per-provider toggle commands —
/toggle-{provider}switches between the provider's free/basic view and its full catalog. - Supports OAuth and API-key authentication where a provider offers them.
- Adds Coding Index scores to model names and can probe and hide unavailable models.
- Provides
/pi-free-healthand/free-startupdiagnostics without exposing credentials.
Install the published npm package:
pi install npm:pi-freeFor the latest unreleased GitHub changes instead:
pi install git:github.com/apmantza/pi-freePress Ctrl+L to open the model picker. The global free-only setting is enabled by default.
Cline exposes a public catalog before login. Kilo requires an OAuth credential or API key for authenticated refreshes and chat:
/login cline
/login kilo
Qoder supports /login qoder with PAT or browser OAuth, then /toggle-qoder switches between its basic free tier and full catalog.
/toggle-kilo
/toggle-openrouter
/toggle-free
/free-providers
/pi-free-health
First run creates ~/.pi/free.json. Add extension-provider keys there or use the environment variables documented in Provider catalog & auth. For example:
{
"ollama_api_key": "...",
"anyapi_api_key": "..."
}| Category | Providers |
|---|---|
| Free/free-tier | Kilo, Cline, LLM7, TokenRouter, Qoder basic tier, and eligible models from other catalogs |
| Freemium | AnyAPI, Ollama Cloud, SambaNova |
| Paid/trial | ZenMux, CrofAI, DeepInfra trial, Novita, Routeway, OpenGateway, B.AI, StepFun, and paid catalog entries from other providers |
| Native lifecycle | Kilo, Cline, LLM7, Ollama Cloud, AnyAPI, SambaNova, TokenRouter, ZenMux, CrofAI, DeepInfra, Novita, Routeway, OpenGateway, B.AI, FastRouter, StepFun |
| Built-in | OpenCode, OpenCode Go, OpenRouter — captured from Pi and refreshed in place after session start (OpenCode Zen catalog + public OpenRouter endpoint), so new models appear without waiting for a Pi release |
Provider availability, authentication, and exact API-key names are maintained in docs/providers.md. pi-free does not publish model counts because provider catalogs change.
Native providers use Pi's ~/.pi/agent/models-store.json and ~/.pi/agent/auth.json. Qoder's static catalog is persisted in the native model store; it retains its legacy cache only for optional stream metadata. Ollama Cloud retains ~/.pi/provider-cache.json only for capability reuse and its compatibility refresh command. /free-startup also reports per-provider fetch attempts and post-start session work.
Pi and npm load the compiled dist/ entry. The compiled import-inclusive benchmark improved from roughly 1.14s to 0.43s p50 (total from 1.18s to 0.47s p50) after reducing the measured import graph from 904 to 226 modules. These are controlled extension benchmarks, not a full Pi-host A/B result; host startup also includes Pi and its peer dependencies.
| Topic | Link |
|---|---|
| Provider catalog & auth | docs/providers.md |
| Slash commands | docs/commands.md |
| Configuration & logging | docs/configuration.md |
| Features deep dive | docs/features.md |
| Compiled packaging | docs/build-strategy.md |
| Adding new providers | CONTRIBUTING.md |
MIT — See LICENSE
Questions? Open an issue