mrkeyoor.com_
Fri 16 Oct 21:39 UTC
Automationevaluationupdated 16 Oct 2026

invisible_dots review

The former AIHawk repository now redirects to invisible_dots, a self-hosted agent that uses its own persistent Linux virtual machine to browse websites and work with files. It keeps browser logins and notes between tasks, so you can delegate recurring computer work through a web interface or chat.

+140stars / 7d
Verdict

Our run of invisible_dots built successfully in 49 seconds, but its test suite finished with 2,109 passing cases and 1 failure, making this alpha a supervised trial for recurring computer work. Use it if persistent browser logins and a dedicated VM justify operating QEMU and configuring permissions. Skip it if you need offline models or built-in organizational controls.

We ran it

Lab card: what happened when we ran invisible_dotsScreenshot of invisible_dots (github.com/feder-cr/invisible_dots/blob/main/docs/guide.md)
Install✓ · 27s686 packages · 608 MB
Build✓ · 49s
Tests✗ · 162s2109 passed · 1 failed · 3 skipped of 2113 (vitest)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo1181 files~139,722 lines of source · 20.5 MB · 3 CI workflows · tests dir

Answers from our run

Does invisible_dots build from source?

Dependencies installed in 27 seconds (686 packages), and the build succeeded in 49 seconds. We cloned commit 37d58b6 into a clean Debian container with 3 CPUs and no project-specific setup.

Do invisible_dots's tests pass?

Not all of them: 2109 of 2113 passed and 1 failed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Does invisible_dots have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use invisible_dots?

Readers following old AIHawk job application tutorials: the current README describes invisible_dots, a general computer agent.

What are the alternatives to invisible_dots?

nanobot, Browser Use. Our run of invisible_dots built successfully in 49 seconds, but its test suite finished with 2,109 passing cases and 1 failure, making this alpha a supervised trial for recurring computer work.

Setup2/5Build passes; useful operation also needs QEMU, images, and a model key
Docs4/5Detailed host, permission, privacy, and known-limit guidance
Community3/5October pushes and merged work; small open queue includes PRs
Maturity2/5Alpha, failed lab suite, and no built-in backups or roles

Discussed on

  1. hnAIHawk: AI bot to automatically apply for jobs81 points
  2. hnLinkedIn_AIHawk: AI job assistant. Automate applications and Resume Generation9 points

Who it’s for

Technical users on x86-64 Linux or Windows who want recurring browser work to retain its own files and logins.
Developers willing to operate QEMU guests and configure permissions before connecting real accounts.
People already using OpenRouter who want queued tasks, recurring automations, and MCP tools in one personal agent.

Who it’s NOT for

Readers following old AIHawk job application tutorials: the current README describes invisible_dots, a general computer agent.
macOS or ARM host users: the guide requires x86-64 Linux or Windows with hardware virtualization.
Teams requiring offline inference: the documented model route uses OpenRouter, which receives conversations and tool results.
Organizations requiring built-in backups, resource quotas, and roles: the guide explicitly excludes these from this alpha version.

Setup reality

Our sandbox installed commit 37d58b6 in 27 seconds: 686 npm packages and 608 MB on disk. The build passed in 49 seconds. Tests failed with exit 1 after 162 seconds: 2,109 passed, 1 failed, and 3 skipped of 2,113. The tail names secret-input.test.ts without the failed assertion. Npm audit reported 0 known vulnerabilities.

Useful operation needs an OpenRouter key, a model, configured permissions, and QEMU guest images. The setup command prepares host acceleration and the images; the npm build alone does not show that a Dot can boot or complete a task.

The guide requires Node 24+, Go 1.25+, and hardware virtualization on x86-64 Linux or Windows. Our lab-node:22 container result does not override those requirements. macOS is unsupported. Linux can need KVM group membership, Windows can need a restart, and the data directory must use plain ASCII without commas.

The AIHawk link now leads to invisible_dots

The old Jobs_Applier_AI_Agent_AIHawk address redirects to feder-cr/invisible_dots. Its README describes an agent with a persistent Linux computer, rather than a dedicated job application workflow. You can ask it to collect invoices, keep a browser login, or repeat a task later. Anyone arriving for the old job-search product should check that change before following a tutorial. The README at our measured commit already describes invisible_dots.

That wider remit shows in the checkout: our lab recorded 1,181 files, roughly 139,722 source lines, and 20.5 MB before installation. A Dot combines a desktop and shell with browser identities and stored notes. Its files survive between tasks. This makes sense for work that depends on remembering an account and returning to it, provided you want to operate the computer that does the work.

What happened when we ran it

