mrkeyoor.com_
Fri 16 Oct 18:52 UTC
Self-Hostedevaluationupdated 16 Oct 2026

invisible_dots review

Dots, now called invisible_dots, gives each AI assistant a persistent virtual computer with a browser, files and saved skills. It is meant for recurring computer tasks where logins and working state need to survive between conversations.

Verdict

Our Dots run built in 36 seconds, but its suite ended with 2,205 passing tests, 1 failure and 9 skipped. Try it when persistent agent computers justify operating QEMU and supplying recovery controls yourself. Skip it if macOS support, built-in backups or strict guest network isolation are requirements.

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✓ · 15s686 packages · 608 MB
Build✓ · 36s
Tests✗ · 142s2205 passed · 1 failed · 9 skipped of 2215 (vitest)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo965 files~139,445 lines of source · 25.1 MB · 3 CI workflows · tests dir

Answers from our run

Does invisible_dots build from source?

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

Do invisible_dots's tests pass?

Not all of them: 2205 of 2215 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?

Mac users: the guide explicitly excludes macOS hosts.

What are the alternatives to invisible_dots?

Browser Use, Nanobot. Our Dots run built in 36 seconds, but its suite ended with 2,205 passing tests, 1 failure and 9 skipped.

Setup2/5Repository builds, but QEMU, host acceleration and keys remain
Docs4/5Detailed host requirements and candid security limits
Community4/532,085 stars and October technical PRs, with issue spam mixed in
Maturity2/5Alpha, failed suite and missing backups, rollback and quotas

Who it’s for

Linux or Windows users with x86-64 hardware virtualization and room for persistent agent disks.
Technical self-hosters who need agents to revisit browser identities and queued tasks.
Operators prepared to configure OpenRouter, tool permissions and a recovery process.

Who it’s NOT for

Mac users: the guide explicitly excludes macOS hosts.
Container-only operators without hardware virtualization: the quickstart requires a QEMU VM and host accelerator.
Teams requiring built-in backups, rollback, quotas or network policies: the status section lists those as absent.
Operators requiring strict guest isolation from host services: the guide says guests can reach the host loopback network.
Teams treating browser secrets as hidden from model commands: the guide documents proxy-credential visibility and passwords appearing in typing approvals.

Setup reality

Our sandbox installed commit ef69f5e in 15 seconds, pulling 686 packages and using 608 MB. The build passed in 36 seconds. Tests failed after 142 seconds: 2,205 passed, 1 failed and 9 skipped out of 2,215. Npm audit reported 0 known vulnerabilities.

The current README requires an OpenRouter key, Linux or Windows on x86-64, hardware virtualization, Node 24+, Go and Git. Host setup then installs QEMU and prepares guest images. Our Node 22 container run did not validate a provisioned VM or a model-backed task.

The guide excludes macOS and requires a plain ASCII data path without commas. Persistent disks and guest images add storage beyond our measured repository footprint. The supplied test tail identifies the secret-input case and a failed guest-daemon test file, but omits their underlying errors.

Each agent gets a persistent computer

Dots, now hosted as feder-cr/invisible_dots, gives an agent a QEMU virtual machine with a persistent Linux desktop and disk. Browser identities keep cookies and logins between tasks, while the agent saves notes and skills for later work. That makes sense for a personal assistant revisiting the same websites or documents. You are adopting a small computer-management system alongside the chat interface. The README labels the project alpha.

Our checkout contained 965 files and about 139,445 source lines. The documented stack includes a host control plane, a guest daemon and a model engine, plus a patched Firefox browser exposed through MCP. This is a much larger commitment than attaching browser tools to an existing script. Persistent state is the attraction: it also creates state you must be able to inspect and recover when an automated task goes wrong.

What happened when we ran it

Our sandbox installed commit ef69f5e in 15 seconds, adding 686 npm packages and using 608 MB on disk. The build succeeded in 36 seconds. The October 15, 2026 run used the lab-node:22 image in an unprivileged container with 3 CPUs, 8 GB of RAM and no secrets. That establishes a working repository build in our environment, without establishing a working virtual desktop or a completed browser task.

Tests failed with exit code 1 after 142 seconds. Vitest reported 2,205 passed, 1 failed and 9 skipped out of 2,215. The log names apps/cli/test/secret-input.test.ts as containing the failed case. It also marks apps/vm-manager/test/agentd.linux.test.ts as a failed file while listing its cases as skipped. The tail does not include the underlying assertion or file-level exception, so it cannot explain either cause.

