my-pi plugin
A build of the Pi coding agent with extensions: secret redaction, LSP, searchable context, telemetry, an event dashboard and team mode
- 139 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Pi runs commands and edits files, and the extensions add LSP, git and exchange between sessions
- The launch command allows dependency build scripts and pulls the `latest` version every time
- The `pi-talk` extension sends voice to Deepgram, while telemetry and context are written to local SQLite databases
Install
Manual install
pnpx --allow-build=@google/genai --allow-build=protobufjs my-pi@latestLaunches the bundle without installing. A single extension: `pi install npm:@spences10/pi-lsp`.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Pi runs commands and edits files, and the extensions add LSP, git and exchange between sessions
- The launch command allows dependency build scripts and pulls the `latest` version every time
- The `pi-talk` extension sends voice to Deepgram, while telemetry and context are written to local SQLite databases
This is third-party code. Review the repository files before installing.
What it does
my-pi is a personal build of the Pi coding agent: upstream Pi with the author's extensions, switched on and off with `/extensions`. Each extension also ships as a separate npm package, so you can install the ones you need into your own Pi with `pi install npm:@spences10/pi-lsp`. MCP, codemode, tool search, skills, themes and sessions remain features of Pi itself. The bundle includes `pi-redact`, which hides secrets in output, `pi-lsp`, which gives diagnostics and symbol tools through a language server, `pi-context`, which keeps oversized tool output in a local SQLite database with full-text search, `pi-recall`, which reminds about `pirecall` and syncs in the background, `pi-telemetry`, which writes local telemetry to SQLite with a `/telemetry` command, and `pi-observability`, which shows an event stream in the browser. It also has `pi-confirm-destructive` for confirming dangerous actions, `pi-git-ui` for git staging, `pi-team-mode` for exchange between sessions, `pi-talk` for Deepgram dictation and a theme pack.
Who it is for. Pi users who want ready-made extensions for secrets, LSP and observability, and extension authors looking for sample packages.
Good fit when
- Secrets from environment variables must stay out of tool output and session history
- The agent needs type diagnostics and symbol search across the project through a language server
- A command reply of hundreds of kilobytes does not fit the context and has to be searched in pieces
- A confirmation is wanted before file deletion and other destructive actions
- You want a live browser dashboard of sessions and later review from local telemetry
Not a fit when
- Pi is not installed and not planned: the packages extend it and are useless without it
- You want clean Pi without someone else's extensions: the bundle includes all the author's packages, which you disable one by one
- You need a ready skill for Claude Code or Cursor: these are Pi extensions
- You want to install without running build scripts: the launch command allows them for two dependencies
Example request
Launch my-pi, enable pi-redact and pi-lsp through /extensions and check types in the src folderLimitations
The author calls the build his own Pi, and the extension set is picked for his work. It updates with him: `my-pi@latest` pulls a fresh version each time, so pinning is up to you. The launch command allows build scripts for `@google/genai` and `protobufjs`. The `pi-talk` dictation extension works through Deepgram, a third-party service. Developing the repository itself needs Node.js 24.15 or newer and pnpm.
How to disable. Switch extensions off with `/extensions` inside Pi. A single package is removed with Pi's own tools, and the bundle goes away when you stop launching `my-pi`.
FAQ
How do I launch my-pi?
Run `pnpx --allow-build=@google/genai --allow-build=protobufjs my-pi@latest`. Pi opens with the author's extension set. Toggle them with the `/extensions` command.
Can I take one extension without the whole bundle?
Yes, each package is published separately. For example `pi install npm:@spences10/pi-lsp` adds only LSP diagnostics to your Pi. The list of packages with their purpose sits in the README table.
What does pi-redact do?
It masks secrets in output and keeps statistics that the `/redact-stats` command shows. Enable it if your sessions can hold environment variables with keys.
Where is telemetry stored?
In a local SQLite database, and the `/telemetry` command shows what was collected. The `pi-telemetry` extension is described as local and does not send data out.
How is my-pi different from plain Pi?
It is the same Pi with the author's extensions plugged in, while MCP, skills, themes and sessions stay features of Pi itself. You get a ready bundle instead of installing packages by hand.
Discussion
No questions or reviews yet.
Related
PluginsA minimal terminal coding agent extended with skills, prompt templates and TypeScript packages
A set of extensions for the Pi agent: repository analysis, secrets leased with a TTL and search over agent sessions.
A web app for the Pi coding agent: sessions survive restarts, teammates can join, and you can work from a phone with no cloud VM
A web dashboard for the pi coding agent with sessions grouped by branch, a built-in terminal and a mobile mode
shitty-extensions adds fifteen extensions to the Pi agent: second opinions, plan mode, cost tracking and test loops.
Local persistent memory for coding agents on SQLite: decisions, fixes and code context survive between sessions.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| my-pi (this card) | no | 139 | |
| Pi | no | 121,564 | upstream Pi without the author's extension set |
| pi-tool-display | no | 306 | a single extension that displays tool calls |
README in short
The README briefly says my-pi is the author's Pi with built-in extensions, and shows the launch command and how to install single packages. A table lists about twenty packages with their purpose, followed by extra extensions and support libraries. The end covers documentation and development: monorepo layout, build, checks and tests.