by hanzili
let any ai agent use the local browser
# Add to your Claude Code skills
git clone https://github.com/hanzili/hanzi-browseGive your AI agent a real browser.
One tool call. Entire task delegated. Your agent clicks, types, fills forms, reads authenticated pages — in your real signed-in browser.
Works with
npx hanzi-browse setup
One command does everything:
npx hanzi-browse setup
│
├── 1. Detect browsers ──── Chrome, Brave, Edge, Arc, Chromium
│
├── 2. Install extension ── Opens Chrome Web Store, waits for install
│
├── 3. Detect AI agents ─── Claude Code, Cursor, Codex, Windsurf,
│ VS Code, Gemini CLI, Amp, Cline, Roo Code
│
├── 4. Configure MCP ────── Merges hanzi-browse into each agent's config
│
├── 5. Install skills ───── Copies browser skills into each agent
│
└── 6. Choose AI mode ───── Managed ($0.05/task) or BYOM (free forever)
No comments yet. Be the first to share your thoughts!
"Go to Gmail and unsubscribe from all marketing emails from the last week"
"Apply for the senior engineer position on careers.acme.com"
"Log into my bank and download last month's statement"
"Find AI engineer jobs on LinkedIn in San Francisco"
The setup wizard installs browser skills into your agent automatically. Skills teach your agent when and how to use the browser for specific workflows:
| Skill | Description |
|-------|-------------|
| hanzi-browse | Core skill — when and how to use browser automation |
| e2e-tester | Test your app in a real browser, report bugs with screenshots |
| social-poster | Draft per-platform posts, publish from your signed-in accounts |
| linkedin-prospector | Find prospects, send personalized connection requests |
| a11y-auditor | Run accessibility audits in a real browser |
| x-marketer | Twitter/X marketing workflows |
Open source — add your own.
Embed browser automation in your product. Your app calls the Hanzi API, a real browser executes the task, you get the result back.
/pair/{token}) — they click it and auto-pairPOST /v1/tasks with a task and browser session IDGET /v1/tasks/:id until complete, or use runTask() which blocksimport { HanziClient } from '@hanzi/browser-agent';
const client = new HanziClient({ apiKey: process.env.HANZI_API_KEY });
const { pairingToken } = await client.createPairingToken();
const sessions = await client.listSessions();
const result = await client.runTask({
browserSessionId: sessions[0].id,
task: 'Read the patient chart on the current page',
});
console.log(result.answer);
| Tool | Description |
|------|-------------|
| browser_start | Run a task. Blocks until complete. |
| browser_message | Send follow-up to an existing session. |
| browser_status | Check progress. |
| browser_stop | Stop a task. |
| browser_screenshot | Capture current page as PNG. |
| | Managed | BYOM | |--|---------|------| | Price | $0.05/task (20 free/month) | Free forever | | AI model | We handle it (Gemini) | Your own key | | Data | Processed on Hanzi servers | Never leaves your machine | | Billing | Only completed tasks. Errors are free. | N/A |
Building a product? Contact us for volume pricing.
Prerequisites: Node.js 18+, Docker Desktop (must be running).
git clone https://github.com/hanzili/hanzi-browse
cd hanzi-browse
make fresh
This checks prerequisites, creates .env from the template, installs dependencies, builds everything, starts Postgres, runs migrations, and starts the dev server. Takes about 90 seconds.
make dev
Starts Postgres + migrations + dev server. Dashboard at localhost:3456/dashboard.
| Command | What it does |
|---------|-------------|
| make fresh | Full first-time setup (prereqs + deps + build + DB + start) |
| make dev | Start everything (DB + migrate + server) |
| make build | Rebuild server + dashboard + extension |
| make stop | Stop Postgres |
| make clean | Stop + delete database volume |
| make check-prereqs | Verify Node 18+ and Docker are available |
| make help | Show all commands |
The defaults in .env.example are enough to run the server. Optional services:
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET to .env.env.env.example for setup stepsOpen chrome://extensions, enable Developer Mode, click "Load unpacked", select the dist/ folder.
We welcome contributions! See CONTRIBUTING.md for setup instructions.
Good first contributions: new skills, landing pages, site-pattern files, platform testing, translations. Check the open issues.
Hanzi operates in different modes with different data handling. Read the privacy policy.