Npm audit reported 0 known vulnerabilities across all severities. Our scan found 3 CI workflow files, a tests directory and workspace packages, with no Dockerfile. These are useful repository signals, but they do not turn the mixed test result into a pass. The unprivileged run also provides no evidence that host virtualization, browser logins or scheduled wake-ups worked. Those require a separate acceptance exercise on suitable hardware.

The host setup extends beyond npm

The current quickstart requires Linux or Windows on x86-64 with hardware virtualization enabled. It also calls for Node 24 or newer, Go and an OpenRouter key. That differs from our Node 22 lab image: the successful build there should not be read as support for an older production runtime. The guide describes QEMU installation, accelerator setup and guest-image creation or download.

Our measured 608 MB footprint covers the installed repository environment, not the complete collection of guest images and persistent agent disks. The guide requires additional free space and documents separate memory requirements for the builder and running agents. It also excludes macOS hosts. A developer with an ordinary container-only hosting account should check virtualization access before spending time on the npm setup, because a successful build cannot supply a missing hypervisor.

The web interface listens on a local loopback address and supplies the API token for its own requests. It has no separate login screen. The guide also requires a plain ASCII data-directory path without a comma, which can affect default home paths. These are unusually specific operational constraints. They deserve a place in your deployment checklist alongside the model key, rather than being discovered after an agent already holds account sessions.

Permission prompts do not erase the documented trust boundaries

Every tool belongs to an allow, ask or deny permission. Pending approvals survive a restart, and an approved call is documented to run at most once. The model engine and computer daemon run under separate guest users from the model's commands. Those controls address real risks in a persistent assistant. They also need direct validation for your intended workflow, especially given the 1 failed test in our supplied result.

The guide names limits that matter more than the browser's anti-detection marketing. A guest can reach services on the host's loopback network. Model commands can read a configured browser identity's proxy credentials, and an approval for browser typing can display the typed password. Those are documented boundaries, not findings from our sandbox. Pass if your security requirements assume that every guest is isolated from local host services or that all browser secrets stay inaccessible to model-run commands.

Persistence arrives before backups and quotas

The status section lists backups, snapshots and rollback as absent, along with quotas and network policies. A persistent disk can preserve a browser login after a restart while still leaving recovery from an unwanted change to you. For an assistant handling recurring invoices or account workflows, preservation alone is insufficient. Establish a way to restore the relevant state before allowing unattended changes to valuable accounts.

The 2,205 passing tests are encouraging for an alpha project, but our suite did not pass and did not exercise a fully provisioned agent computer. Browser Use is worth comparing when browser actions are the main requirement. Nanobot, which this project's engine derives from, is another option for a personal agent without adopting this entire VM design. Dots earns the extra machinery when persistent computers themselves solve your problem.

October changes show active work on the guest boundary

GitHub recorded a push on October 15, 2026 and 32,085 stars. Recent technical pull requests address browser interfaces and guest startup order, alongside unrelated spam in the issue list. Open PR 1456 describes moving guest-unit startup after proxy configuration. That is evidence of current engineering attention and an unresolved proposed change, not proof that a particular networking policy is already fixed. The PR concerns this guest startup path directly.

The latest release is a golden guest image, rather than a conventional application version. Begin with an expendable browser identity and a task whose result you can verify outside the agent. Require recovery and permission checks before handing a persistent Dot an account you cannot afford to repair manually.

Alternatives

ProjectWhat it isPick it when
Browser Use gh↗A library for model-driven browser actions.pick this instead when browser automation is the job and you do not need a persistent Linux computer per agent.
Nanobot gh↗A personal AI agent framework with tools, memory and messaging integrations.pick this instead when you want a personal agent without adopting Dots entire QEMU host architecture.

What people are saying

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

Sources

  1. Current invisible_dots README
  2. Operating guide and security limits
  3. Repository facts
  4. Guest startup ordering proposal
  5. Golden guest image release
  6. Browser Use
  7. Nanobot

More self-hosted reviews

Qwen3.8-Flash-Next-Single-DGX-Spark-TensorFold · LibreTV · unifi-toolkit · ps5-payload-manager · DiPlay · AIHOT · the whole board →