pi-signal0.1.2
Simplified cockpit-style TUI for Pi agent workstreams, activated with /signal.
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
pi-signal
A Pi extension that adds a simplified cockpit-style TUI for agent work.
pi-signal now carries the Pi Mode cockpit functionality. The old /pimode command is deprecated; use /signal instead.
Features
/signaltoggles the cockpit UI on or off./signal offrestores the native Pi UI pieces changed by the extension and clears the in-memory transcript.- Compact custom header, status panel, footer, and editor.
- Tracked AI transcript panel below the editor.
- Transcript keeps recent captured AI responses since activation or the last clear; tree navigation clears abandoned-branch capture.
- Completion waits for Pi's final
agent_settledboundary, including automatic retries and queued continuation. Model failures and aborts have distinct text states, separate from tool-error counts. - The cockpit is terminal-only. RPC receives a warning; JSON and print modes do not activate it.
- Response panel dynamically resizes toward 60% of terminal height while leaving room for the rest of the cockpit.
- Transcript display strips terminal control sequences, caps retained content, and caches wrapping work for long sessions.
ctrl+xtranscript scroll mode with keyboard navigation.- Input box with side padding and rounded outer edges.
- Hidden built-in working row and compact tool expansion while the cockpit is active.
- Uses the public Pi extension API; it does not monkey-patch Pi internals.
Install
From this directory during development:
pi -e ./extensions/signal.ts
When the conventional installed Git copy exists, the checkout loading guard intentionally suppresses this local checkout to avoid duplicate commands. npm-installed paths are exempt, so a retained Git clone cannot suppress the registry package. For isolated validation, extract the tarball into a temporary package directory and load that path; /reload does not switch a live session from an installed copy to this checkout.
As an npm Pi package:
pi install npm:pi-signal
Or install directly from GitHub:
pi install git:github.com/accolver/pi-signal
Then restart Pi or run:
/reload
Usage
Toggle Pi Signal on or off (disabling also clears the in-memory transcript):
/signal
Explicitly disable it:
/signal off
Clear the transcript without disabling Pi Signal:
/signal clear
Toggle it:
/signal toggle
Keys
When Pi Signal is enabled:
ctrl+xenters transcript scroll mode.- In scroll mode:
j/kline down/up,d/upage down/up,gtop,Gbottom. esc,i, orctrl+xexits scroll mode.
Captured transcript is transient: clear, disable, tree navigation, shutdown, or reload discards it. Signal does not reconstruct responses captured before activation or across session replacement.
Development and compatibility
Version 0.1.2 is checked against exact Pi 1.0.0 development packages; host packages remain optional wildcard peers and are not bundled. Preserve the npm lockfile and Node test runner:
npm ci --ignore-scripts
npm test
npm run check
npm pack --dry-run --ignore-scripts
A no-network Pi1 engine probe uses an extracted candidate package and local fixture responses only:
node scripts/pi1-runtime-probe.mjs /path/to/extracted/package
Current release, dependency, terminal QA, and red/green evidence is in .spec-to-ship/features/pi-1-compatibility/.
Package metadata
{
"keywords": ["pi-package", "pi-extension"],
"pi": {
"extensions": ["./extensions/signal.ts"]
}
}
License
MIT