🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

pi-model-fallback

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pi-model-fallback

Pi extension that switches to a fallback model after provider failures such as 429 rate limits.

latest
Source
npmnpm
Version
0.3.3
Version published
Maintainers
1
Created
Source

pi-model-fallback

CI Publish npm version npm downloads License: MIT Pi package Buy Me A Coffee

Pi extension that switches to a fallback model after provider failures such as 429 rate limits.

What this does

pi-model-fallback watches provider failures and automatically moves Pi to a safer fallback model when a matching rule fires.

Current default:

  • source provider: zai
  • matching statuses: 429, 500, 502, 503, 504
  • fallback model: deepseek/deepseek-v4-flash

When a failure matches, the extension also stores persistent fallback state so future sessions can preselect the fallback model until the cooldown expires.

Install

Install from npm:

pi install npm:pi-model-fallback

Install into the current project only:

pi install npm:pi-model-fallback -l

Or install from GitHub:

pi install git:github.com/eiei114/pi-model-fallback

Try it without permanently installing:

pi -e npm:pi-model-fallback

Commands

/model-fallback:status
/model-fallback:reset
  • status: shows whether fallback is enabled, active persistent entries, and current paths
  • reset: clears persistent fallback state and switches back to the remembered original model when possible

Configuration

The extension exposes the model_fallback_config tool for reading, validating, and saving config JSON.

Default config shape:

{
  "version": 1,
  "enabled": true,
  "rules": [
    {
      "name": "zai-to-deepseek-flash",
      "matchProviders": ["zai"],
      "statuses": [429, 500, 502, 503, 504],
      "fallback": {
        "provider": "deepseek",
        "model": "deepseek-v4-flash"
      }
    }
  ]
}

Rule fields:

  • matchProviders: match all models from a provider
  • matchModels: match specific provider + model pairs
  • statuses: optional; defaults to 429, 500, 502, 503, 504
  • cooldownMs: optional persistent fallback window
  • fallback: target model Pi should switch to

State and paths

The extension stores:

  • config: model-fallback/config.json
  • state: model-fallback/state.json

If the package is installed project-locally and the current project references it from .pi/settings.json, those files live under the project .pi/ directory. Otherwise they live under the user agent directory.

Behavior notes

  • Successful responses do nothing.
  • Matching failures from after_provider_response can trigger fallback immediately.
  • Assistant error messages parsed at turn_end can also persist fallback state for SDK/provider failures that do not emit the normal response hook.
  • The failed request is not automatically replayed.

Development

npm install
npm run ci

Run locally in Pi:

pi -e .

License

MIT

Keywords

pi-package

FAQs

Package last updated on 04 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts