ThumbGate / Blog Blog / research
2026-08-19 · research

A $10 VPS is not a Computer

Igor Ganapolsky · 7 min read

Cursor’s blog is nice because it is first-party, dated, tagged, and signed. A research post names the author and how long it takes to read. Related posts sit at the bottom. There is no clapbait. We are not affiliated with Cursor. We stole that format for thumbgate.ai/blog.

The substance is a falsifier we almost failed. Someone pasted an OpenClaw / E2B / Cua blueprint and asked us to assemble Manager / Factory / Hands on hosted Hermes. The mapping looked tidy: an economic router, a cloud runner, a “browser sidecar.” File names are not a product.

What the runner actually does

The hosted worker is hermes-cloud-runner. Its execute() function POSTs one prompt to /chat/completions and returns the assistant text. A grep of that service for playwright, cua, e2b, or openclaw is empty. That is Factory as chat, not a GUI sandbox.

async function execute(config, task) {
  const response = await fetch(`${config.openaiBaseUrl}/chat/completions`, {
    method: 'POST',
    body: JSON.stringify({
      model: config.model,
      messages: [...context, { role: 'user', content: task.prompt }],
    }),
  });
  return payload.choices?.[0]?.message?.content;
}

The control plane can require a hosted browser sidecar when a prompt matches HOSTED_BROWSER_CUE_RES (playwright, computer-use, screenshot-and-click). browserHealthUrl() is a health probe. Requiring a name in policy is not driving Gmail. Hands, if we are honest, is POLICY_CUE_NOT_DRIVER.

Presence of a similarly named file is not causation. If you cannot name the falsifier, you have a story.

Two URLs, two jobs

thumbgate.ai is the pre-action gate: evaluate the proposed tool call, block unsafe ones, leave a receipt. Local npx thumbgate init. Public MIT. It is not a general-purpose digital worker.

thumbgate.app is hosted Hermes on a fenced VPS: $10/month, 14-day trial, approvals in the browser. Give it a job. It answers in chat. It does not become Perplexity Computer because we added a Give → Works → Approve strip on the landing page.

We run a doctor that inspects those files instead of relabeling them:

hosted-computer doctor --json
# weAreOpenClaw: false
# factory.kind: CHAT_COMPLETIONS_ONLY
# hands.kind: POLICY_CUE_NOT_DRIVER

hosted-computer route "install openclaw" exits 2 (CLONE_FORBIDDEN). That is cheaper than vendoring a second product we do not operate.

What we did not steal

Nous Hermes is the agent runtime we host; we are not affiliated with Nous Research. The $10 offer is the fenced VPS, not a Computer clone.

Give hosted Hermes a job → npx thumbgate init