Jobs_Applier_AI_Agent README

The project's README from github.com/feder-cr/Jobs_Applier_AI_Agent. As one markdown file: README.md.

invisible_dots, an open-source, self-hosted alternative to OpenAI Dots, Meta Muse, Grok Bot, Manus Cue and Claude Cowork. An animation of what a Dot does: asked once in its chat to save a shop's invoices every month and send the total to Telegram, it works on a computer of its own (a desktop, a terminal, files and a Firefox that keeps the shop's login), writes the steps down as a skill, asks before it adds the monthly automation, and then sends the total every month; several Dots, one computer each.

Open-source, self-hosted alternative to OpenAI Dots, Grok Bot. Built to be undetectable by anti-bot systems.

Quickstart

You need Node 24+, Go 1.25+, Git and hardware virtualization (x86-64), plus an OpenRouter key.

Windows (PowerShell):

winget install -e --id OpenJS.NodeJS.LTS; winget install -e --id GoLang.Go; winget install -e --id Git.Git
git clone https://github.com/feder-cr/invisible_dots; cd invisible_dots
npm ci; npm run build --workspace @invisible-dots/cli
node apps/cli/dist/invisible-dots.mjs setup --all
node apps/cli/dist/invisible-dots.mjs server

Linux (Ubuntu 24.04):

curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs git && sudo snap install go --classic
git clone https://github.com/feder-cr/invisible_dots && cd invisible_dots
npm ci && npm run build --workspace @invisible-dots/cli
node apps/cli/dist/invisible-dots.mjs setup --all
node apps/cli/dist/invisible-dots.mjs server

setup --all installs QEMU and turns on the accelerator (KVM, or the Windows Hypervisor Platform), then builds or downloads the Dot's images; run it again after a restart and it carries on. Then open http://127.0.0.2:3000, paste your OpenRouter key and create your first Dot. Every step and its failure modes: the guide's quickstart.

What to ask a Dot

Anything that needs a computer and a person's judgement, for as long as it takes:

Open a browser identity called research, go to https://example.com and tell me the page's title and its first sentence. Leave the browser open.

Every morning, check one-way fares from Milan to Lisbon for the next two weeks, write them to ~/workspace/fares.csv and tell me the cheapest day.

Log in to the shop with the shopping identity, download this month's invoices to ~/documents, and remember where the invoices page is for next time.

What a Dot has

A computer of its own A hardware-accelerated VM with a Linux desktop and a persistent disk. It sleeps when idle and wakes for the next message, task or automation.
A browser that is not blocked invisible_playwright_mcp: Firefox patched in C++, the fingerprint set inside the engine. Each identity keeps its own cookies and logins.
Memory and skills It writes its own notes and how-tos in its home folder, as Claude Code does, and reads them on the next task.
Your MCP servers Any MCP server you declare, a program on its computer or a URL, as in Claude Code. Its keys stay out of the config.
Permissions you set Every tool belongs to a permission: allow, ask or deny. An ask waits in your Inbox, survives a restart and runs the call once.
Tasks and automations A queue with priorities and start times, and its own recurring jobs, for which its computer is started on time.
Many ways to reach it Web UI, command line, HTTP API with live events, Telegram, and WhatsApp as an opt-in.
Nothing lost on a crash A restart or a kill -9 keeps every message and task you saw accepted, and a tool call cut short is never run twice.

Documentation

The pieces of this one. A Dot's browser is invisible_playwright_mcp, on invisible_playwright and invisible_core; the engine is a fork of nanobot.

License

MIT, see LICENSE. Third-party components and their licenses: THIRD_PARTY_NOTICES.md.

Disclaimer

This project is provided as-is, with no warranties. Use it at your own risk and in compliance with the laws of your jurisdiction. A Dot acts with your accounts and from your connection: respect the terms of the sites it visits and their robots.txt.


tests license: MIT status: alpha hosts: Linux and Windows

Built by Federico Elia

Jobs_Applier_AI_Agent (feder-cr/Jobs_Applier_AI_Agent)

Searching Database…

What is this?AIHawk is an open-source AI browser agent that browses the web undetected: it drives a stealth Firefox that anti-bot systems see as a normal person, so no captchas and no blocks. You say what you want in plain language, and it browses, clicks, types and reads the actual web to get it done.
Is this a hosted service I sign up for, or something I run myself?Something you run yourself: it is self-hosted and has no server of its own. There are two ways to use it — plug it into your assistant over MCP, or run the standalone web UI with the chat on the left and the live browser on the right.
How do I get it running?Two paths. Over MCP, run the one-line install for your OS and then tell your assistant — Claude Code, Codex or Gemini CLI — that it exists. Standalone, run the command and open the local interface at 127.0.0.1:8765 (the default host and port), then type what you want in the chat.
Do I need an OpenRouter key to run it?For the standalone web UI, yes — you bring your own OpenRouter key via --openrouter-key, the OPENROUTERAPIKEY variable or a .env file. Over MCP there is no separate key: the assistant you plugged it into uses whichever model it runs. The model defaults to z-ai/glm-5.3-flash and can be changed with --model.
Anything I should watch out for when running it?A few things: exposing the interface beyond 127.0.0.1 gives you no authentication; passing the key as a flag leaves it in your shell history, so prefer the environment or a .env file; and a custom --binary must be exactly the pinned build or startup refuses. Also read the terms of the sites you automate and respect their rate limits.
Does it run on macOS?The README documents Windows (PowerShell) and Linux install commands only — macOS is not mentioned. It may well work, but there is no official word on it.
What leaves my computer when I use it?Three channels: the sites you visit see the browser as they would any Firefox; your model provider gets the conversation and page content under your OpenRouter key; GitHub sees ordinary HTTPS requests for the engine download, a GeoIP database when a proxy is set, and an anonymous per-launch counter. Sessions, profiles and screenshots stay local and are yours to delete.
Is the licensing straightforward?For current releases, yes: MIT. The catch is that everything distributed before 2 September 2026 was released under AGPL-3.0 and stays under it, so older versions carry copyleft obligations.
How does it stay undetected by anti-bot systems?It drives a stealth Firefox the way a person would — the pointer moves, keys are pressed — so anti-bot systems see a normal user rather than a script. A --seed pins a stable browser identity across runs, and when --proxy is set the timezone, locale and egress follow the proxy.
What kinds of tasks is it good for?Anything that needs real web automation: a browser rather than an API, plus human judgement about what is on the page. The README's example is checking flight fares day by day on an airline site — clicking through the calendar widget instead of typing dates, reading each day's cheapest fare, and reporting when a date has no availability rather than guessing a number.
Can I code against the engine instead of chatting with it?Yes. The same package ships invisibleplaywright, a Python library whose API is Playwright's, for writing code instead of prompts, and invisiblecore, which turns a seed into a fingerprint, preferences, proxy and geolocation. The MCP server lives there too: 'aihawk' with no subcommand is the server, 'aihawk ui' opens the interface.
Will my logins and cookies survive a restart?Only if you keep them: pass --profile-dir with a directory to store the profile in, and logins and cookies persist between runs. Profiles and screenshots are stored locally and are yours to delete.
Creator
feder-cr
Size
118.7 MB
Stars
32.4K
Age
2y
Commits · 90 Days