Wasabi is a Pi extension package with private prompt clarification, session cropping, LiteLLM session tracking, and Crunch file-change review. Each extension can be enabled independently with pi config.
- Node.js 22.19.0 or newer
- npm
- Pi 0.84.4 or newer, installed from
@earendil-works/pi-coding-agent
Development dependencies pin Pi's core packages to 0.84.4, the tested baseline. Runtime core packages are peers supplied by Pi, not separately bundled.
From a fresh checkout, install the locked dependencies:
npm ciUse npm install instead when intentionally updating dependencies and the lockfile.
npm run checkcheck runs static TypeScript checking and the Jest test suite. Run only the
behavioral tests with npm test. Tests use mocked model responses and Pi contexts;
no API credentials or network calls are needed. Crunch diff tests exercise the
actual built-in edit execution and renderers against temporary fixture files.
Crop tests verify the copied suffix without creating real session files.
Install all Wasabi extensions from GitHub:
pi install git:github.com/kc-ml2/WasabiAfter installation, use pi config to enable or disable individual extensions.
Load the package root so Pi validates the extension declaration in package.json:
pi --offline --no-session --no-extensions -e .At the Pi prompt, run:
/hello
Pi should display:
Hello! Wasabi is running.
This command does not call a model or persist session state.
Wasabi prompt clarification checks ordinary inputs
against the existing conversation using a separately selected model. The first
input opens the dedicated model chooser; /wasabi-model changes that selection.
Use /wasabi off and /wasabi on to control automatic checking. Clarification
questions stay private, and the final prompt is reviewed before sending.
- Crop copies a selected user turn and its suffix into a new session with
/crop. - Crunch reviews proposed file changes with
/crunch onand a separate/crunch-model. - LiteLLM session tracking groups provider requests by Pi session ID.