Your AI-powered browser copilot.
Chat-driven browser automation that lives in your sidebar. Navigate, read, click, extract — all through natural language.
Installation · Setup · Features · Use Your Subscription · Relay CLI
|
1. |
Get the extension files git clone https://github.com/0xSero/parchi.git
cd parchi
npm install
npm run buildThis creates a |
|
2. |
Open Chrome Extensions page Navigate to |
|
3. |
Enable Developer Mode Toggle the Developer mode switch in the top-right corner of the extensions page. |
|
4. |
Load the extension Click "Load unpacked" and select the |
|
5. |
Open Parchi Click the Parchi icon in your toolbar (you may need to pin it first via the puzzle piece icon). The side panel opens — you're ready to go. |
npm run build:firefox- Open
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Select any file inside the
dist/folder
XPI packaging:
npm run build:firefox:xpioutputsdist/parchi-0.4.0.xpifor distribution. Requires Developer Edition/Nightly or Mozilla add-on signing for release installs.
Parchi works with any OpenAI-compatible endpoint. Open the Settings panel (gear icon) to configure.
Use your own API key from any supported provider:
| Provider | API URL | Example Models |
|---|---|---|
| OpenAI | https://api.openai.com/v1 |
gpt-4o, gpt-4-turbo, o1 |
| Anthropic | https://api.anthropic.com/v1 |
claude-sonnet-4-20250514, claude-3-5-sonnet-20241022 |
| Kimi | https://api.moonshot.cn/v1 |
moonshot-v1-128k |
| OpenRouter | https://openrouter.ai/api/v1 |
Any model on OpenRouter |
| Local (Ollama, LM Studio) | http://localhost:11434/v1 |
llama3, mistral, etc. |
| Any OpenAI-compatible | Your endpoint URL | Your model name |
Steps:
- Open Settings → select your provider or choose Custom
- Paste your API Key
- Set the API URL (auto-filled for known providers)
- Pick a Model from the dropdown (auto-fetched) or type one manually
- Hit Save — start chatting
Sign in with Google or GitHub to use Parchi's hosted proxy. No API keys needed — billing is handled through your Parchi subscription.
- Open Settings → choose Paid account mode
- Sign in via OAuth
- Select a model and start chatting
Already paying for Claude Pro, ChatGPT Plus, Gemini Advanced, or another AI subscription? You can route that subscription through Parchi using CLIProxyAPI.
CLIProxyAPI is an open-source proxy that converts your existing AI subscription access into an OpenAI-compatible API endpoint — no separate API key purchase needed.
- Install CLIProxyAPI — follow the setup guide
- Authenticate with your existing provider (Claude, OpenAI, Gemini, etc.) via OAuth
- Point Parchi at the proxy endpoint:
- Open Settings → provider: Custom
- API URL: your CLIProxyAPI endpoint (e.g.
http://localhost:PORT/v1) - API Key: your proxy token
- Model: the model you want to use
- Chat — requests route through your existing subscription
| Subscription | What you get |
|---|---|
| Claude Pro / Max | Claude models via your Anthropic account |
| ChatGPT Plus / Pro | GPT-4o, o1, etc. via your OpenAI account |
| Gemini Advanced | Gemini models via your Google account |
| Qwen / iFlow | Additional provider access |
CLIProxyAPI supports multi-account round-robin, streaming, function calling, and multimodal inputs. See their documentation for full details.
- Streaming responses with real-time reasoning display
- Extended thinking for Claude models (thinking budget scales with max tokens)
- Multiple profiles — save different provider/model/prompt configs and switch instantly
- Vision support — analyze screenshots and video frames with vision-capable models
- Context compaction — auto-summarizes old conversation when approaching token limits
- Workflow templates — save and reuse prompt templates with
/quick access
Parchi can control your browser through natural language:
| Category | Tools | What they do |
|---|---|---|
| Navigate | navigate, openTab, closeTab, switchTab |
Go to URLs, manage tabs |
| Interact | click, clickAt, type, pressKey, scroll |
Click elements, fill forms, press keys |
| Read | getContent, screenshot, findHtml |
Extract text, capture pages, search DOM |
| Video | watchVideo, getVideoInfo |
Analyze video by frame capture |
| Organize | groupTabs, getTabs, describeSessionTabs |
Group and list tabs |
| Plan | set_plan, update_plan |
Step-by-step task planning and tracking |
| Delegate | spawn_subagent, subagent_complete |
Multi-agent orchestration |
- Session tabs — auto-groups tabs opened during a session (Chrome)
- Floating HUD showing active session tabs
- Chat history — up to 50 sessions, 200 messages each
- Export conversations as markdown (full, last response, or detailed with tool events)
- Tool permissions — toggle read, interact, navigate, tabs, screenshots
- Domain allowlist — restrict which sites the agent can act on
- Action confirmation — require approval before the agent acts
- Themes — Void, Ember, Forest, Ocean, and more
- UI zoom — 85% to 125%
- Custom headers — add auth tokens or special headers per profile
Expose Parchi as a local automation endpoint for scripts and external tools.
# 1. Build with relay token
PARCHI_RELAY_TOKEN=your-secret npm run build
# 2. Start the daemon
PARCHI_RELAY_TOKEN=your-secret npm run relay:daemon
# 3. Enable in extension Settings → Relay section
# URL: http://127.0.0.1:17373
# Token: your-secretCLI commands:
export PARCHI_RELAY_TOKEN=your-secret
# List connected agents
npm run relay -- agents
# List available tools
npm run relay -- tools
# Execute a single tool
npm run relay -- tool navigate --args='{"url":"https://example.com"}'
# Run the agent and wait for result
npm run relay -- run "Open example.com and summarize the page"┌─────────────────────────────────────────────────┐
│ Side Panel UI │
│ Chat · Tools Timeline · Settings · History │
└──────────────────────┬──────────────────────────┘
│ runtime messages
┌──────────────────────▼──────────────────────────┐
│ Background Service Worker │
│ Agent loop · Tool execution · Stream handling │
└───────┬───────────────────┬─────────────────────┘
│ │
Chrome APIs AI Provider
(tabs, scripting, (OpenAI, Anthropic,
navigation) custom endpoints)
Key paths:
| File | Role |
|---|---|
packages/extension/background.ts |
Agent loop, AI calls, tool execution |
packages/extension/sidepanel/ |
UI — chat, settings, tools, history |
packages/extension/tools/ |
Browser automation tool definitions |
packages/shared/ |
Shared types and runtime message schemas |
npm install # install dependencies
npm run build # build to dist/
npm run typecheck # type checking
npm run lint # biome linter
npm run lint:fix # auto-fix lint issues
npm run test:unit # run unit testsAfter building, reload the extension in chrome://extensions to pick up changes.
npm run build:firefox # build for Firefox → dist/
npm run build:firefox:xpi # package as .xpi for distribution| Feature | Chrome | Firefox |
|---|---|---|
| Tab grouping | ✅ | — |
| Side panel | ✅ Native | Sidebar (adapted) |
| Relay keepalive | ✅ Offscreen doc | — |
| Min version | MV3 | 109.0+ |
Parchi is MIT licensed.
Built with the AI SDK · Styled with Warm Paper design system