https://github.com/rivet-dev/pi-acp-rust
Low-overhead Rust ACP adapter for the native Pi CLI
https://github.com/rivet-dev/pi-acp-rust
acp agentos pi rust
Last synced: about 11 hours ago
JSON representation
Low-overhead Rust ACP adapter for the native Pi CLI
- Host: GitHub
- URL: https://github.com/rivet-dev/pi-acp-rust
- Owner: rivet-dev
- License: other
- Created: 2026-07-14T04:27:25.000Z (1 day ago)
- Default Branch: main
- Last Pushed: 2026-07-14T07:55:58.000Z (about 22 hours ago)
- Last Synced: 2026-07-14T09:26:57.874Z (about 20 hours ago)
- Topics: acp, agentos, pi, rust
- Language: Rust
- Size: 81.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pi-acp-rust
An [Agent Client Protocol](https://agentclientprotocol.com/) adapter for the native Pi CLI, written in Rust. It is used by [AgentOS](https://github.com/rivet-dev/agent-os) and does not embed Pi.
```sh
npm install --global @earendil-works/pi-coding-agent @rivet-dev/pi-acp
pi-acp
```
On an i7-12700KF Linux host, 30 isolated interleaved runs produced:
| Adapter | Startup median | Startup p95 | Adapter RSS median | Process-tree RSS median |
| --- | ---: | ---: | ---: | ---: |
| Rust native (`7da5cb2`) | 19.0 ms | 20.8 ms | 3.7 MiB | 15.8 MiB |
| JavaScript `pi-acp@0.0.31` | 104.0 ms | 112.0 ms | 91.5 MiB | 103.6 MiB |
Reproduce it on Linux with exactly `python3 bench/run.py --samples 30 --warmups 5`; see the [methodology and raw samples](bench/results-linux-x86_64.json).
| Feature | Rust | `pi-acp@0.0.31` |
| --- | --- | --- |
| Native `pi --mode rpc` | Yes | Yes |
| Host Pi config, credentials, skills, and tools | Inherited unchanged | Inherited unchanged |
| Text, thought, image, tool, and structured-diff streaming | Yes | No separate thought stream |
| Embedded text resources | On by default | Opt-in |
| Model groups, model switching, and thinking modes | Yes | Yes |
| Multi-turn queue and cancellation | Bounded queue; yes | Client queue; yes |
| Session list/load/resume/fork/close | Yes | List/load |
| Native extension, prompt, and skill command discovery | Yes | Prompt/skill; extension commands filtered |
| Built-in headless commands | Compact/session/name/steering/follow-up/export | Yes; broader UI-oriented set |
| Extension select/confirm through ACP permissions | Yes | Yes |
| Extension free-form input/editor UI | Cancelled explicitly | Cancelled explicitly |
| ACP terminal login | Yes | Yes |
| Per-session/system prompt injection | Yes | No adapter option |
| MCP and additional roots | Rejected explicitly; Pi RPC has no native surface | MCP accepted but not wired |
The real-Pi LLMock gate passes two turns separated by close/resume on `@earendil-works/pi-coding-agent@0.80.6`: 14 models, `PONG`/`PONG`, and two LLM requests. Legacy `0.73.1` and `0.60.0` are also covered in CI.
Releases include native binaries for macOS, Linux, and Windows. AgentOS pins this source and owns its VM-specific cross-compilation separately.