⚡ Pi, the coding agent, compiled ahead of time to one native executable. 10× faster to start, 7× less CPU and 4.5× less memory than Pi on Node. Linux, macOS, Windows, ARM64 and Android (Termux).
翻訳待ち
開発ツールTypeScript · KotlinGitHub @opensec-git自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Pi-Bolt is the Pi you already use, with the same commands, sessions, settings, providers and extensions, but every function is compiled to machine code when the executable is built, so nothing is parsed or JIT-compiled at launch. Against Pi as released on Node 24, it writes a 400 KB file 120 times faster, uses 8 times less CPU while a long answer streams, 7 times less over a session and a quarter of the memory; against Pi on stock Bun, much the same.
https://github.com/user-attachments/assets/d043eb7d-ecb2-4837-a3ee-cbd98079adf9
| Pi on Node 24 | Pi‑Bolt | |
|---|---|---|
| Ready to type | 423 ms | 41 ms10× sooner |
| Writing a 400 KB file through a tool call | 143.7 s | 1.2 s120× faster |
| CPU while a long answer streams | 18.6 s | 2.3 s8× less |
| CPU per prompt, 40 prompts into a session | 352 ms | 46 ms7.7× less |
| Memory after 40 prompts | 521 MB | 117 MB4.5× less |
Pi-Bolt 1.0.0 against Pi 1.4.0 as released, Linux x86-64, one CPU. Every platform: Benchmarks.
Linux, macOS, Android (Termux)
curl -fsSL https://pi-bolt.opensec.in/install.sh | sh
Windows (PowerShell)
irm https://pi-bolt.opensec.in/install.ps1 | iex
Or:
powershell -c "irm https://pi-bolt.opensec.in/install.ps1 | iex"brew install opensec-git/tap/pi-bolt, updated with brew upgrade pi-boltscoop bucket add opensec-git https://github.com/opensec-git/scoop-bucket, then
scoop install opensec-git/pi-bolt, updated with scoop update pi-boltgithub:opensec-git/Pi-Bolt with the options in the
installation guide, updated with
mise upgrade --bump github:opensec-git/Pi-Boltnpm install -g --allow-scripts=pi-bolt pi-bolt, updated with npm install -g --allow-scripts=pi-bolt pi-bolt@latestbun add -g --trust pi-boltpi-bolt-avx2-bin-release-git (the x86-64 AVX2 build,
signature checked), paru -S pi-bolt-avx2-bin-release-gitThen, in your project:
pi-bolt # start
pi-bolt update # install the latest release
pi-bolt update --rollback # put back the build it replaced
pi-bolt update --channel beta # take pre-releases too
These update the installer's installations. To have Pi-Bolt install new releases in the background as a session starts (at
most once a day; they start next time), turn on Automatic updates in /settings, which is off by default;
PIBOLT_NO_AUTO_UPDATE=1 turns it off for scripts and CI. For an npm install, pi-bolt update asks the npm registry for the latest version
and prints the npm command that installs it; pi-bolt update --rollback says to install the version you want with
npm install -g --allow-scripts=pi-bolt pi-bolt@<version>. Homebrew, Scoop and mise installs are updated with their own
commands, which pi-bolt update prints.
New to Pi? Run /login to connect a provider. Your Pi configuration in ~/.pi/agent is used as is. Pi-Bolt installs next to Pi as pi-bolt, so both can stay installed;
running the installer again updates, reinstalls or uninstalls it.
The installer verifies the release signature and offers three optional extensions by OpenSec:
opensec-pi-subagents: specialized agents in separate sessions,
parallel workflows and scheduled jobs.opensec-pi-todo: a todo list for the model, shown as a live panel above the
editor.opensec-pi-fff: pi-fff's fast fuzzy find, grep and @-mentions, at full
speed on the default build.The default build has no JIT: Pi's own code is compiled machine code, and an extension loaded at run time is interpreted. Light
extensions don't notice. For extensions that do heavy work (search, parsing) or use bun:ffi, install the JIT build. Pi itself
stays compiled, so it is within about 5% of the default.
# macOS, Linux ARM64, Termux
curl -fsSL https://pi-bolt.opensec.in/install.sh | PIBOLT_VARIANT=arm64-jit sh
# Linux x86-64
curl -fsSL https://pi-bolt.opensec.in/install.sh | PIBOLT_VARIANT=x64-jit sh
On Windows, run $env:PIBOLT_VARIANT = "x64-jit" before the PowerShell command. With npm, keep PIBOLT_VARIANT set in your
shell profile; it is read on every run. pi-bolt --version then ends in JIT on, and pi-bolt update keeps the build you
chose.
On the default build, an extension that needs the JIT (it calls into a native library through bun:ffi) fails with a line that
names the extension and gives the command that switches to the JIT build.
Download a build from the latest release, check it against
SHA256SUMS, unpack it and run ./pi (on Windows, pi-bolt.exe).
| Download | For |
|---|---|
pi-bolt-linux-x64.tar.xz | Linux, CPUs with AVX2 (Intel Haswell, AMD Zen and later) |
pi-bolt-linux-x64-baseline.tar.xz | Linux, any x86-64 CPU |
pi-bolt-linux-arm64.tar.xz | Linux ARM64, any 64-bit ARM CPU (Raspberry Pi 3 and later, AWS Graviton, Ampere) |
pi-bolt-darwin-arm64.tar.xz | macOS, Apple silicon |
pi-bolt-win32-x64.zip | Windows x64; compiled code on CPUs with AVX2, bytecode on others |
This is the beginning of the README. Read the rest at the original. Read the full README ↗