acp-bridge
Run any local LLM as an ACP-compatible agent
Problem
Zed, JetBrains, ACP UI and other Agent Client Protocol (ACP) clients only work with agents that speak the ACP wire protocol — which locked out the local LLM ecosystem entirely.
Architecture Decisions
- →Rust as the bridge layer: a single static binary that translates between ACP JSON-RPC and any OpenAI-compatible completion endpoint
- →Supports Ollama, llama.cpp and any OpenAI-compatible backend — the model never leaves the machine
- →Implements ACP v1 and v2 wire formats so both old and new agent clients work
- →Distributed via crates.io so `cargo install` is the only setup step
Outcomes
- ✓Local models spawnable as agents in Zed, JetBrains, ACP UI, Meuxe and Codex CLI
- ✓Zero data egress — prompts and completions stay on-device
- ✓open source at github.com/BlakeHung/acp-bridge
What I Learned
- •Wire-format compatibility is the hard part of protocol bridges — v1 vs v2 ACP differences dominated the 0.9.0 work
- •Static binaries beat Docker for developer tooling adoption