pi-effort
v0.0.8
Published
Pi extension for controlling thinking effort with model-adaptive min/max aliases
Maintainers
Readme
pi-effort
Extension for pi: small command surface for reasoning effort and OpenAI/Codex fast mode.
Claude Fable reviewed 0.0.7 on 2026-08-15. See SECURITY.md.
Commands
Exactly two slash commands are exposed:
/effort {min|minimal|low|medium|high|xhigh|max}
/fast [on|off]No /effort show, /effort default, /effort options, /effort fast, or /fast status. Bare /fast toggles the current fast-mode setting.
Effort
/effort accepts the current model's supported reasoning levels plus two adaptive aliases:
| Model type | min | max | Explicit levels |
|---|---|---|---|
| Non-reasoning | — | — | (thinking unavailable) |
| Reasoning | minimal | high | minimal, low, medium, high |
| xhigh-capable reasoning | minimal | xhigh | minimal, low, medium, high, xhigh |
Examples:
/effort min
/effort medium
/effort maxFast mode
Fast mode is the latency/service-tier knob. When enabled, pi-effort adds
service_tier: "priority" only for OpenAI, Codex, and Azure OpenAI requests
whose model id starts with gpt-5. That tier is billed at a higher token
price. The setting is global and persists until /fast off. A session that
starts with it on prints a warning.
/effort calls Pi's setThinkingLevel. Pi saves that as
defaultThinkingLevel for later sessions.
/fast # toggle
/fast on # force on
/fast off # force offFast mode persists in ~/.pi/agent/settings.json under:
{
"pi-effort": {
"fastMode": true
}
}Footer status
For compact powerline footers, the extension publishes these status keys:
pi-effort-thinking—think:<level>pi-effort-fast—fastonly when fast mode is enabled and applies to the current model
Keyboard shortcut
Ctrl+Shift+E cycles through the current model's reasoning levels.
CLI flag
pi --effort max
pi --effort min
pi --effort highThe flag uses the same values as /effort.
Install
Requires Pi 0.84 or newer (@earendil-works/pi-coding-agent).
pi install npm:pi-effortUntil npm has the latest tag, install from git:
pi install git:github.com/ricardofrantz/pi-effortVerify what Pi is loading:
pi list
npm list -g --depth=0 pi-effortThe durable Pi setting is the package entry in ~/.pi/agent/settings.json:
{
"packages": [
"npm:pi-effort"
]
}Local development
For a one-off local test from this checkout:
npm install
pi -e ./index.tsFor a longer local-path development install:
pi remove npm:pi-effort
pi install "$(pwd)"After publishing a new version, switch back to the npm package:
npm publish
pi remove "$(pwd)"
pi install npm:pi-effortVerification
npm run check
npm test
npm pack --dry-runRepo structure
index.ts Pi extension entrypoint
effort.ts Parsing, settings, and model capability logic
package.json Package metadata and Pi manifest
tsconfig.json TypeScript configurationLicense
Apache-2.0
