@zaganjade/pi-context
Live context-window tracker for pi — /context breakdown, unified bar, cross-model handoff.
Package details
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.