omp packages

@whamp/pi-quiet0.4.3

Quiet Display for Pi: verb-first tool rows (built-in + Foreign), Verb Groups, sticky on/off.

GitHub Actions Published 22 days ago MIT ~316 downloads/mo

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.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

@whamp/pi-quiet

Quiet Display for the Pi coding agent: verb-first dense rows for tool activity, so new (and tired) users are not drowned in tool chrome and stdout.

Once installed, Quiet Display is on by default. Turn it off anytime with /quiet off (Sticky Preference).

Install

pi install npm:@whamp/pi-quiet

Local development from this monorepo:

pi -e ./packages/pi-quiet
pi install ./packages/pi-quiet

What you see

Tool Collapsed success Notes
read ๐Ÿ“– Read main.rs (40 lines) Requested range chips as (start-end); images as (image)
grep / find ๐Ÿ” Searched "pat" (3 matches) Zero hits = Soft Breakthrough (no matches)
ls ๐Ÿ“‚ Listed src (12 entries) Empty dir = Soft (empty)
edit โœ๏ธ Edited main.rs (+3 -1) Diff body on expand
write ๐Ÿ“ Wrote main.rs (12 lines)
bash ๐Ÿ’ป $ cmd Clean success omits chip; non-zero = Hard Breakthrough
Foreign Tools ๐Ÿงฉ Called name peek Generic Kind Formatter when Pi exposes registerToolRenderer

Running rows use present tense (๐Ÿ“– Reading main.rs). Settled rows use past tense.

Verb Groups

Adjacent settled successes (and Soft Breakthroughs) of the same Verb Group Kind fold into one group:

๐Ÿ“– Read 3 files
  โ€ข a.ts (40 lines)
  โ€ข b.ts (12 lines)
  โ€ข c.ts (8 lines)

Kinds:

Kind Tools Folds?
File read yes
Search grep, find yes (together)
Dir ls yes
Command bash no (singleton)
EditFile edit, write no (singleton)
Other Foreign Tools yes (together, not by exact name)
  • Strict neighbors only - assistant/user prose or a different kind splits groups.
  • Hard Breakthrough never joins a group and splits runs before/after.
  • Pending never joins - a running tool stays a present-tense singleton Quiet Row. Already-settled same-kind neighbors stay grouped while a trailing same-kind tool is still running; the Verb Group grows only after that tool settles successfully (or soft).
  • Expand expands the whole group to stacked Stock Display bodies.
  • Groups are rebuilt from session history after reload.
  • Path targets use basename; collisions inside a group disambiguate with a parent segment.

Behavior notes

  • While running: present-tense singleton, no live stdout firehose.
  • Tool Shell Background: visible Quiet Rows and Verb Groups keep Stock's pending/success/error strip with compact (zero) padding. Hidden group members stay zero-height.
  • Hard Breakthrough: failed edit/write, bash non-zero / thrown error, Foreign failed - chip + capped error tail without you expanding.
  • Expand (pi's normal expand gesture): full Stock Display body for that row (or whole Verb Group), including the original Foreign Tool renderer. Expand does not change the Sticky Preference.
  • /quiet: Sticky Preference only; renders follow the current preference when components redraw.

Commands

Command Description
/quiet Toggle Quiet Display
/quiet on Quiet Display
/quiet off Stock Display (pi's normal tool UI)
/quiet status Show preference + config path
/quiet help Help

Config

Package-local Sticky Preference:

~/.pi/agent/extensions/quiet.json

(or $PI_CODING_AGENT_DIR/extensions/quiet.json)

{
	"enabled": true
}

Missing or invalid file โ†’ Quiet Display on.

Scope

In (always): built-in read, bash, edit, write, find, grep, ls when they still use Pi's implementation (specialized Kind Formatters + Verb Groups).

In (when Pi has registerToolRenderer): Foreign Tools - extension tools, MCP gateways, SDK custom tools - via the Generic Kind Formatter (๐Ÿงฉ, Called/Calling, arg peek) and Verb Group Kind Other.

Out: assistant prose, thinking, startup header, second density preference, durations on chips, Quiet-native expanded bodies (Stock-on-expand for now).

Without the upstream Tool Renderer Wrapper seam (registerToolRenderer on Pi's ExtensionAPI), Foreign Tools and built-ins already overridden by another extension stay on Stock Display. Other built-ins remain Quiet.

Security notes

  • Config is untrusted input: size-capped, regular-file only (no symlinks), atomic 0o600 writes.
  • TUI chrome only. No network. Does not change tool execution semantics - only presentation.
  • Foreign arg peeks skip secret-ish keys (token, password, api_key, โ€ฆ).
  • Overriding built-ins (fallback path without the renderer hook) makes pi show its normal tool-override warning once; that is expected. Quiet skips built-ins already owned by another extension. With the hook, Quiet does not replace tools.

License

MIT