@howaboua/pi-smart-btw
Async side-session questions for Pi with explicit injection into the main chat.
Package details
Install @howaboua/pi-smart-btw from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@howaboua/pi-smart-btw- Package
@howaboua/pi-smart-btw- Version
0.2.1- Published
- Jun 9, 2026
- Downloads
- 1,268/mo · 273/wk
- Author
- howaboua
- License
- MIT
- Types
- extension
- Size
- 64.6 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-smart-btw
@howaboua/pi-smart-btw adds /btw side sessions to Pi: async, ephemeral child Pi RPC processes for questions you do not want to derail the main chat. Answers live in the transcript; the widget is status and controls only.
- Fresh context per slot:
pi --mode rpc --no-session(full tools/extensions; this extension disables itself in the child). - Multiple numbered slots:
/btw 1 …,/btw 2 …,/btwto open the panel,/btw 1to switch. - Per-slot queue and child: a slow slot 1 does not block slot 2.
- Transcript is canonical:
BTW SESSIONcustom messages with generation tombstones on clear/inject. - Restore from JSONL after restart; restored follow-ups seed the child with prior Q&A when needed.
- Main LLM context filters BTW messages until you inject.
Install
pi install npm:@howaboua/pi-smart-btw
One-off:
pi -e npm:@howaboua/pi-smart-btw
Usage
/btw 1 what is this repo?
/btw 2 explain this error
/btw 1 continue that answer
/btw
While a slot is active:
- another
/btw …(or/btw N …) continues that slot's child when targeted - alt+c — inject answers into the main chat and clear the slot
- alt+x — clear the slot (hidden tombstone in JSONL)
- alt+z — prefill
/btwin the editor - alt+h/l — previous/next slot; alt+1..9 — jump to slot
- alt+j/k — fold/unfold the widget
- /btw config — settings UI (model, thinking, shortcuts, links)
In General: Edit shortcuts opens ~/.pi/agent/pi-smart-btw.json in $VISUAL or $EDITOR. Use it for shortcuts and advanced JSON-only settings like command. Run /reload after editing shortcuts. Esc closes and saves (merges file + provider/model/thinking).
Configuration
~/.pi/agent/pi-smart-btw.json:
{
"provider": "openai-codex",
"modelId": "gpt-5.4-mini",
"command": "pi",
"thinking": "low",
"injectShortcut": "alt+c",
"dismissShortcut": "alt+x",
"composeShortcut": "alt+z",
"foldShortcut": "alt+j",
"unfoldShortcut": "alt+k",
"previousShortcut": "alt+h",
"nextShortcut": "alt+l"
}
Development
npm install
npm run check
npm run pack:dry-run