Skip to content

Commit 8a7e0ab

Browse files
stephanjclaude
andcommitted
docs: add ACP Runners blog post with screenshots
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d482442 commit 8a7e0ab

3 files changed

Lines changed: 143 additions & 0 deletions

File tree

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
slug: acp-runners
3+
title: "ACP Runners: From Text Pipes to Agent Protocols"
4+
authors: [stephanj]
5+
tags: [ACP runners, agent communication protocol, JSON-RPC, Claude, Kimi, Gemini, Kilocode, GitHub Copilot, spec-driven development, agent mode, IntelliJ IDEA, LLM, open source]
6+
date: 2026-02-14
7+
description: "DevoxxGenie ACP Runners bring structured, bidirectional agent communication to your IDE — using JSON-RPC 2.0 to connect with Claude, Copilot, Kimi, Gemini, and Kilocode."
8+
keywords: [devoxxgenie, acp runners, agent communication protocol, json-rpc, claude code acp, github copilot, kimi, gemini, kilocode, jetbrains, intellij idea, spec-driven development]
9+
image: /img/devoxxgenie-social-card.jpg
10+
---
11+
12+
# ACP Runners: From Text Pipes to Agent Protocols
13+
14+
In the [previous blog post](/blog/cli-runners), we introduced CLI Runners — a way to use your existing AI subscriptions (Claude Pro, Copilot, Gemini, etc.) directly inside IntelliJ by piping prompts to external CLI tools. CLI Runners solved the "double-paying" problem, but they communicate through plain text over stdin/stdout. That works, but it's a bit like having a conversation by passing notes under a door.
15+
16+
**ACP Runners** open that door. Instead of unstructured text, they use the **Agent Communication Protocol** — a structured, bidirectional communication layer built on **JSON-RPC 2.0** — to turn your IDE into a proper agent hub.
17+
18+
<!-- truncate -->
19+
20+
## Why ACP?
21+
22+
CLI Runners are effective for one-shot tasks: send a prompt, get a response, done. But modern AI coding assistants are becoming _agents_ — they don't just answer questions, they plan, execute, report progress, and coordinate. Plain text pipes weren't designed for that.
23+
24+
ACP addresses this with a proper protocol:
25+
26+
- **Typed messages** instead of raw text — the IDE knows whether it's receiving a code edit, a terminal command, or a status update
27+
- **Capability negotiation** — at startup, the IDE and the tool agree on what each side supports
28+
- **Persistent processes** — the tool stays alive between tasks, eliminating cold-start overhead
29+
- **Structured streaming** — response chunks are typed and ordered, not just lines of stdout
30+
31+
Think of CLI Runners as walkie-talkies. ACP Runners are a phone call — two-way, structured, and always connected.
32+
33+
## How It Works
34+
35+
DevoxxGenie spawns the ACP tool as a child process and communicates over stdin/stdout using JSON-RPC 2.0:
36+
37+
```
38+
┌──────────────────┐ JSON-RPC 2.0 ┌──────────────────────┐
39+
│ DevoxxGenie │◀═══════════════▶│ ACP Tool │
40+
│ (ACP Client) │ stdin/stdout │ (Claude/Kimi/...) │
41+
└──────────────────┘ └──────────────────────┘
42+
│ │
43+
1. Spawns process 2. Handshake (initialize)
44+
3. Sends prompt via 4. Streams structured
45+
ACP message response chunks back
46+
5. Receives completion 6. Process stays alive
47+
with metadata for next message
48+
```
49+
50+
The protocol flow is straightforward:
51+
52+
1. **Initialize** — DevoxxGenie sends an `initialize` request with its supported capabilities; the tool responds with its own
53+
2. **Send Prompt** — The task prompt is sent as a structured ACP message
54+
3. **Receive Response** — The tool streams typed response chunks back — text, file operations, terminal commands
55+
4. **Completion** — The tool signals it's done; DevoxxGenie processes the final result and the process stays alive for the next task
56+
57+
No MCP config file generation needed. No stdout parsing heuristics. The protocol handles context natively.
58+
59+
## Supported ACP Tools
60+
61+
DevoxxGenie ships with presets for five ACP-compatible tools, plus a custom option:
62+
63+
| ACP Tool | Executable | Description |
64+
|----------|-----------|-------------|
65+
| **Claude** | `claude-code-acp` | Claude Code via the [claude-code-acp](https://github.com/zed-industries/claude-code-acp) bridge by Zed Industries |
66+
| **Copilot** | `copilot --acp` | GitHub Copilot CLI in ACP mode |
67+
| **Kimi** | `kimi` | Moonshot AI's coding assistant with native ACP support |
68+
| **Gemini CLI** | `gemini` | Google's Gemini CLI with ACP protocol mode |
69+
| **Kilocode** | `kilocode` | Kilocode's AI coding agent |
70+
| **Custom** | *(user-defined)* | Any ACP-compatible tool |
71+
72+
Claude Code doesn't natively speak ACP yet, but Zed Industries maintains the [claude-code-acp](https://github.com/zed-industries/claude-code-acp) bridge that wraps it in an ACP-compatible interface. Install it with `npm install -g @anthropic-ai/claude-code-acp` and you're good to go.
73+
74+
## Setting It Up
75+
76+
Setup is similar to CLI Runners — about a minute of configuration:
77+
78+
1. Go to **Settings > Tools > DevoxxGenie > CLI/ACP Runners**
79+
2. Scroll to the **ACP Runners** section and click **+**
80+
3. Select a **Type** from the dropdown — the executable path fills in automatically
81+
4. Adjust the path if your tool is installed elsewhere
82+
5. Click **Test Connection** to verify the ACP handshake succeeds
83+
6. **Apply** and you're done
84+
85+
![ACP Runners Setup](/img/ACP-Runners-Setup.png)
86+
87+
## Selecting Your Runner
88+
89+
The DevoxxGenie Specs toolbar includes an execution mode dropdown where ACP runners appear alongside CLI runners and the built-in LLM provider:
90+
91+
![ACP Runners Selection](/img/ACP-Runners-Selection.png)
92+
93+
ACP runners show up prefixed with **ACP:** — so you'll see entries like *ACP: Claude*, *ACP: Kimi*, and *ACP: Gemini* next to the existing CLI runner options. The selection persists across IDE restarts.
94+
95+
## ACP vs CLI Runners: When to Use Which
96+
97+
Both runner types leverage your existing AI subscriptions. The difference is how they communicate:
98+
99+
| Feature | CLI Runners | ACP Runners |
100+
|---------|-------------|-------------|
101+
| **Communication** | Plain text over stdin/stdout | JSON-RPC 2.0 over stdin/stdout |
102+
| **Protocol** | One-shot process per task | Persistent process with structured messages |
103+
| **Streaming** | Raw stdout stream | Typed response chunks |
104+
| **Capability negotiation** | None | Handshake with capability exchange |
105+
| **MCP integration** | Auto-generated MCP config file | Not required (protocol handles context) |
106+
| **Process lifecycle** | Spawned and terminated per task | Stays alive for multiple interactions |
107+
108+
**Use CLI Runners** when you want the simplest setup, when a tool doesn't support ACP yet, or when you're running one-off tasks where the overhead of a persistent process isn't worth it.
109+
110+
**Use ACP Runners** when you want richer agent interactions, structured streaming, and the efficiency of a persistent connection — especially for multi-task workflows like the [Agent Loop](/docs/features/sdd-agent-loop) where the tool handles multiple tasks in sequence without restarting.
111+
112+
Note that Claude Code is available in **both** modes: as a CLI Runner (direct stdin/stdout) and as an ACP Runner (via the claude-code-acp bridge). Try both and see which fits your workflow better.
113+
114+
## The Bigger Picture
115+
116+
DevoxxGenie's evolution follows a clear arc:
117+
118+
1. **Chat** — talk to an LLM inside your IDE
119+
2. **Agent Mode** — let the LLM take actions on your codebase
120+
3. **Spec-driven Development** — define structured tasks instead of ad-hoc prompts
121+
4. **CLI Runners** — bring your own AI tools and subscriptions
122+
5. **ACP Runners** — structured agent-to-agent communication
123+
124+
Each step builds on the previous. ACP Runners don't replace CLI Runners — they extend them for tools that support the richer protocol. And as more CLI tools adopt ACP, the integration will only get deeper: proper progress callbacks, multi-turn coordination, and true agent-to-agent collaboration.
125+
126+
The AI coding landscape is converging on protocols and standards. ACP is one of the emerging ones, and DevoxxGenie is ready for it.
127+
128+
## Getting Started
129+
130+
1. Update DevoxxGenie to the latest version
131+
2. Go to **Settings > DevoxxGenie > CLI/ACP Runners**
132+
3. Add an ACP tool (try Claude via `claude-code-acp` or Kimi)
133+
4. Select it from the toolbar dropdown (look for the **ACP:** prefix)
134+
5. Run a spec task or start a chat session
135+
136+
Same subscriptions. Smarter protocol. Better results.
137+
138+
**Links:**
139+
- [Install from JetBrains Marketplace](https://plugins.jetbrains.com/plugin/24169-devoxxgenie)
140+
- [ACP Runners Documentation](https://genie.devoxx.com/docs/features/acp-runners)
141+
- [CLI Runners Documentation](https://genie.devoxx.com/docs/features/cli-runners)
142+
- [Spec-driven Development Docs](https://genie.devoxx.com/docs/features/spec-driven-development)
143+
- [GitHub Repository](https://github.com/devoxx/DevoxxGenieIDEAPlugin)
272 KB
Loading
89.4 KB
Loading

0 commit comments

Comments
 (0)