AIHawk – AI Browser Agent
Open-source AI browser agent: describe tasks in plain English and it browses, clicks, types, and reads real websites to accomplish them.
Evidence shows careful key handling (removed from environment, tested), loopback default, explicit proxy and seed options. But lacks user confirmation for high-risk actions, external effects not explicitly limited, rollback not mentioned. Dependency security only declares version floors, no vulnerability scanning evidence.
Tests cover loop, tool call ordering, error handling, but not real browser runs. Dependency versions have floors but availability not verified. Failure messages partially covered in tests, real scenarios unverified.
Explicitly supports Windows and Linux, not macOS, with clear audience and scenario descriptions. Capability boundaries via tool list and docs, but no explicit limits on autonomous actions. Trigger precision via natural language, unverified. Environment fit good with proxy and seed options.
Clear information architecture, README and wiki well organized. Install notes detailed but no quick start example. Naming stable, but changelog missing. Known limitations partially mentioned. License clear MIT, but historical AGPL-3.0. Maintenance responsibility clear but unverified.
Output usability high with UI and CLI. Marginal value clear for automating browser tasks. Cost-benefit reasonable but depends on external model and browser download.
Claims partially traceable to code and tests, but external press unverified. Fact-inference separation good, but cross-source corroboration insufficient.
- Publisher identity unverified, treat with caution.
- Automated browsing may violate site terms; user responsibility.
- Reliance on external model and browser download may introduce supply chain risks.
What does this agent do, and when should you use it?
AIHawk is an open-source AI browser agent that provides a specially pitched Firefox browser for autonomous web interaction. It translates natural-language instructions into browser actions, enabling tasks such as browsing, clicking, typing, and reading page content. The agent can be used in two ways: as an MCP server integrated into existing AI assistants like Claude Code, Codex, and Gemini CLI, or as a standalone UI that requires an OpenRouter API key. The architecture consists of several components: the AIHawk UI, the invisible-playwright-mcp server (MCP tools only), and the invisible_playwright engine (a Playwright-compatible Python library). It supports Python 3.11+ on Windows (x86_64) and Linux (x86_64/arm64), with no macOS support. The browser engine (~250 MB) downloads on first use. Configuration options include model selection, proxy, seed, and profile directory. The project is MIT-licensed (with pre-2026 versions under AGPL-3.0).
AIHawk takes a plain-language task description (e.g., 'go to news.ycombinator.com and give me the top five titles') and drives a customized Firefox browser using human-like actions: moving the pointer, pressing keys, clicking calendar widgets, and reading content. It deliberately avoids setting form fields via JavaScript to mimic human behavior. As an MCP server, it connects to existing assistants via commands like claude mcp add stealth -- uvx invisible-playwright-mcp (also for Codex and Gemini CLI). Alternatively, running uvx aihawk ui --openrouter-key sk-or-... launches a web UI at http://127.0.0.1:8765 with a chat pane and live browser view. It supports model configuration using OpenRouter IDs (default z-ai/glm-4.6), proxy (--proxy), seed (--seed), profile directory (--profile-dir), and headed mode (--headed). The key is removed from the engine environment for security.
- A developer using Claude Code wants to let the assistant browse and interact with web pages directly. They add the MCP server and issue natural-language commands.
- A recruiter automates repetitive tasks on job boards: searching for job listings, opening each, and summarizing requirements in a structured report.
- A lead-generation specialist uses AIHawk to visit prospect websites, locate contact information, and compile it into a spreadsheet.
- A researcher needs to extract pricing or availability data from multiple websites, with AIHawk handling dynamic elements like date pickers.
- A non-technical user who prefers natural language over code uses the AIHawk UI to watch the browser perform tasks like booking a flight.
- An AI agent developer wants to integrate a browser tool into their own agent application and uses the documented MCP server as a reference.
What are this agent's strengths and limitations?
- Integrates broadly with existing AI assistants through MCP, supporting Claude Code, Codex, Gemini CLI, and others with config files, making it versatile in agentic workflows.
- Provides a real browser with human-like interaction patterns and fingerprinting controls, reducing detection risk compared to naive automation.
- Offers two usage modes: as an MCP tool for developers and a standalone UI for non-programmers, each with live visibility into browser actions.
- Supports advanced features like proxy configuration, persistent profiles, deterministic seeds, and API key isolation from the browser environment.
- Does not support macOS, limiting deployment to Windows and Linux environments.
- Requires an OpenRouter API key for the UI mode, creating a dependency on that provider (though MCP mode can use other model providers via the host assistant).
- Large initial download (~250 MB) that may cause timeouts on first request; users must pre-download for smooth operation.
- Automation may violate website terms of service; the README advises respecting terms and human review, which is a compliance burden.
- Documentation for integration is fragmented across the MCP server's README, requiring extra research for certain clients.
How do you install or deploy this agent?
Requirements: Python 3.11+, Windows x86_64 or Linux x86_64/arm64 (macOS unsupported). Install uv: Linux curl -LsSf https://astral.sh/uv/install.sh | sh; Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex". Optionally pre-download the browser: uvx invisible-playwright fetch. Then install the MCP server by adding it to your client (e.g., for Claude Code: claude mcp add --scope user stealth -- uvx invisible-playwright-mcp). For the UI, just run uvx aihawk ui --openrouter-key <key>, which uses uv to fetch dependencies.
How do you use this agent?
For MCP mode: after adding the server to your assistant (Claude Code, Codex, Gemini CLI, etc.), simply ask your assistant in natural language, for example: "Go to news.ycombinator.com and give me the top five titles." The assistant will use the browser MCP tools. For UI mode: run uvx aihawk ui --openrouter-key sk-or-... (or set OPENROUTER_API_KEY), then open http://127.0.0.1:8765 in your browser. Type your task in the left panel; watch the live browser on the right. You can configure model via --model or AIHAWK_MODEL (default z-ai/glm-4.6). Use --proxy for HTTP/SOCKS proxies, --seed for deterministic identity, and --profile-dir to keep login sessions. Environment variables and .env files are supported.
How does this agent compare with similar options?
The wiki section compares various AI browser agents, but the given README does not directly name a competitor. It discusses OpenAI Operator's availability in a wiki article, but we lack specifics here.
FAQ
Can I use AIHawk on macOS?
Does AIHawk work without an OpenRouter key?
How do I avoid the first-request timeout? Can I pre-download the browser?
uvx invisible-playwright fetch before first use to download the engine. If you skip this, the first request triggers a large download and may time out on slow connections.Is it safe to apply to jobs with AIHawk? What are the risks?
Can I use AIHawk with a proxy to change my location?
--proxy option with a URL like socks5://proxy.example.com:1080. The browser's timezone, locale, and egress IP will follow the proxy, affecting how sites see you.