================ test session starts ================ collected 3 items test_math.py::test_adds_two_numbers_correctly PASSED test_math.py::test_multiplies_two_numbers_correctly FAILED test_math.py::test_does_not_divide_by_zero FAILED ____________ test_multiplies_two_numbers_correctly ____________ > assert 3 * 4 == 99 E assert (3 * 4) == 99 test_math.py:5: AssertionError ____________ test_does_not_divide_by_zero ____________ > result = 1 / 0 E ZeroDivisionError: division by zero
Pi extensions for sharper agent sessions.
Usage overlays, structured command returns, session health lights, bash guardrails, and a little terminal personality for long-running Pi work.
> pytest test_math.py --junitxml=.tmp/report.xml cwd: project 2 failed, 1 passed test_math.py:5 assert (3 * 4) == 99 test_math.py:8 ZeroDivisionError: division by zero
pi-openrouter
Live OpenRouter visibility inside Pi: spend, credits, key limits, burn rate, model/provider usage, and automatic session_id tagging.
usage $39.22 credits $40.00 status ● 2 ● 0 ● 1 Selected key name local-dev key sk-or-v1-929...f6b status danger used $39.22 / $42.00 reset monthly byok excl All keys Workspace Key name Active Spend Used ● dev local-dev ✓ $39.22 93% ○ Default default-space-key ✓ $0.00 0% Esc to close · r to refresh · ↑/↓ to select
Month $39.25 / $40.00 cap (98%) 7d $32.84 burn ~$140.76 Today ~$1.11 · 281 reqs Top models (7d) qwen/qwen3-coder-next $25.67 302.7M $0.08 moonshotai/kimi-k2.5 $6.06 33.4M $0.18 By provider (30d) ionstream/fp8 $20.09 207.4M parasail/bf16 $11.30 150.6M unknown $4.43 13.4M Daily spend (30d) 8 | █ █ 6 | █ █ █ █ 4 | █ █ █ █ ██ 2 | █ ███ █ ████ 0 +------------------------------ Apr May 25 30 04 08 Updated 11:56 PM · today from tracked turns
pi-structured-return
Explicit structured_return tool alongside bash. Compact parsed results with full logs preserved.
> structured_return pytest test_math.py 2 failed, 1 passed test_math.py:5 assert (3 * 4) == 99 test_math.py:8 ZeroDivisionError: division by zero 60–95% fewer tokens
session-hygiene
Status bar health light based on cumulative assistant cost, context tokens, and optional cache-rate info.
~/src/my-project (main) ↑34 ↓18k R868k W175k $1.982 7.4%/1.0M (auto) 🟡 session growing · 98% cache /session-hygiene configure thresholds
pi-yolo-seatbelt
Configurable bash safety guard. Block catastrophic commands, ask on destructive ones, allow the rest.
> rm -rf / BLOCK rm-rf-root catastrophic filesystem delete > git push --force ASK git.push-force confirm before history rewrite /yolo-seatbelt-rules
pi-spinner-verbs
Replace default spinner text with themed verbs. Pick a theme, randomize each session, or point to your own verbs file.
> /verbs game-of-thrones lord-of-the-rings doc-emrick weird-legalese > /verbs doc-emrick Shunting... Fiddling... /verb-status
Direct from npm into Pi
Use one package at a time, or build your own stack.
pi install npm:@robhowley/pi-openrouterpi install npm:@robhowley/pi-structured-returnpi install npm:@robhowley/session-hygienepi install npm:@robhowley/pi-yolo-seatbeltpi install npm:@robhowley/pi-spinner-verbs