@tryinget/pi-activity-strip
pi extension package for activity-strip workflows in monorepo runtime
Package details
Install @tryinget/pi-activity-strip from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@tryinget/pi-activity-strip- Package
@tryinget/pi-activity-strip- Version
0.2.0- Published
- Jul 11, 2026
- Downloads
- 75/mo · 75/wk
- Author
- tryinget
- License
- SEE LICENSE IN LICENSE
- Types
- extension, prompt
- Size
- 95.1 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./extensions/activity-strip.js"
],
"prompts": [
"./prompts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
summary: "Top-row live activity strip for local Pi sessions running in Ghostty or other terminals." read_when:
- "Starting work in this package workspace."
- "Installing or verifying the activity strip in Pi." system4d: container: "Monorepo package for a local broker + Electron overlay + Pi extension telemetry seam." compass: "Make Pi session activity visible at a glance without changing the operator's normal terminal workflow." engine: "Pi extension emits session telemetry -> local broker aggregates -> top-row Electron strip renders live state." fog: "Main risks are runtime drift across Pi host versions, Electron availability, and stale-session behavior under real long-running work."
@tryinget/pi-activity-strip
A Pi extension package that gives you a screen-top activity strip showing what your live Pi sessions are doing.
This package is designed for the exact workflow you asked for:
- multiple Ghostty tabs
- multiple Pi sessions
- a persistent top-row ribbon
- fine-grained live detail without changing how you normally run Pi
What it does
- auto-starts a local top-row overlay when Pi starts in a TUI session
- tracks each active Pi session independently
- shows one card per live session
- surfaces:
- repo/session label
- current phase
- current tool or target
- fine-grained detail text
- elapsed time plus last-seen freshness
- state color (
thinking,tool,waiting,done,error)
- keeps a local broker so multiple Pi processes can report into one strip
Architecture
Pi session
-> activity-strip extension
-> local unix-socket broker
-> Electron top-row overlay
This is intentionally local-first.
It does not require moving your workflow onto pi-server first.
Current scope
Implemented now:
- local per-host broker
- primary-display top-row strip
- one card per active Pi session
- headless-safe telemetry publishing
- explicit open/status/doctor/snapshot/fix-top/stop commands
- local visual capture helpers so the agent can inspect the strip directly
Not implemented yet:
- multi-monitor strip replication
- historical timeline / expand-on-hover detail
- remote observers via
pi-server
Installation in Pi
From this package directory:
cd ~/ai-society/softwareco/owned/pi-extensions/packages/pi-activity-strip
pi install "$PWD"
Then for existing Pi tabs:
- run
/reloadin each tab you want tracked
For new Pi tabs:
- the package will load automatically from your Pi settings
Operator commands
Package-local CLI
npm run strip:open
npm run strip:status
npm run strip:doctor
npm run strip:snapshot
npm run strip:fix-top
npm run strip:stop
or directly:
node ./bin/pi-activity-strip.mjs open
node ./bin/pi-activity-strip.mjs status
node ./bin/pi-activity-strip.mjs doctor
node ./bin/pi-activity-strip.mjs snapshot
node ./bin/pi-activity-strip.mjs fix-top
Pi slash commands
Inside Pi:
/activity-strip
/activity-strip status
/activity-strip doctor
/activity-strip fix-top
/activity-strip stop
/activity-strip-stop
In Pi with UI support:
/activity-strip statusopens a detailed runtime status report when an editor surface is available/activity-strip doctoropens the host-compatibility report
Verification commands
Package checks
npm install
npm run check
npm run release:check:quick
Run the strip locally
npm run strip:open
npm run strip:status
npm run strip:doctor
npm run strip:snapshot
Capture what the agent should inspect
npm run capture:strip # just the Pi activity strip window
npm run capture:top # top band of the focused output, including the strip + upper window area
These are specifically useful so the agent can inspect the current visual state without you manually posting screenshots.
Simulate multiple sessions
npm run demo:simulate
Real Pi smoke on the live broker
npm run smoke:headless-live
This smoke:
- opens the strip
- runs a real headless Pi session with this extension loaded
- exercises a real tool call
- verifies that the broker observed the session while it was active
Compatibility diagnostics
npm run strip:doctor
node ./bin/pi-activity-strip.mjs doctor --json
Use doctor before opening the strip when the host/display assumptions are uncertain. It reports:
- whether a graphical session is present
- whether Electron can be resolved
- whether Niri-specific top-edge repair is available
- whether the current setup is multi-display even though the strip remains primary-display-only
Environment controls
PI_ACTIVITY_STRIP_AUTO_START=0- disable automatic strip opening on Pi session start
PI_ACTIVITY_STRIP_CLICK_THROUGH=0- make the overlay clickable instead of mouse-transparent
PI_ACTIVITY_STRIP_ELECTRON_BIN=/path/to/electron- override Electron binary discovery
GLIMPSE_ELECTRON_BIN=/path/to/electron- shared Electron override also respected
Practical usage for your Ghostty tabs
If you want this for all current tabs:
- install the package once with
pi install - run
/reloadinside each already-open Pi tab - open the strip once with
/activity-stripornpm run strip:open - from then on, every loaded Pi session should report into the same top-row ribbon