Pi-Bolt 1.1.7 is 1.1.6 with more mobile UI kit components, package pages, Home tiles and an RPC command
that lists providers. Pi is still 1.5.0. The engine is unchanged, so the runtimes are 1.1.6's.
Added
-
More of the mobile UI kit (#304):
-
Components:
chart: line, bar, area and sparkline charts;table: typed, sortable and filterable columns, with row taps;location: opens the phone's maps app.
The terminal shows each of them as text.
-
Package pages and Home tiles: packages register them with
pi.registerPage()andpi.registerTile().- RPC and remote-control clients list and open pages with
get_pages,open_pageandclose_page. - The Pi-Bolt app opens a package's pages from Settings, without a session, and shows its tile on Home when the
user turns it on. - Tiles have their own slot, size limits and at most one update a second.
pi-bolt mobile-ui check --tilechecks
them.
- RPC and remote-control clients list and open pages with
-
See Package pages and Home tiles.
-
-
RPC
get_providers(#306): lists every provider (built-in,
registered by an extension, or inmodels.json). For each one it gives:- its name and origin;
- whether its auth works now, and the kind of stored credential;
- whether it takes an API key (with the
$NAMEvariables an extension declares) or has a login flow; - its chat models, and which of them can be used now.
Credentials are checked again first, so a key stored after startup shows up. Credential values are never included.
See get_providers.
Changed
- A reliable RPC memory floor in the soak benchmark (#310):
bench/stress.pynow samples memory after every prompt and reports floors to 0.1 MB.--soak-runs Nrepeats the soak and reports the median floor.
- The 1.1.6 "+2 MB RPC floor" was noise. The old floor was the lowest of 5 samples, rounded to whole MB.
- Repeated runs: over 15 runs of each build, 1.1.6 is +0.5 ± 0.5 MB above 1.1.5.
- Heap snapshots: 1.1.6 holds 0.1 MB more live JS heap, the size of the UI kit's code. That doesn't grow with
prompts.
Also since 1.1.6, outside the release archives:
- Android app 0.7.0: native UIs for Pi packages, and engine 1.1.6.
Measured against 1.1.6
On an Apple M5, from the release archives (darwin-arm64), with 1.1.6 against itself as the noise baseline.
| Row | Default | -jit |
|---|---|---|
| Startup, instructions | at par | at par |
pi -p, instructions
| at par (-0.2%) | at par (-0.1%) |
pi -p, wall
| at par | about the same (+0.2 ms; two copies of 1.1.6 differ by 0.15-0.2 ms) |
pi -p / TUI, peak memory
| at par | at par |
| Resumed 2,292-entry session, at rest and peak | at par | at par |
| Long transcript, instructions per frame | at par | at par |
| Long answers, big output, idle | at par | at par |
| RPC session (200 prompts), memory floor, median of 10 runs | 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-x64-musl.tar.xz / .tar.gz
| Alpine Linux and other musl systems on x86-64 (AVX2). Needs libstdc++.
|
pi-bolt-linux-x64-musl-baseline.tar.xz / .tar.gz
| musl on any x86-64 CPU with SSE4.2. |
pi-bolt-linux-x64-musl-jit.tar.xz / .tar.gz
| musl, JIT also on. |
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-x64-musl.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-x64-musl.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; Alpine and other musl Linux on x86-64; 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.