AI/TLDR

AIHawk

Browser agent on a stealth Firefox that takes plain-language web tasks

Computer & Browser UseOpen source
Language
Python
License
MIT
$curl -LsSf https://astral.sh/uv/install.sh | sh

Overview

AIHawk is an open-source web browsing agent. You describe what you want in ordinary language and it drives a real browser to do it — moving the pointer, pressing keys, reading what is actually on the page — rather than calling an API or parsing a static fetch. It is built for the tasks that need a browser and a person's judgement about what is rendered: calendar widgets, multi-step forms, results that only exist after a click.

Its distinguishing piece is the engine. AIHawk runs on a stealth Firefox build fetched through `invisible-playwright`, so anti-bot systems treat the session as a normal visitor and the agent is not stopped by captchas or blocks partway through a task. Sessions are configurable: `--proxy` routes egress and pulls timezone and locale along with it, `--seed` pins a reproducible browser identity, and `--profile-dir` keeps logins and cookies across restarts.

There are two ways to use it. As an MCP server it attaches to an assistant you already run — Claude Code, Codex or Gemini CLI — and becomes a browsing tool there. Standalone, `aihawk ui` serves a local interface at 127.0.0.1:8765 with chat on the left and the live browser on the right, backed by an OpenRouter key; the default model is `z-ai/glm-5.3-flash`. Point it only at sites you are permitted to automate.

What it does

  • Plain-language task instructions executed against real pages — navigate, click, type, read
  • Stealth Firefox engine so sessions are not flagged, blocked or served captchas
  • MCP server mode for Claude Code, Codex and Gemini CLI; standalone web UI mode with a live browser pane
  • Any OpenRouter model via `--model`, defaulting to z-ai/glm-5.3-flash
  • Proxy support that carries timezone, locale and egress together (`--proxy`)
  • Reproducible identity with `--seed`, and persistent logins with `--profile-dir`
  • Reads a local .env at startup, which never overrides values already set

Getting started

Both modes start by installing uv and fetching the stealth engine binary; after that you either register the MCP server with your assistant or run the standalone UI.

Install uv and fetch the engine

On Linux. (Windows uses the PowerShell installer from astral.sh.)

bashbash
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uvx invisible-playwright fetch

Register it with your assistant over MCP

One line per host; the server runs through uvx, so there is nothing else to install.

bashbash
claude mcp add --scope user stealth -- uvx aihawk
codex mcp add stealth -- uvx aihawk
gemini mcp add --scope user stealth uvx aihawk

Or run the standalone web UI

Bring an OpenRouter key, then open http://127.0.0.1:8765 and type the task.

bashbash
uvx aihawk ui --openrouter-key sk-or-...

Keep credentials in a .env

Placed beside the command, it is read at startup. Precedence is flag > environment > .env > default.

texttext
OPENROUTER_API_KEY=sk-or-...
STEALTHFOX_BINARY=/path/to/firefox

Tune the session

Host and port default to 127.0.0.1:8765 — changing the host exposes an interface with no authentication.

bashbash
uvx aihawk ui \
  --model z-ai/glm-5.3-flash \
  --proxy socks5://proxy.example.com:1080 \
  --seed 42 \
  --profile-dir ./profile \
  --headed

Commands and code are distilled from the project's own documentation — always check the official repo for the latest.

When to use it

  • Give a coding assistant a browsing tool that can finish tasks on sites which block ordinary automation
  • Read values that only appear after interaction — calendar-widget prices, filtered results, paginated tables
  • Automate a repetitive logged-in workflow using a persistent profile instead of re-authenticating each run
  • Run the same scripted browsing identity repeatedly for reproducible checks via `--seed`

How AIHawk compares

AIHawk alongside other open-source computer & browser use tools AI/TLDR tracks, ranked by GitHub stars.

ToolStarsWhat it does
Browser Use★ 115kA Python library that lets agents control a real browser to read pages and complete tasks online from natural-language instructions.
Open Interpreter★ 68.4kA lightweight coding agent that runs code on your own computer to carry out tasks from natural-language requests.
Chrome DevTools MCP★ 52.2kThe Chrome team's MCP server that lets a coding agent control and inspect a live Chrome browser — performance traces, network requests, console messages and Puppeteer-backed automation.
UI-TARS Desktop★ 39kByteDance's multimodal agent stack and desktop app that controls a computer's graphical interface using vision-language models.
AIHawk★ 31.6kBrowser agent on a stealth Firefox that takes plain-language web tasks
CloakBrowser★ 31.5kStealth Chromium build with source-level fingerprint patches that drops into Playwright or Puppeteer code, so agents and scrapers browse without tripping bot detection.
OpenCLI★ 29.4kTurns websites into deterministic CLI commands and lets agents drive your already-logged-in Chrome through a browser bridge extension, with adapters for sites and local binaries.
Page Agent★ 29.1kAlibaba's in-page GUI agent: a JavaScript library you drop into a web page so users can drive its interface in natural language, working through text-based DOM manipulation rather than screenshots.