pi-vscode-panels

extensionmaintained

Orchestrate sibling Pi sessions (panels) inside the Pi VS Code extension: parallel reviews and fix/verify loops

by · v0.1.1 · published 1d ago

$ pi install npm:pi-vscode-panels
downloads/mo
270
stars
0
last push
1d ago
open issues
0

Signals

license: MITtestspi manifest: missinginstall size: —deps: 0peer deps: 0

Download trend

270 downloads · last 12 weeks (weekly)

README

pi-vscode-panels

Panel orchestration for Pi sessions running inside the Pi VS Code extension: one Pi session can spawn sibling sessions in background tabs and drive them — prompt, wait for completion, list — the way the herdr CLI lets an agent drive neighboring panes.

Install

pi install npm:pi-vscode-panels

# or from a checkout of the pi-vscode repo
pi install ./plugins/panels

The package loads in every Pi session but registers its tools only in sessions started by the Pi VS Code extension (PI_VSCODE_STATUS_* env present). Elsewhere it is inert.

Tools

ToolPurpose
panel_createOpen a sibling Pi in a background tab (no focus steal); optional model picks the panel's model (any pi --model pattern, e.g. "openai/gpt-5:high"). Resolves once its Pi is ready. Returns the tabId.
panel_promptSubmit a prompt to a panel (bracketed paste + Enter; newlines stay literal). Returns immediately.
panel_waitBlock until a panel goes idle, with stall detection and a configurable timeout. Pass tabIds to wait for several panels at once (fan-in).
panel_listList all Pi sessions in the window with tabId, title, and state; the caller is marked self.

Panels share the workspace filesystem, so agents exchange briefs and results through files (for example review/<topic>/a.md). The bundled pi-panels skill teaches Pi the full review → human check → fix → verify loop.

Develop

Maintained per the pi-package-template conventions: no build step (pi loads .ts via jiti), pi core packages are peerDependencies with "*".

npm install
npm run typecheck

# smoke-test the tools (inside the Pi VS Code extension)
pi -ne -e . --no-session -p "Call the panel_list tool. You MUST use the panel_list tool."