Releases: NikiforovAll/pi-inspect
v0.5.0 — Share a snapshot via URL
✨ Features
- Share a snapshot via URL. New Share button copies a self-contained link of the current session. Snapshot is
deflate-rawcompressed and base64url-encoded into the URL hash (#s=…) — no backend, no upload, no account. Same pattern as plannotator.ai. - Static dashboard hosted on GitHub Pages at https://nikiforovall.blog/pi-inspect/. Recipients open the share link there and see the exact same tools / commands / skills / system prompt. The page makes zero network requests — everything is in the URL.
- Path redaction. Before encoding, the sender's
$HOMEprefix (C:\Users\<user>,/Users/<user>,/home/<user>, Git Bash/c/Users/<user>) is stripped from every string and fromgithubSourceskeys, in both slash flavors. Tail paths like<home>/dev/pi-inspect/...remain for context. - Static (read-only) mode. The dashboard auto-detects
#s=(or a missing local server) and switches to read-only: session-picker, refresh, cleanup, and $EDITOR actions are hidden; toggle still renders but toasts a read-only notice on click.
🛠 How it works
Share button → redactSnapshot() walks the tree replacing HOME → JSON.stringify → CompressionStream('deflate-raw') → base64url → location.hash. When generated from localhost, the link is anchored on the hosted dashboard URL so recipients have something openable. Service-worker shell list resolves relative to scope so caching works under the GH Pages subpath.
Deployment is wired through .github/workflows/pages.yml — actions/deploy-pages publishes public/ on every push to main.
⚠️ Notes
- The shared link includes the full system prompt and (redacted) cwd. Review before sending — anything you wouldn't paste in chat shouldn't go in a share link.
- Browser support:
CompressionStream('deflate-raw')requires Chrome 80+, Firefox 113+, Safari 16.4+. - Typical share-link size: ~30–50 KB after compression. Fits in messaging apps but watch URL-length limits for very large sessions.
Full diff: v0.4.0...v0.5.0
v0.4.0 — Toggle resources from the dashboard
✨ Features
- Enable/disable skills and prompts from the dashboard. A Toggle button appears on skill/prompt detail panes. Changes are persisted via the pi SDK (
SettingsManager+DefaultPackageManager), mirroring the canonicalpi configTUI behavior — including package-scoped overrides (+pattern/-patterninsidesettings.packages[]). - Surface package-scoped disabled resources. Disabled items inside an npm package (e.g.
npm:context-modeskills) now appear in the tree, not just top-level disables. - Pending state with restart hint. Resources that are resolved-enabled but not yet in pi's boot-frozen command map render with an orange
restart pibadge so a freshly enabled skill doesn't appear to vanish. - Disabled prompts render under Prompts (previously lumped under Commands).
🛠 How it works
UI → POST /api/toggle → server writes a request file to ~/.pi/agent/inspect/requests/ → extension watches the dir via fs.watch, processes the toggle through the SDK, then re-captures the snapshot and broadcasts via SSE.
⚠️ Notes
- Settings changes don't fully take effect until pi is fully restarted —
pi.getCommands()is loaded once at session boot. The pending badge makes this visible.
Full diff: v0.3.0...v0.4.0
v0.3.0
What's new
Disabled resources are now visible
Tools, commands, and skills disabled via settings.json (disabledItems) now show up in the tree with a dimmed style, so you can see at a glance what's been turned off in the current session — not just what's active.
Prompts split into their own section
Slash commands backed by markdown prompt templates (source: "prompt") are now rendered under a dedicated Prompts group instead of being mixed in with code-driven extension commands. Distinct icon, its own filter option, its own char totals.
Before: /run, /parallel-review, /chain all sat under Commands, and you had to open the RAW panel to tell which was code vs. template.
After: Commands holds extension-backed commands, Prompts holds template-backed ones.
Group headers stay visible while scrolling
The kind row (e.g. Commands) now sticks at the top of the tree, with the source sub-group (e.g. pi-subagents) stacked just below it. Previously the sub-group covered the kind header as soon as you scrolled past it.
Commits
0cbd689feat: surface disabled resources from settings.json (#2)4d62324feat(tree): split prompts into their own section7eed858style(tree): keep group row sticky above subgroupd408f7fchore: Bump version to 0.3.0
Full diff: v0.2.0...v0.3.0
v0.2.0
First tagged release since the initial drop. Highlights below.
Features
- Vim-style keyboard navigation —
j/kmove between cards,g/Gjump to top/bottom,/focuses search,?opens a shortcut help modal. (45f7862) - Search by source — search now matches the
sourcefield instead ofdescription, so you can filter by which extension/plugin contributed an entry. (8fd98e7) - "View source" on detail panel — every detail view gets a GitHub button that deep-links to the originating file. (db83cde)
- Tree view enrichments — inline descriptions next to each node plus a per-group character total to gauge prompt weight at a glance. (555d643)
Docs
- README shows the demo image side-by-side (light + dark) and the topbar links to the GitHub repo. (759e095)
Chores
- Refreshed demo screenshots; tidied
package.jsonformatting.
Full Changelog: a371172...v0.2.0