pi-service-tier
Fast mode and provider service-tier controls for pi
Package details
Install pi-service-tier from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-service-tier- Package
pi-service-tier- Version
0.4.0- Published
- Sep 11, 2026
- Downloads
- 310/mo · 219/wk
- Author
- mavam
- License
- MIT
- Types
- extension
- Size
- 81 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./service-tier.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
⚡ pi-service-tier
A Pi extension that toggles fast mode and applies provider service tiers.
🚀 Installation
pi install npm:pi-service-tier
✨ What it does
- Adds service tier parameters to supported provider requests when a tier is configured
- Adds
/fastto toggle the current model provider between fast mode and off for this session only - Adds
/service-tierto configure global defaults for all supported providers from an interactive modal - Adds an optional service tier widget when
pi-fancy-footeris installed
🚀 Commands
/fast: toggles the current model provider between its fast tier and off in this session, without changing other sessions or your global defaults. The supported providers all usepriorityas the fast tier./service-tier: opens an interactive editor for global defaults. The current model provider appears first, followed by the remaining supported providers. Press Enter or Space to cycle throughoffand the provider-specific tiers. Session overrides take precedence over these defaults.
Session scope
Run /fast in the session you want to speed up, then run it again to turn fast
mode off. Each provider has its own override, so switching models preserves your
choices. Turning fast mode off also overrides a globally configured tier; it
leaves that provider's request parameters unchanged rather than restoring flex
or standard.
Overrides are saved with the session and restored on resume or extension reload.
They follow the active conversation branch: /tree restores the choices at the
selected point, and /fork or /clone inherits the choices on the copied branch.
Later toggles in a fork do not affect its parent. /new starts without overrides
and uses your global defaults.
⚙️ Configuration
Run /service-tier or create ~/.pi/agent/service-tier.json to set global defaults:
{
"openai": "priority",
"openai-codex": "flex",
"anthropic": "priority",
"google": "priority",
"google-vertex": "flex"
}
Supported providers
| Provider | Tiers | Fast tier |
|---|---|---|
openai |
flex, priority |
priority |
openai-codex |
flex, priority |
priority |
anthropic |
priority, standard |
priority |
google |
flex, priority |
priority |
google-vertex |
flex, priority |
priority |
To turn a provider off by default, omit its key. Only the values listed above are
accepted. Providers without a session override continue to pick up global changes.
Existing global settings, including those saved by earlier versions of /fast,
remain in effect. Use /service-tier to change them.
Batch APIs are separate asynchronous APIs and are not configured by this
extension.
🧩 Footer widget
When pi-fancy-footer is installed,
the widget appears only when the active model uses a supported provider/API pair
and that provider has an effective tier after applying session overrides. It shows
a single ⚡ without the tier name to keep the footer compact.
The widget id is pi-service-tier.service-tier. It uses the current
pi-fancy-footer event protocol, with row 1, position 8, right alignment,
and no fill behavior by default. The extension has no package dependency on the
footer: it publishes a complete snapshot when its state changes and republishes
when the footer announces that it is ready.
📝 TODO
- Account for service-tier pricing in pi usage metrics. The extension currently injects the tier into the provider request payload, but pi's OpenAI Codex cost calculation reads the requested tier from provider options. Until pi exposes a first-class extension path for that option, displayed usage costs can omit flex or priority multipliers.