Rust-native extension packages for the rpi agent, built against the stable
rpi-plugin-sdk ABI from pi-rust.
The selection was taken from the Pi package catalog on 2026-09-09. Pi does not publish star ratings in the catalog, so monthly downloads are used as the objective popularity signal. These five cover the highest-download extensions that map cleanly onto the current Rust SDK:
| Rust package | Inspired by | Catalog downloads/month | Registered tool |
|---|---|---|---|
rpi-mcp-adapter |
pi-mcp-adapter |
761,442 | mcp_request |
rpi-web-access |
pi-web-access |
414,994 | web_fetch |
rpi-subagents |
pi-subagents |
362,483 | delegate_task |
rpi-background-tasks |
pi-background-tasks |
107,663 | background_task |
rpi-lens |
pi-lens |
65,476 | code_lens |
These are independent Rust implementations, not ports of upstream source code.
The workspace also includes local-first workflow packages: rpi-todo
(todo), rpi-codegraph (codegraph), rpi-memory (memory),
rpi-token-usage (token_count plus a token-usage renderer),
rpi-ask-user, rpi-permissions, rpi-simplify, rpi-search, rpi-goal,
rpi-websearch, rpi-webfetch, and rpi-firecrawl (firecrawl_search +
firecrawl_scrape), plus rpi-extension-rpc (extension_rpc_client and
extension_rpc_server).
cargo test --workspace
cargo build --release --workspace
task installtask install copies the eighteen platform cdylibs to
~/.rpi/agent/extensions. The CLI discovers that directory automatically; an
explicit directory also works:
rpi --extensions-dir "$HOME/.rpi/agent/extensions"These are cdylib extensions, so plain cargo install is not the right
consumer installation mechanism. The cross-platform consumer command is built
into the rpi host:
rpi install rpi-todo
rpi install rpi-memory --version 0.1.0The command downloads the crate from crates.io, compiles its cdylib for the
current OS and architecture, and places it in ~/.rpi/agent/extensions.
After publishing a release, users who prefer prebuilt binaries can download the
platform-specific archive generated by CI and install it with:
powershell -ExecutionPolicy Bypass -File scripts/install-bundle.ps1 `
-Archive .\rpi-packages-windows-x86_64.zipOn Linux and macOS, extract the platform archive and run the Unix installer:
tar -xzf rpi-packages-linux-x86_64.tar.gz
cd rpi-packages-linux-x86_64
./install.shThe PowerShell script accepts an HTTPS release URL. Developers can instead clone
this repository and run task install; the package workspace uses the already
published rpi-plugin-sdk only, so a sibling pi-rust checkout is not needed.
The optional task smoke maintainer check exercises the host loader and does
require a sibling pi-rust checkout.
For a release preflight, run task publish-dry-run. Real crates.io publishing
is intentionally separate and requires cargo login. Since the first nine
packages are already released, publish this batch with task publish-new; use
task publish only for a fresh repository where none of the eighteen names
exist yet. Each extension is self-contained and can be published in any order.
task pack
also creates a directly installable Windows
x86_64 DLL bundle under dist/ for a GitHub Release or another binary registry.