@random-long-int/pi-context
v0.1.0
Published
Pi extension that adds a /context modal for context budget breakdowns.
Downloads
119
Maintainers
Readme
pi context modal extension
Adds /context, a floating overlay that estimates current context usage by segment:
- system prompt
- tool schemas
- rules/context files
- skills
- conversation
- segments contributed by other extensions
Install
From npm:
pi install npm:@random-long-int/pi-contextOr try it for one run:
pi -e npm:@random-long-int/pi-contextThen, from inside pi:
/contextFor local development, this directory can also be placed in an auto-discovered extension location:
~/.pi/agent/extensions/context-modal/index.tsAfter local edits, run:
/reload
/contextDevelopment
cd ~/.pi/agent/extensions/context-modal
bun install
bun run check
npm pack --dry-runExtension hook for MCP or other context sources
Another extension can add a segment synchronously through pi's shared event bus:
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
export default function (pi: ExtensionAPI) {
pi.events.on("context-modal:collect", (payload: unknown) => {
const p = payload as {
add(provider: (args: { estimateJsonTokens(value: unknown): number }) => unknown): void;
};
p.add(({ estimateJsonTokens }) => ({
id: "mcp",
label: "MCP",
shortcut: "m",
letter: "m",
color: "thinkingHigh",
tokens: estimateJsonTokens({ servers: discoverYourMcpServersSomehow() }),
details: ["2 servers", "8 tools"],
order: 50,
}));
});
}The listener must call payload.add(...) synchronously. The provider itself may be async.
