pi-advisor-flow
Advanced Executor/Advisor flow for Pi, fully configurable and extendable.
Install
pi install npm:pi-advisor-flow
Installs from npm into ~/.pi/agent/.
Add -l for project-local (.pi/). Manage with pi list / pi update / pi remove.
What this package can reach
Detected automatically from the source at
version 0.2.9.
This describes access, not safety — you decide whether it's appropriate for what
the package claims to do.
- Behavior — Changes how the agent thinks Modifies the system prompt, injects messages, or rewrites conversation context.
- Extension bus — Talks to other extensions Uses pi.events to emit or listen on a shared channel, so it can coordinate with — or be driven by — other installed extensions.
- Commands — Runs shell commands Spawns processes on your machine.
- Credentials — Handles your API keys Reads or passes provider credentials. Highest-trust capability there is.
- Files — Reads files outside your project Touches paths beyond the working directory, such as your home folder.
- Intercepts tools — Can block or rewrite tool calls Subscribes to tool_call/tool_result/input. Can change a command after you approved the one displayed.
- Network — Talks to the internet Makes outbound network requests. Check the destinations are ones you expect.
- Tool control — Can switch pi's tools on and off Calls setActiveTools, so it can disable built-ins — including safety-relevant ones.
- New tools — Adds model-callable tools Gives the agent new abilities. Additive and visible, unlike an override.
- UI — Draws its own interface Renders widgets, footers, dialogs or full-screen views.
What it actually did when run
observedLoaded in a sandbox with no network, a read-only filesystem and a recording stand-in for pi's API. This is what it called — not what the source suggests it might.
Tools registered ask_advisorrecord_advisor_outcome
Events subscribed agent_settledbefore_agent_startmodel_selectsession_shutdownsession_starttool_call
APIs called appendEntrygetActiveToolsgetActiveTools.filtergetActiveTools.includesgetSystemPromptisProjectTrustedmodelRegistry.findmodelRegistry.getApiKeyAndHeadersmodelRegistry.getAvailablemodelRegistry.getAvailable.mapregisterCommandregisterEntryRendererregisterMessageRendererregisterToolsendMessagesessionManager.getBranchsessionManager.getBranch.mapsessionManager.getBranch.map.filtersessionManager.getBranch.map.filter.atsessionManager.getBranch.map.filter.at.slicesessionManager.getBranch.map.filter.joinsetActiveToolsui.customui.custom.alwaysOn.toJSONui.custom.autoLoopGate.toJSONui.custom.blockOnBlocked.toJSONui.custom.collapseResponses.toJSONui.custom.completionGate.toJSONui.custom.contextMaxChars.toJSONui.custom.customRule.trimui.custom.customRule.trim.toJSONui.custom.effort.toJSONui.custom.failureGate.toJSONui.custom.failureMode.toJSONui.custom.gitContext.toJSONui.custom.gitContextMaxChars.toJSONui.custom.herdrIntegration.toJSONui.custom.loopThreshold.toJSONui.custom.maxCallsPerSession.toJSONui.custom.planGate.toJSONui.custom.redactSecrets.toJSONui.custom.sessionSummary.toJSONui.custom.simpleMode.toJSONui.custom.toJSONui.custom.toolResultMaxBytes.toJSONui.custom.toolResultMaxLines.toJSONui.custom.untrackedContent.toJSONui.notifyui.selectui.select.toJSON
34 calls the source scan did not predict
getActiveTools.filter · getActiveTools.includes · modelRegistry.find · modelRegistry.getAvailable.map · sessionManager.getBranch.map · sessionManager.getBranch.map.filter · sessionManager.getBranch.map.filter.at · sessionManager.getBranch.map.filter.at.slice · sessionManager.getBranch.map.filter.join · ui.custom.alwaysOn.toJSON · ui.custom.autoLoopGate.toJSON · ui.custom.blockOnBlocked.toJSON · ui.custom.collapseResponses.toJSON · ui.custom.completionGate.toJSON · ui.custom.contextMaxChars.toJSON · ui.custom.customRule.trim · ui.custom.customRule.trim.toJSON · ui.custom.effort.toJSON · ui.custom.failureGate.toJSON · ui.custom.failureMode.toJSON · ui.custom.gitContext.toJSON · ui.custom.gitContextMaxChars.toJSON · ui.custom.herdrIntegration.toJSON · ui.custom.loopThreshold.toJSON · ui.custom.maxCallsPerSession.toJSON · ui.custom.planGate.toJSON · ui.custom.redactSecrets.toJSON · ui.custom.sessionSummary.toJSON · ui.custom.simpleMode.toJSON · ui.custom.toJSON · ui.custom.toolResultMaxBytes.toJSON · ui.custom.toolResultMaxLines.toJSON · ui.custom.untrackedContent.toJSON · ui.select.toJSON
Reached through a value the scan could not follow — passed as an argument, stored on another object, or returned by a helper.
Run against version 0.2.9 on 2026-08-01.
Registration-time behaviour under default settings; other configurations may differ.
Reviews
0 publishedSign in with GitHub to write a review, reply, or vote.
No reviews yet — be the first.
More in Tool providers
- @juicesharp/rpiv-web-tools — Pi extension. Web search and fetch for the model with pluggable providers (Brave, Tavily, …
- pi-web — Web UI for pi that keeps sessions alive in real workspaces — run and monitor pi from the b…
- @vaayne/pi-web-tools — Pi extension for web fetching and search capabilities
- @firstpick/pi-utils — Shared utilities for Firstpick Pi extension packages.