feat: ACP bridge for editor integration#333
Merged
Merged
Conversation
…itors
Implements an ACP (Agent Client Protocol) bridge that allows ACP-compatible
editors like Zed to communicate with Agent Relay agents.
Key features:
- ACP JSON-RPC server over stdio transport
- Session management (new sessions, cancellation)
- Prompt handling with streaming responses
- Relay daemon client for agent communication
- CLI entry point (relay-acp)
The bridge broadcasts user prompts to all connected relay agents and
streams their responses back to the editor in real-time.
Usage:
relay-acp --name my-agent --debug
Or configure in Zed settings:
{ "agent": { "custom_agents": [{ "name": "Agent Relay", "command": "relay-acp" }] } }
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documents how to use the ACP bridge to integrate Agent Relay with code editors like Zed and Neovim that support the Agent Client Protocol. Covers: - Architecture overview and message flow - Installation and configuration for various editors - CLI options and environment variables - Programmatic usage with TypeScript - Troubleshooting and best practices 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…itors
Implements an ACP (Agent Client Protocol) bridge that allows ACP-compatible
editors like Zed to communicate with Agent Relay agents.
Key features:
- ACP JSON-RPC server over stdio transport
- Session management (new sessions, cancellation)
- Prompt handling with streaming responses
- Relay daemon client for agent communication
- CLI entry point (relay-acp)
The bridge broadcasts user prompts to all connected relay agents and
streams their responses back to the editor in real-time.
Usage:
relay-acp --name my-agent --debug
Or configure in Zed settings:
{ "agent": { "custom_agents": [{ "name": "Agent Relay", "command": "relay-acp" }] } }
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documents how to use the ACP bridge to integrate Agent Relay with code editors like Zed and Neovim that support the Agent Client Protocol. Covers: - Architecture overview and message flow - Installation and configuration for various editors - CLI options and environment variables - Programmatic usage with TypeScript - Troubleshooting and best practices 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
e69cf09 to
8ce2879
Compare
Add 'zed-bridge' to the INTERNAL_AGENTS set so it doesn't appear in the default `agent-relay agents` output. It will still be visible when using the --all flag. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add @AgentName targeting to send messages to specific agents - Use main @agent-relay/sdk instead of duplicate relay-client - Restructure docs to emphasize `agent-relay up --zed` quick start - Move advanced editor config (Neovim, programmatic usage) to bottom - Remove redundant CLI Options section from docs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…nced Streamline the editor integration guide by removing unnecessary internal details and moving programmatic usage to the advanced section. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add vscode-acp extension to editor integration docs. Note that it currently only supports auto-detected agents (Claude, OpenCode, etc.) and doesn't yet have custom agent configuration support. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When an agent crashes (SIGKILL, OOM, etc.), the ACP bridge now: - Detects system messages via isSystemMessage flag - Formats crash notifications with agent name, signal, exit code - Broadcasts to all active Zed sessions (not just processing ones) This ensures users see when spawned agents die unexpectedly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add `agent-relay status` command to show: - Connection state (Connected/Disconnected) - Relay client state - Agent name - Number of connected agents 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add `agent-relay uninstall` command with options: - --keep-data: Keep database and message history, only remove runtime files - --zed: Also remove Agent Relay from Zed editor configuration - --snippets: Remove agent-relay snippets from CLAUDE.md, GEMINI.md, AGENTS.md - --force: Skip confirmation prompt - --dry-run: Preview what would be removed without making changes The command stops the daemon if running, then removes the .agent-relay/ directory and optionally cleans up related configuration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| content = content.replace(/<!-- prpm:snippet:start @agent-relay\/agent-relay-protocol.*?<!-- prpm:snippet:end @agent-relay\/agent-relay-protocol[^\n]*\n?/gs, ''); | ||
|
|
||
| if (content.length !== originalLength) { | ||
| fs.writeFileSync(filePath, content); |
Check failure
Code scanning / CodeQL
Potential file system race condition High
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Regenerated lock file from scratch to ensure all workspace packages are properly recorded for npm ci. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add @agent-relay/acp-bridge to the packages matrix in publish.yml so it gets published alongside other workspace packages. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
… IDE - Add onChannelMessage handler to receive channel broadcasts - Subscribe to #general channel on connect - Route channel messages to all active sessions in Zed This ensures messages sent to #general by agents are visible in the IDE. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@agent-relay/acp-bridgepackage that exposes relay agents to ACP-compatible editors (Zed, Neovim, etc.)Changes
packages/acp-bridge/with relay client, ACP agent implementation, and CLIdocs/guides/editor-integration.mdxwith setup instructions for Zed, Neovim, and other editorsdocs/mint.jsonto include the new guideHow it works
Test plan
relay-acpas a custom agent🤖 Generated with Claude Code