Skip to content

Repository files navigation

rpi-packages

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).

Build and install

cargo test --workspace
cargo build --release --workspace
task install

task 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.0

The 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.zip

On 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.sh

The 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.

About

rpi extendtions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages