pi-minimal-statusbar

Minimal pi footer: cwd, git branch, model with thinking level, tps/ttft/cache stats, quota, goal, and a context usage bar.

Packages

Package details

extension

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

npm license CI

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