Skip to content

About

Connect to ACP agent in browser.

Resources

Stars

194 stars

Watchers

2 watching

Forks

Repository files navigation

Chrome ACP

A Chrome extension to chat with AI agents. Give them the power to see and interact with your browser.

Built on ACP.

Quick Start

To use Chrome ACP, you need:

  • @chrome-acp/proxy-server — The proxy that bridges browser ↔ agent
  • An ACP-compatible agent (e.g. Claude Code + its ACP adapter)
# Install
npm install -g @chrome-acp/proxy-server @anthropic-ai/claude-code @zed-industries/claude-code-acp

# Start
acp-proxy --no-auth claude-code-acp

Then open http://localhost:9315 in your browser.

Use the Chrome Extension

For full browser control (reading tabs, executing scripts), use the extension:

  1. Download chrome-acp.zip from Releases
  2. Unzip and load in chrome://extensions (enable Developer mode → Load unpacked)
  3. Click the extension icon → Connect to your running proxy

Features

  • Works with any ACP-compatible agent — Claude Code, OpenCode, Gemini CLI, and more
  • Runs anywhere with Node.js — Local machine, server, even Termux on Android
  • Operates as you — Agents interact with pages using your real browser session (spoiler: crawler!)

Architecture

graph LR
    A[Chrome Extension] <-->|WebSocket| C[Proxy Server]
    B[Web Client] <-->|WebSocket| C
    C <-->|stdin/stdout| D[ACP Agent]
Loading

CLI Options

Option Default Description
--port 9315 Server port
--host localhost Host to bind (use 0.0.0.0 for network access)
--https false Enable HTTPS with self-signed certificate (for LAN only)
--public-url - Public WebSocket URL for QR code (e.g., wss://example.com/ws)
--no-auth false Disable authentication (safe for localhost, dangerous for remote)
--termux false Auto-launch PWA via Termux on Android
--debug false Enable debug logging to file

Remote Access

For accessing from other devices on your network (e.g., mobile):

acp-proxy --https --host 0.0.0.0 <agent-command>

The server prints URLs with embedded auth tokens and a QR code for mobile connection.

Note: HTTPS is required for camera access (QR scanning) on mobile devices.

Termux (Android)

acp-proxy --termux <agent-command>

Auto-launches the PWA after server starts.

Browser Tools

The extension exposes browser tools to agents via MCP:

Tool Description
browser_tabs List all open tabs (id, url, title, active status)
browser_read Read DOM content of a tab as simplified Markdown
browser_execute Execute JavaScript in a tab's page context

Usage flow:

  1. Agent calls browser_tabs to list available tabs
  2. Agent calls browser_read with a tabId to read page content
  3. Agent calls browser_execute with a tabId and script to interact with the page

Note: Browser tools require the Chrome extension. They are not available in the web client.

Supported Agents

Claude Code — Anthropic's agentic coding tool
npm install -g @chrome-acp/proxy-server @anthropic-ai/claude-code @zed-industries/claude-code-acp
acp-proxy --no-auth claude-code-acp
Codex CLI — OpenAI's coding agent
npm install -g @chrome-acp/proxy-server @openai/codex @zed-industries/codex-acp
acp-proxy --no-auth codex-acp
OpenCode — Open-source terminal AI assistant
npm install -g @chrome-acp/proxy-server
curl -fsSL https://opencode.ai/install | bash
acp-proxy --no-auth opencode acp
Gemini CLI — Google's AI agent (free tier available)
npm install -g @chrome-acp/proxy-server @google/gemini-cli
acp-proxy --no-auth gemini -- --experimental-acp
Qwen Code — Free coding agent using Qwen models
npm install -g @chrome-acp/proxy-server @qwen-code/qwen-code@latest
acp-proxy --no-auth qwen -- --acp
Augment Code — AI coding agent by Augment
npm install -g @chrome-acp/proxy-server @augmentcode/auggie
acp-proxy --no-auth auggie -- --acp

Any ACP-compatible agent works with Chrome ACP.

Development

# Use the project's Node.js version and pinned pnpm
nvm use
npm install --global pnpm@12.14.0
pnpm install

# Build all packages
pnpm run build

# Build individual packages
pnpm run build:extension  # Chrome extension
pnpm run build:proxy      # Proxy server
pnpm run build:web        # Web client
pnpm run build:docs       # Documentation

# Browser UI development with Vite hot reload
pnpm run dev

# Rebuild extension pages and background when source files change
pnpm --filter @chrome-acp/extension run watch

# Release new version
just release <version>

For Chrome API testing, load packages/chrome-extension as an unpacked extension in chrome://extensions. After a rebuild, reload the extension and reopen its side panel. The Vite browser preview supports UI development; Chrome extension APIs require the unpacked extension.

Both frontends use Vite 8. Build scripts run on Node.js; pnpm manages dependencies and runs workspace commands. The proxy server uses TypeScript (tsc).

Packages

The pnpm workspace includes four application packages and the docs site. Run installs from the repository root. pnpm-workspace.yaml defines membership, and pnpm-lock.yaml locks every project. Internal packages use workspace:*. CI installs with pnpm install --frozen-lockfile.

Package Description
packages/chrome-extension Chrome extension with sidepanel chat UI
packages/web-client PWA web client served by proxy server
packages/shared Shared UI components and utilities (@chrome-acp/shared)
packages/proxy-server WebSocket proxy server (npm: @chrome-acp/proxy-server)
docs Rspress documentation site

License

MIT

About

Connect to ACP agent in browser.

Resources

Stars

194 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages