npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@vtstech/pi-status

v1.3.4

Published

System monitor / status bar extension for Pi Coding Agent

Readme

@vtstech/pi-status

System monitor extension for the Pi Coding Agent.

Adds composable named status items to the framework footer using ctx.ui.setStatus(). Each metric gets its own named slot so it coexists cleanly with other extensions' status items.

# Install as part of the bundle
pi install git:github.com/VTSTech/pi-coding-agent

# Or install individually
pi install "npm:@vtstech/pi-status"

How It Works

Automatically loaded — no commands needed. Slots are rendered in the framework footer alongside framework items (model name, session tokens, context usage). All labels use dimmed coloring; all values use green highlighting.

CPU/RAM/Swap are only shown when using a local Ollama provider (not for cloud/remote). For cloud providers, system metrics are omitted.

The extension uses intelligent polling: main metrics update every 5 seconds while a session is active, with a fast 1-second interval only when tools are actively running. All intervals are properly cleaned up on session shutdown to prevent memory leaks.

Example (local Ollama):

CtxMax:41k RespMax:16.4k Resp 2m3s TPS 45 CPU 12% RAM 2.2G/15.1G SEC:MAX Prompt: 2840 chr 393 tok pi:0.66.1

Example (cloud provider, basic mode):

CtxMax:128k RespMax:16.4k Resp 1m22s TPS 32 SEC:BASIC Prompt: 2840 chr 393 tok pi:0.66.1

Example with persistent tool timing:

CtxMax:41k RespMax:16.4k Resp 2m3s TPS 45 CPU 12% RAM 2.2G/15.1G SEC:MAX Last:read: 15s Prompt: 2840 chr 393 tok pi:0.66.1

Enhanced Features

  • Fast 1-second tool timer - Real-time active tool tracking with elapsed time
  • Persistent tool timing - Last tool call time remains visible even when no tool is currently running
  • TPS monitoring - Tokens per second calculation for each response to measure processing efficiency
  • Security flash indicator - 3-second visual flash when tools are blocked, plus persistent blocked count
  • Improved error handling - Better debugging and error messages throughout the extension
  • Enhanced session management - Proper cleanup of intervals and timers on session shutdown
  • Better memory management - Unref() timers to prevent preventing process exit
  • Optimized metrics polling - Session-gated polling to avoid unnecessary CPU usage

Status Slots

Slots are updated every 5 seconds (1 second for active tool timing). Render order is deterministic — all slots are managed through flushStatus().

| Slot | Description | Condition | |------|-------------|-----------| | CtxMax + RespMax | Combined: native model context window + max response tokens (e.g., CtxMax:33k RespMax:16.4k) | Ollama or after first provider request | | Resp | Agent loop duration (e.g., 2m3s) | After first agent cycle | | TPS | Tokens per second for the last response (e.g., TPS 45) | After first agent cycle with token data | | CPU% | Per-core CPU usage delta | Local Ollama only | | RAM | Used/total system memory | Local Ollama only | | Swap | Used/total swap space | Local only, when active | | Generation params | Temperature, top_p, top_k, num_predict, context size, reasoning_effort (dimmed) | After first provider request | | Active tool | Live elapsed timer with > indicator while running, or last tool call time when idle | Always shown (persists after tool completion) | | Prompt | System prompt size as chars chr tokens tok | After first agent start | | Pi version | pi:0.66.1 (dim label + green value, always last) | Always shown |

All slots are cleared on session_shutdown. Metrics that the framework already provides (model name, session tokens, context usage, thinking level) are intentionally omitted to avoid duplication.

Status Examples

Local Ollama with active tool and security blocks:

CtxMax:41k RespMax:16.4k Resp 2m3s TPS 45 CPU 12% RAM 2.2G/15.1G SEC:MAX (blocked: 3) Last:read: 15s Prompt: 2840 chr 393 tok pi:0.66.1
> exec: 2s3

Cloud provider with TPS monitoring:

CtxMax:128k RespMax:16.4k Resp 1m22s TPS 32 SEC:BASIC Prompt: 2840 chr 393 tok pi:0.66.1

Security flash indicator (3-second window):

CtxMax:41k RespMax:16.4k Resp 2m3s TPS 45 CPU 12% RAM 2.2G/15.1G SEC:MAX (blocked: security-audit) Last:read: 15s Prompt: 2840 chr 393 tok pi:0.66.1

Links

License

MIT — VTSTech