pi-tps-was-taken

Live tokens-per-second (TPS) widget for pi coding agent — animated spinner, color-coded performance, and real-time streaming stats in the footer

Packages

Package details

extension

Install pi-tps-was-taken from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-tps-was-taken
Package
pi-tps-was-taken
Version
1.1.4
Published
Jun 13, 2026
Downloads
not available
Author
shreyashp7
License
MIT
Types
extension
Size
5 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ]
}

Security note

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

README

pi-tps-was-taken

A pi coding agent extension that displays live tokens-per-second (TPS) in the footer during AI response generation.

Features

  • Real-time streaming TPS — updates continuously as tokens are generated
  • Animated spinner — rotating ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏ frames during generation
  • Color-coded performance — green (≥100 t/s), yellow (30–100 t/s), red (<30 t/s)
  • Compact display — token counts in K notation (e.g. 1.2k), shortened to t/s
  • Completion summary — checkmark with final stats: tps · tokens in X.Xs

Display

Streaming:

⠇ 127.3 t/s ↓ 1.2k tokens

Completed:

✓ 127.3 t/s · 1.2k tokens in 9.4s

Installation

Via pi install (recommended)

pi install npm:pi-tps-was-taken

This installs the package and registers it in pi's settings automatically. Then reload pi with /reload.

How It Works

The extension subscribes to four pi events:

Event Purpose
agent_start Clears state on new prompt
message_start Records start time, begins spinner animation
message_update Calculates and displays live TPS from incremental usage.output
message_end Shows final average TPS, stops spinner

Uses ctx.ui.setStatus("tps", ...) to append TPS to the existing footer (pwd, context %, model) instead of replacing it.

Requirements

  • pi coding agent with TUI support
  • Local llama.cpp model (streaming usage updates must be incremental, not deferred to stream end)

License

MIT