@zaganjade/pi-context

Live context-window tracker for pi — /context breakdown, unified bar, cross-model handoff.

Packages

Package details

extension

Install @zaganjade/pi-context from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@zaganjade/pi-context
Package
@zaganjade/pi-context
Version
0.3.9
Published
Jun 18, 2026
Downloads
not available
Author
zaganjade
License
MIT
Types
extension
Size
92.9 KB
Dependencies
0 dependencies · 2 peers
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-context

Live context-window tracker for pi. Shows how much of the active model's context is in use, breaks it down by category (messages, system prompt, tools, skills, MCP, bundles), and supports cross-model handoff when you switch providers mid-session.

Version 0.3.7 — Pack name tab-completion for import/export/handoff; scans global, project, and extension pack dirs.


Install

pi install npm:@zaganjade/pi-context
/reload

Local development:

pi install ./Pi-Context
/reload

Commands

Command Description
/context Open context panel (compact) — Tab expand, e export, i import, h handoff
/context all Expanded view with child rows
/context-export [name] Save Context Pack to ~/.pi/agent/context-packs/
/context-import <name> Scale + inject pack for current model (tab-complete from pack history)
/context-handoff [name] Export pack + prompt to switch model (tab-complete names)
/context-widget Toggle always-on context line
/context-config Warn threshold + handoff reserve percent

Cross-model handoff (GLM → GPT)

# 1. Brainstorm with GLM
/context-handoff glm-brainstorm

# 2. Switch model in pi (e.g. to GPT)

# 3. Import shared context
/context-import glm-brainstorm

Pi-Context injects a native Pi <skill name="pi-context-handoff" location="…"> block — the same envelope /skill:name uses. The TUI shows [skill] pi-context-handoff (Ctrl+O to expand) instead of dumping the full handoff. If the target model has a smaller context window, older messages are dropped and omissions are reported.

Pack discovery: Tab-complete on /context-import, /context-export, and /context-handoff scans ~/.pi/agent/context-packs/, {project}/.pi/context-packs/, {project}/context-packs/, and the extension context-packs/ folder. Project packs for the current cwd are ranked first.


Categories tracked

Category Source
Messages Session branch (estimateTokens)
System prompt ctx.getSystemPrompt()
System tools Active tool schemas
Skills before_agent_start system prompt options
MCP tools Active MCP-registered tools
MCP (deferred) Inactive MCP tool schemas
Slash commands Extension commands
Memory files Project context files
Custom agents pi-subagents detection
Bundles @bundle from pi-multi-skill activations
Free space contextWindow - used

Total aligns with pi's native ctx.getContextUsage() when available. After compaction, total shows ? until the next model response (same as pi footer).

Accounting model: The header total counts only messages + system prompt + memory files (non-overlapping). Rows like System tools, Skills, and MCP are an illustrative breakdown of what lives inside the system prompt — they are scaled to fit within that bucket and do not add to the header total separately.


Configuration

~/.pi/agent/context.json (auto-created):

{
  "showWidget": false,
  "warnPercent": 70,
  "reservePercent": 15,
  "autoSuggestHandoff": true
}

License

MIT — see LICENSE.