pi-minimal-statusbar
Minimal pi footer: cwd, git branch, model with thinking level, tps/ttft/cache stats, quota, goal, and a context usage bar.
Package details
Install pi-minimal-statusbar from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-minimal-statusbar- Package
pi-minimal-statusbar- Version
0.1.5- Published
- Sep 2, 2026
- Downloads
- 681/mo · 329/wk
- Author
- dereknex
- License
- MIT
- Types
- extension
- Size
- 32.8 KB
- Dependencies
- 1 dependency · 1 peer
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-minimal-statusbar
A minimal pi footer that shows only what matters.
Left: ~/path/to/project git:branch± • provider/model (thinking) • goal
Right: 12.3 t/s • 1.20s ttft • cache:87% • $1.23/$10 • [####.........] 40% (128K)
Part of the pi-extensions monorepo.
Features
- Current directory (with
~for home), git branch with dirty marker. - Model name, provider, and thinking level colored by effort.
- Real-time tokens/s (run-weighted generation throughput, tool time excluded), time-to-first-token, and session-cumulative cache hit rate (matches /session).
- Quota status from other extensions (e.g. pi-sub2api-provider) and arbitrary extension statuses via
ctx.ui.setStatus(). - Context usage bar with color gradient (green → yellow → orange → red).
- Adaptive responsive layout: dynamically folds low-priority elements on narrow terminals to strictly prevent wrapping and stay on a single line.
Installation
pi install npm:pi-minimal-statusbar
Or add it to ~/.pi/agent/settings.json:
{
"packages": ["npm:pi-minimal-statusbar"]
}
Configuration
All options are optional; defaults are shown below. Configure under the minimal-footer key of the global ~/.pi/agent/settings.json or a project .pi/agent/settings.json (project overrides global):
{
"minimal-footer": {
"showCwd": true,
"showGit": true,
"showModel": true,
"showThinking": true,
"showTps": true,
"showTtft": true,
"showCacheStats": true,
"hideZeroCache": false,
"showQuota": true,
"showGoal": true,
"showContextBar": true,
"showContextPercent": true,
"showContextWindowSize": true,
"extensionStatuses": true,
"hiddenExtensionStatuses": ["debug-info"]
}
}
| Key | Default | Description |
|---|---|---|
showCwd |
true |
Show current directory |
showGit |
true |
Show git branch (+ ± dirty marker) |
showModel |
true |
Show provider/model |
showThinking |
true |
Show thinking level (colored by effort) |
showTps |
true |
Show tokens per second (weighted over generation time, tool time excluded) |
showTtft |
true |
Show time to first token |
showCacheStats |
true |
Show session-cumulative cache hit rate (matches /session) |
hideZeroCache |
false |
Hide cache stats when cache hit rate is 0% |
showQuota |
true |
Show quota status from other extensions |
showGoal |
true |
Show the goal status entry |
showContextBar |
true |
Show context usage bar |
showContextPercent |
true |
Show context usage percentage |
showContextWindowSize |
true |
Show context window size (e.g. 128K) |
extensionStatuses |
true |
Show other extension statuses: true (all), false (none), or a string[] allowlist |
hiddenExtensionStatuses |
[] |
Hide specific status keys even when extensionStatuses is true |
Quota integration
The footer picks the quota status entry matching the active provider (keys like quota:<provider>, <provider>-quota, ...), falling back to quota, sub2api-quota, or any quota|usage|billing|limit key. This lets several quota extensions coexist while only the active provider's quota is shown.
Development
From the monorepo root:
cd /Users/derek/workspaces/pi-extensions
npm install
npm run check
npm run pack:dry-run
License
MIT © dereknex