opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

AI coding agent in Rust, no Electron, 36 built-in tools
GitHub RepoImpressions2

Project Description

View on GitHub

A Native AI Coding Agent in Rust, Without the Electron Bloat

You want an AI assistant in your terminal, but the options are frustrating. Startup drags, the runtime eats memory, streaming randomly breaks, and extending anything feels like fighting the tool instead of using it. pi_agent_rust is a from-scratch Rust port of Pi Agent that tries to fix exactly those complaints.

What It Does

pi_agent_rust is a native AI coding agent CLI written in Rust. It's a port of the original Pi Agent by Mario Zechner (done with his blessing), but rather than a line-by-line translation, it rebuilds the engine on two purpose-built Rust libraries.

The first is asupersync, a structured concurrency async runtime with built-in HTTP, TLS, and SQLite. The second is rich_rust, a Rust port of Will McGugan's Rich library, which gives the terminal output markup syntax and formatting. The install script drops a single end-user binary called pi, so there's no managed runtime to babysit.

It ships with 36 built-in tools. Nineteen of those sit in the default --tools list, fourteen are always present in the model's schema, and the rest are reachable through an xdev dispatcher or can be enabled in settings. It supports streaming responses, session persistence, and a single-shot mode for when you don't want a session at all.

One thing worth flagging: the project has moved on from strict drop-in compatibility with the legacy TypeScript Pi. The README is direct about this—that target became impractical as the legacy implementation evolved. OMP is now the closer reference for feature surface, workflows, and UI/UX, while the Rust port keeps its own architecture and will differ when that makes for a simpler or safer agent.

Why It's Cool

It's built for speed and low overhead by design. The README frames the problem plainly: managed runtimes add startup overhead, and Electron apps or heavy runtimes add substantial overhead. A native Rust binary sidesteps both. If you've ever waited on a Node-based agent to spin up, that's the itch this scratches.

No unsafe code. The repository carries an "unsafe forbidden" badge, and the project targets the Rust 2024 edition. For a tool that runs in your shell and touches your files, that's a meaningful posture.

The tool count is genuinely large, and it's layered. Thirty-six tools is a lot, but the design doesn't shove all of them into the model's context at once. The default list is 19, 14 are always in the schema, and the remainder live behind the xdev dispatcher. That's a sensible way to keep the model's schema from ballooning while still making the full set reachable.

It's honest about its own scope. The README has a section on benchmark methodology and claim integrity, and it explicitly states that historical drop-in and parity artifacts "do not gate product work, releases, or user-facing claims." A project that tells you what it isn't is easier to trust than one that oversells.

The build pipeline is opinionated. All quality checks, builds, and releases run through Doodlestein Self-Releaser (DSR). Contributors are told not to invoke Cargo or RCH directly, and GitHub Actions is explicitly not an execution or evidence authority. That's an unusual stance, but it means the release path is consistent and traceable.

How to Try It

Install the latest release with the one-liner from the README:

curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/pi_agent_rust/main/install.sh?$(date +%s)" | bash

Then start using it. A few common invocations:

# Start a session
pi "Help me refactor this function to use async/await"

# Continue a previous session
pi --continue

# Single-shot mode (no session)
pi -p "What does this error mean?" < error.log

If you're a contributor rather than a user, note that the project expects you to work through DSR. Run dsr quality --tool pi_agent_rust for the registered quality recipe, and check docs/releasing.md for the canonical build and release commands. Don't reach for Cargo or RCH directly.

The full source and documentation live at github.com/dicklesworthstone/pi_agent_rust.

Final Thoughts

pi_agent_rust is aimed at developers who already live in the terminal and want an AI agent that respects that environment—fast to start, light on resources, and not wrapped in a browser engine. If you're coming from OpenClaw or the TypeScript Pi, the README suggests the core workflow carries over while the engine underneath gets a rebuild. The honest caveat is that this isn't trying to be a drop-in replacement anymore, so don't expect perfect parity with the legacy tool. If you value a native binary, a structured concurrency runtime, and a clearly stated direction over backwards compatibility, it's worth a look.


Follow @githubprojects for more developer tools and open source projects.

Back to Projects
Project ID: 03c5f7ae-417d-4fb3-8fe8-69bb7e7a739bLast updated: September 25, 2026 at 02:50 AM