This tutorial walks you through installing and using helix-pi for the first time.
You need:
- Helix editor built with Steel support (
cargo xtask steel) - The
piCLI installed and configured with an API key - This repository cloned locally
Verify pi works:
pi --versionYou should see version output. If not, install pi first.
Copy the plugin files to your Helix config:
mkdir -p ~/.config/helix/cogs/pi
cp src/*.scm ~/.config/helix/cogs/pi/You should see no errors.
Open your Helix configuration:
~/git/helix/target/release/hx ~/.config/helix/helix.scmAdd these lines near the top (after other require statements):
(require (only-in "cogs/pi/pi.scm"
pi-start pi-continue pi-resume pi-send pi-abort pi-quit pi-recover
pi-model pi-thinking pi-status pi-compact pi-new pi-steer pi-follow))Find your existing provide statement and add the pi commands:
(provide ...your-existing-exports...
pi-start pi-continue pi-resume pi-send pi-abort pi-quit pi-recover
pi-model pi-thinking pi-status pi-compact pi-new pi-steer pi-follow)Save the file (:w).
Close and reopen Helix:
~/git/helix/target/release/hx .If Helix starts normally, the plugin loaded successfully.
If you see errors, check How to Debug.
Type :pi-start (or press Alt-p n) and press Enter.
You should see:
- Two new buffers appear in a horizontal split
- Top buffer:
[pi/output]- where responses appear - Bottom buffer:
[pi/input]- where you type prompts - Status bar shows:
pi: ready
You're now in the input buffer. Type a message:
Say hello in exactly 3 words
Now send it:
- Type
:pi-send(or pressAlt-p s) and press Enter
Watch the output buffer. You should see:
## Youfollowed by your prompt## Assistantfollowed by the streaming response- Status changes to
pi: streaming...thenpi: idle
The input buffer was cleared. Type another message:
Now say goodbye in 2 words
Send with :pi-send (or Alt-p s).
Notice the conversation continues - the assistant remembers your first request.
Type :pi-quit (or Alt-p q).
You should see: pi: stopped (session saved)
The buffers close and your session is saved.
Start Helix again and type :pi-continue (or Alt-p p).
This loads your most recent session. Type:
What was my first request?
Send with :pi-send (or Alt-p s). The assistant should remember your earlier conversation because the session was restored with prompt caching.
Type :pi-quit to close, then :pi-resume (or Alt-p r) with an empty input buffer.
You should see a list of available sessions in the output buffer with their paths and timestamps.
To resume a specific session, put its path in the input buffer and run :pi-resume again.
- Learn about debugging if things go wrong
- Read About the Architecture to understand how it works
- Check Steel Plugin Patterns if you want to modify the plugin