github opensec-git/Pi-Bolt bolt-v1.1.7
Pi-Bolt 1.1.7

one hour ago

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() and pi.registerTile().

      • RPC and remote-control clients list and open pages with get_pages, open_page and close_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 --tile checks
        them.
    • See Package pages and Home tiles.

  • RPC get_providers (#306): lists every provider (built-in,
    registered by an extension, or in models.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 $NAME variables 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.py now samples memory after every prompt and reports floors to 0.1 MB.
    • --soak-runs N repeats 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 | sh
irm https://pi-bolt.opensec.in/install.ps1 | iex
powershell -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, then scoop install opensec-git/pi-bolt
  • mise: github:opensec-git/Pi-Bolt with 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.

Don't miss a new Pi-Bolt release

NewReleases is sending notifications on new releases.