Pi-Bolt 1.1.5 is 1.1.4 with remote-control features for the phone apps, faster starts with extensions,
lower memory for large command output and batch runs, and a cheaper resize of long sessions. Pi is still 1.5.0. The
runtimes are rebuilt for one engine change (#281).
Added
- Review the computer's changes from a phone (#270):
- What it serves: remote control (
/remote-controlandpi-bolt service) gives read-only access to the session's
folder: git status with line counts, diffs, history and commits, folder listings and file contents. - Paths: they stay inside the folder after symlinks are resolved.
- Git: filters, external diff tools and textconv are off, and submodules show as commit ids.
- Secrets: files that look like secrets (
.env*, keys,.git/,.ssh/and others) are refused unless
remoteControl.readSecretFilesis set, and commits that touch them are withheld.
- What it serves: remote control (
- Live subagent streams (#272): while a phone shows a subagent,
remote control and RPC mode stream its own conversation: its saved messages, then its thinking, text and tool calls as
they happen. It is read-only and capped per message and per phone.
Changed
- Faster starts with extensions (#276): compiled binaries load
jiti's Babel only when an extension file is not in jiti's cache yet.pi -pwith one npm extension takes about 6% fewer instructions.- The TUI's first frame with extensions installed takes about 18% fewer.
- Memory is 4-5 MB lower.
- Default and
-jitbuilds gain the same.
- Less memory for large command output (#278): the bash tool
keeps a command's output tail without re-encoding each chunk twice. Peak memory for 8 MB of output drops from 63 to
36 MB. - Cheaper wrapping (#279): text wrapping measures and splits a
plain line in one pass. Resizing a 2,292-entry session takes 33% fewer instructions (235 to 190 ms). The output is
identical. - Lower memory in batch runs (#281):
pi -p, RPC mode and
pi-bolt servicestart with a 16 MB garbage-collection allowance instead of 48 MB. The memory floor of a 200-prompt RPC
session drops from about 45-49 to 28-30 MB.
Fixed
- Parallel sessions on the service (#271): the background
service no longer aborts a running turn when a phone opens or starts another session. It keeps up to 3 sessions open,
each with its own runtime. - Reconnects (#269): remote control replaces a reconnected
phone's old socket. - Pairing retries (#282): the pairing code is used up only when
the phone finishes connecting, so a phone that gives up mid-handshake can retry with the same QR code. It stays
single-use. - RPC output stays clean (#284): in RPC, JSON, ACP and MCP
modes,console.logand related methods from an extension or dependency no longer write into the protocol stream on
stdout. They go to stderr, as on Node. The same applies to-pmode: an extension'sconsole.logthere now goes to
stderr too. The Android app's engine andpi-bolt servicerun in RPC mode. - ACP mode gives extensions a theme (#255 by
@ArihantDeva): the theme is initialised before ACP hands extensions a UI context
(#249).
Also since 1.1.4, outside the release archives:
- Android app 0.6.0:
- in-app updates work again;
- spending limits;
- hands-free voice mode;
- background shell jobs;
- parallel sessions;
- review of the computer's changes;
- Pi checks its own preview;
- many fixes.
- The first iOS app (remote control, unsigned builds for sideloading), in development under
ios/.
Measured against 1.1.4
On an Apple M5, from the release archives (darwin-arm64), 25 runs, with 1.1.4 against itself as the noise baseline.
| Row | Default | -jit |
|---|---|---|
pi -p, instructions
| +0.2% (noise +0.2%) | 0.0% |
| Startup, instructions | -0.2% | +0.2% |
| First frame, instructions | +0.4% (noise -1.0%) | -0.3% |
| First frame with extensions (subagents + todo) | -17.8% | -17.8% |
pi -p with extensions
| -5.9% to -7.5% | -5.4% to -7.1% |
| Memory at first frame, with extensions | 4.5-5.9 MB lower | about the same |
| Peak memory, 64 MB of command output | 93.6 → 46.2 MB | 96 → 49 MB |
| RPC session, 200 prompts, memory floor | 48 → 27 MB | 46 → 27 MB |
| Long answers, transcripts and sessions, idle | at par | at par |
Install
curl -fsSL https://pi-bolt.opensec.in/install.sh | shirm https://pi-bolt.opensec.in/install.ps1 | iexpowershell -c "irm https://pi-bolt.opensec.in/install.ps1 | iex"or pi-bolt update, or npm install -g --allow-scripts=pi-bolt pi-bolt, or bun add -g --trust pi-bolt, or:
- Homebrew (macOS on Apple silicon, Linux):
brew install opensec-git/tap/pi-bolt - Scoop (Windows):
scoop bucket add opensec-git https://github.com/opensec-git/scoop-bucket, thenscoop install opensec-git/pi-bolt - mise:
github:opensec-git/Pi-Boltwith the options in the installation guide
The installer checks the release signature with OpenSSL 3, ssh-keygen (OpenSSH 8.1 or later), or an installed Pi-Bolt.
Every archive also has a GitHub build attestation: gh attestation verify <file> -R opensec-git/Pi-Bolt.
| Asset | For |
|---|---|
pi-bolt-linux-x64.tar.xz / .tar.gz
| Recommended on Linux x86-64. CPUs with AVX2 (Intel Haswell 2013+, AMD Zen+). |
pi-bolt-linux-x64-baseline.tar.xz / .tar.gz
| Any x86-64 CPU with SSE4.2. |
pi-bolt-linux-x64-jit.tar.xz / .tar.gz
| JIT also on, for plugins loaded at run time. |
pi-bolt-linux-arm64.tar.xz / .tar.gz
| Linux on ARM64, any 64-bit ARM CPU; Android in Termux, with the installer. |
pi-bolt-linux-arm64-jit.tar.xz / .tar.gz
| Linux on ARM64, JIT also on. |
pi-bolt-darwin-arm64.tar.xz / .tar.gz
| macOS. Macs with Apple silicon, macOS 13 or later. |
pi-bolt-darwin-arm64-jit.tar.xz / .tar.gz
| macOS, JIT also on. |
pi-bolt-win32-x64.zip
| Windows. Windows 10 (1809) or 11 on x64; compiled code on AVX2 CPUs, bytecode on others. |
pi-bolt-win32-x64-jit.zip
| Windows, JIT also on. |
pi-bolt-runtime-linux-x64.tar.gz, pi-bolt-runtime-linux-arm64.tar.gz, pi-bolt-runtime-darwin-arm64.tar.gz, pi-bolt-runtime-win32-x64.zip
| The Pi-Bolt Bun runtime, for compiling plugins in. |
pi-bolt-kit-linux-x64.tar.gz, pi-bolt-kit-linux-arm64.tar.gz, pi-bolt-kit-darwin-arm64.tar.gz
| What pi-bolt compile builds with, besides the runtime.
|
install.sh, install.ps1
| The installers, listed in the signed SHA256SUMS: pi-bolt update runs them only after checking them.
|
Linux x86-64 or ARM64 with glibc 2.17 or later; Android 7 or later on 64-bit ARM, in Termux; macOS 13 or later on Apple silicon;
Windows 10 1809 or later, or Windows 11, on x64.