v0.1.0
feder-cr/AIHawkv0.1.0Sep 2, 2026by feder-cr
AI Summary
AIHawk v0.1.0 launches as a standalone package, replacing its previous documentation-only state. It introduces a web UI and CLI mode for automated browser interaction, relying on invisible-playwright-mcp. The release emphasizes security by ensuring API keys never reach the browser process and includes a placeholder mode for testing without a key.
Key Highlights
- Launch of AIHawk as a standalone package with both UI and CLI modes.
- Functionality available without an API key via a literal command placeholder mode.
- Security implementation ensuring API keys are stripped from the browser process environment.
- Reliance on invisible-playwright-mcp for browser automation tools.
Breaking Changes
- The repository has transformed from documentation into a functional package.
- Requires invisible-playwright-mcp version 0.9.0 or newer.
New Features
- Standalone web UI accessible via `uvx aihawk ui`.
- CLI mode (`aihawk do`) for scripting and cron jobs.
- Placeholder mode supporting literal browser commands without an API key.
- Tab strip functionality for UI navigation.
Full Release Notes
The first release of AIHawk as a package. Before this, the repository was documentation for an MCP server you installed into somebody else's client. Now it is the thing itself. ```bash uvx aihawk ui --openrouter-key sk-or-... ``` Then open `http://127.0.0.1:8765`: the conversation on the left, the live browser on the right. One command, one key, no client to install and nothing else to run. `aihawk do "..."` is the same machinery with no page and an answer on stdout, for scripts and cron. Literally the same: there is one loop in the package and one call to the model, and the narration is a parameter rather than a mode. **Without a key it still starts.** What answers is a placeholder that understands five literal commands - `go`, `read`, `click`, `type`, `tab`, `shot` - which is enough to see the interface work and to tell a browser problem from a model problem without spending anything. It is not a fallback; it is how most of this release was tested. **Nothing here has a privileged path to the browser.** The interface talks to [invisible-playwright-mcp](https://github.com/feder-cr/invisible-playwright-mcp) over MCP, using the same fourteen tools any other client gets. That is the reason to trust the tools are sufficient to build on: the flagship interface is a client of them. **The key never reaches the browser process.** It is stripped from the environment the engine is started with, and a test fails if that stops being true. Requires `invisible-playwright-mcp` 0.9.0 or newer. The tab strip needs `session_list_pages` to return id, title, url and which tab is active - four fields its description had always promised and, until 0.9.0, had never returned.