pi-model-flash

Pi extension that flashes the current model name in BIG block letters when you cycle models with Ctrl+P.

Packages

Package details

extension

Install pi-model-flash from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-model-flash
Package
pi-model-flash
Version
0.1.0
Published
May 18, 2026
Downloads
not available
Author
black-snow
License
MIT
Types
extension
Size
8.4 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ],
  "skills": [],
  "prompts": [],
  "themes": []
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-model-flash

A tiny pi extension that flashes the current model name in big block letters above the editor when you cycle models with Ctrl+P / Shift+Ctrl+P.

Useful when you cycle through models quickly and want an unmissable, at-a-glance confirmation of which one is now active.

Install

# Global (user settings)
pi install git:gitlab.com/black-snow/pi-model-flash
# or
pi install npm:pi-model-flash

# Project-local (.pi/settings.json)
pi install -l git:gitlab.com/black-snow/pi-model-flash

# Or try it without installing
pi -e git:gitlab.com/black-snow/pi-model-flash

Usage

Nothing to configure. Just cycle models:

  • Ctrl+P — next model
  • Shift+Ctrl+P — previous model

The active model's id flashes in large block letters with the provider name underneath, for about one second. Rapid cycling re-renders the banner in place — keystrokes are never queued behind the popup, because the flash is rendered as a non-capturing UI widget.

Setting a model explicitly via /model or restoring a session does not trigger the flash; only manual cycling does.

How it works

The extension subscribes to pi's model_select event, filters for event.source === "cycle", and renders the model id with a small built-in 5-row block font through ctx.ui.setWidget(...). A debounced timer clears the widget ~1s after the last cycle.

See extensions/model-flash.ts — it's a single self-contained file.

Configuration

There is none yet. If you want to tweak it, the constants at the top of extensions/model-flash.ts are obvious:

  • FLASH_MS — how long the banner stays up after the last cycle (default 1000).
  • FONT — the 5-row block font; add glyphs if a model id uses a character you don't see rendering.

Requirements

  • pi (the pi coding agent) — provides the ExtensionAPI and UI widget host.

@earendil-works/pi-coding-agent is declared as a peer dependency (pi bundles it; do not install it separately).

License

MIT