@diegopetrucci/pi-oracle
An Amp-style oracle extension for pi that consults the strongest reasoning model on your current provider.
Package details
Install @diegopetrucci/pi-oracle from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@diegopetrucci/pi-oracle- Package
@diegopetrucci/pi-oracle- Version
0.1.12- Published
- Jun 16, 2026
- Downloads
- 850/mo · 19/wk
- Author
- diegopetrucci
- License
- MIT
- Types
- extension
- Size
- 47.2 KB
- Dependencies
- 0 dependencies · 4 peers
Pi manifest JSON
{
"extensions": [
"index.ts"
],
"image": "https://raw.githubusercontent.com/diegopetrucci/pi-extensions/main/assets/oracle-preview.svg"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
oracle
An Amp-style oracle for pi.
It adds an oracle tool that spins up a separate read-only pi subprocess and sends it to the strongest reasoning model available on the same provider/subscription the user is currently using.
What it does
- creates an isolated read-only subprocess
- auto-picks the strongest reasoning model on the current provider
- uses provider-specific hardcoded rankings first, then a heuristic fallback
- requests
xhighby default for reasoning models, then clamps to the model-supported thinking level - defaults to
read,grep,find,ls - can optionally allow non-mutating
bashinspection - shows a live oracle status line and widget while the subprocess is running
- renders the oracle response with model, thinking level, timing, and usage info
Model selection
By default, the extension:
- looks at the current model's provider
- lists authenticated models on that provider
- prefers reasoning-capable models
- tries a provider-specific hardcoded priority list first
- falls back to a heuristic that favors stronger tiers like
opus,pro, newer versions, and penalizesmini,flash,haiku,spark, etc.
The hardcoded rankings now cover pi's built-in provider set, including Claude Fable on Anthropic-compatible providers and Together; see the provider matrix for the current provider-by-provider top picks.
If no reasoning model exists on the current provider, it falls back to the best available model on that provider.
Reasoning level
Yes — the extension explicitly sets the oracle reasoning level.
- reasoning models request
xhighby default, then use the Pi-compatible effective thinking level supported by the matched model - non-reasoning models default to
off - you can override it with the tool's optional
thinkingLevelparameter; matched models still clamp unsupported overrides and report the effective level - you can persist a default thinking level with
/oracle thinking <level>so future automatic oracle tool calls use it when the agent does not pass a per-call override
Use /oracle-model inside pi to see what it would pick right now.
See also:
Install
Standalone npm package
pi install npm:@diegopetrucci/pi-oracle
Collection package
pi install npm:@diegopetrucci/pi-extensions
GitHub package
pi install git:github.com/diegopetrucci/pi-extensions
Then reload pi:
/reload
Usage
Ask pi normally, for example:
Use the oracle to review the last commit for regressions.Use the oracle for a second opinion on this refactor plan.Debug this issue and lean on the oracle heavily.
The main agent can call the tool directly.
User defaults
Use /oracle to set persisted defaults that apply to future oracle tool calls, including calls the agent launches automatically without per-call overrides.
/oracle status
/oracle model anthropic/claude-opus-4-5
/oracle thinking high
/oracle thinking auto
/oracle clear model
/oracle clear thinking
/oracle clear
Tool-call parameters still win over these defaults. auto clears the configured default and restores the built-in selection behavior. Preferences are saved under pi's agent directory in extensions/oracle.json.
Tool parameters
task- required prompt for the oracleincludeBash- optional, addsbashfor non-mutating inspectionmodel- optional explicit model override; falls back to the/oracle modeldefault, then auto-selectionthinkingLevel- optional reasoning/thinking override; falls back to the/oracle thinkingdefault, then built-in defaultscwd- optional working directory override
Notes
- The oracle is intentionally read-only by default.
- It is best for review, analysis, planning, debugging, and second opinions.
- It is slower than using the main model directly, so it should be used selectively.
- While it runs in interactive mode, it adds a footer status line and a widget below the editor.