Our sandbox installed commit 37d58b6 in 27 seconds, adding 686 npm packages and occupying 608 MB on disk. The build succeeded in 49 seconds. Our measurement setup on October 11, 2026, was an unprivileged Debian container using lab-node:22, with 3 CPUs, 8 GB of RAM, and no secrets. These are repository checks, with no evidence here of a completed browser task or working virtual machine.

The test step failed with exit code 1 after 162 seconds. Vitest reported 2,109 passed, 1 failed, and 3 skipped out of 2,113. The supplied tail locates the failure in apps/cli/test/secret-input.test.ts; it does not include the assertion or exception that failed. The excerpt does not identify the cause or show what behavior differed from the assertion. The suite did not pass, even though most cases did.

Npm audit reported 0 known vulnerabilities. Our scan also found 3 CI workflow files, a tests directory, and monorepo workspaces, with no Dockerfile. Those findings support further investigation, not a security guarantee. The supplied measurements cover an earlier commit than today's source, so neither the passing build nor the failed test should be presented as a fresh result for the latest revision.

A working checkout still needs a virtual machine

The current requirements specify Node 24 or newer, Go, and hardware virtualization on x86-64 Linux or Windows. Our lab-node:22 result does not establish supported operation on that older Node environment. The setup command configures QEMU and its accelerator, then prepares guest images. Linux may require KVM group membership; Windows may require a restart. macOS is explicitly unsupported.

The 608 MB we measured covers the installed repository environment; it gives you no budget for a Dot's guest images and persistent disk. You also need an OpenRouter key, a model choice, and permissions for the work you intend to delegate. The guide documents a data-directory restriction to plain ASCII without commas. That can matter before your first task if your account name contains accented characters. Use the supplied doctor checks before treating the host as ready.

Default permissions allow commands and browsing

The approval rules allow commands, file operations, and ordinary browser actions inside a Dot by default. Creating automations asks first, as does deleting a browser identity. You can change permissions to ask or deny. That control is useful, but the defaults suit someone comfortable delegating computer access. Set the policy before signing the browser into an account whose mistakes would be expensive.

MCP connections extend that access to declared programs or remote servers, with approval controls and separately supplied secrets. The engine keeps notes and skills on disk for later tasks. Self-hosting still sends conversations, tool results, and material the Dot reads to OpenRouter, according to the privacy section. Keeping a VM locally therefore does not meet a requirement that all processing stay offline. The host's encrypted secrets also depend on protecting the directory containing their master key.

Proxy startup has an open corrective pull request

Pull request 1456, open when checked, describes guest services starting before the VM proxy configuration on later boots. Its proposed change moves service startup behind that configuration. This concerns the current Dot guest, rather than an older job application component. Someone requiring every connection to use a proxy should inspect that change's status before trusting the documented routing behavior. An open proposal is no proof that a fix shipped.

The headline claim about resisting bot detection needs similar care. The guide explicitly says a site can still refuse a Dot and refers readers to the browser project's own evidence. Our 2,113-case test summary measures neither acceptance by websites nor success at account workflows. Persistent Firefox identities are useful for repeat visits, but they don't promise that your target site will accept the session or permit the activity.

October maintenance does not remove the alpha limits

GitHub recorded a push on October 16, 2026, and listed 5 open issues and PRs. Recent merged work addresses engine behavior and MCP integration; the proxy-startup proposal shows ongoing review. The latest release is a golden guest image, rather than a conventional application release. The guide still calls the product alpha and lists backups, quotas, and organizational roles as outside this version. Active maintenance and those omissions can both be true.

Choose nanobot for a personal agent centered on tools and messaging, or Browser Use when you need a browser agent inside your application. I'd try invisible_dots for a bounded recurring task that benefits from its own persistent desktop. Our 49-second build makes the code approachable; the failed suite and documented operating limits argue for supervising the first useful workflow before handing it an account you depend on.

Alternatives

ProjectWhat it isPick it when
nanobot gh↗A Python personal agent with persistent memory, tools, and messaging channels.pick this instead when a personal agent with model-provider choice matters more than a dedicated persistent desktop per agent.
Browser Use gh↗An open-source browser agent library with local and cloud browser options.pick this instead when you want browser automation inside your application rather than a whole persistent computer managed for each agent.

What people are saying

  1. [velocity-scout] feder-cr/invisible_dots

Sources

  1. Current invisible_dots README
  2. Operating guide: requirements, permissions, privacy, and alpha limits
  3. README at measured commit 37d58b6
  4. PR 1456: start guest services after VM proxy configuration
  5. Latest golden image release
  6. Repository metadata
  7. nanobot README
  8. Browser Use README

More automation reviews

microduck · artemis · supersidian · genspark-claw · orc-claude-plugin · tiktok-views-bot · the whole board →