cd /news/ai-agents/show-hn-opendots-model-agnostic-alte… · home › topics › ai-agents › article
[ARTICLE · art-141931] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=· neutral

Show HN: OpenDots – model agnostic alternative to OpenAI's Dots

DiggerHQ released OpenDots, an open-source, model-agnostic personal agent framework positioned as an alternative to OpenAI's Dots, running on OpenComputer Serverless Agents. OpenDots is a TanStack Start web app with two agents defined in React-style TypeScript hooks; each agent names its model in one line, defaulting to "anthropic/claude-sonnet-4.6" and supporting openai/ and openrouter/ providers through OpenComputer-managed credentials. Setup requires Node.js 22, an OpenComputer account and an HTTPS tunnel to port 3100, with deployment guides for Cloudflare Workers, Render, Docker and Fly.io.

read4 min views3 publishedSep 29, 2026
Show HN: OpenDots – model agnostic alternative to OpenAI's Dots
Image: Michielbdejong (auto-discovered)

An always-on personal agent you own, on the model you choose.

A personal assistant you deploy for yourself, and a model-agnostic alternative to OpenAI's Dots. Hand it work, keep talking, and get the results back in the same conversation.

Longer jobs get a topic: its own conversation, notes you can read and edit, and a cloud computer when needed. Work continues when you close the browser.

A TanStack Start web app and two agents defined with React-style TypeScript hooks. OpenComputer Serverless Agents runs the agents, provisions their computers and stores their conversations and notes in your own OpenComputer project. No separate agent infrastructure to operate.

Setup includes a Workshop demo topic linked to a sample application's quickstart. Ask in the main conversation:

In Workshop demo, run the quickstart from a clean checkout. Fix anything that fails, rerun it, and save the verified commands in the topic notes.

Open the topic to watch the commands and inspect its notes. You can ask for something else while it runs; the worker's result comes back to the main conversation. Then follow up:

The workshop attendees use Node 20. Check that too.

The worker continues the same topic. You can also correct its notes directly before the next task. Those notes survive replacing the topic's computer and are readable through the OpenComputer API and CLI independently of this app.

You need Node.js 22, an OpenComputer account and an HTTPS tunnel to your machine. The app runs locally; the agents run on OpenComputer.

git clone https://github.com/diggerhq/opendots.git
cd opendots
npm ci
npx opencomputer login

Start a tunnel to port 3100 and leave it running. For example:

ngrok http 3100

In another terminal in the repository, replace https://YOUR-TUNNEL-HOST with the HTTPS URL the tunnel printed:

npm run setup -- --origin https://YOUR-TUNNEL-HOST
npm run dev

Setup links or creates the OpenComputer project, generates the login and application secrets in .env.local, deploys both agents to Development, and seeds the example notes. The public URL lets the coordinator call the app's delegation tool.

Open that HTTPS URL and sign in with OPENDOTS_OWNER_SECRET from .env.local. Keep both terminals running. If the tunnel URL changes, rerun setup with the new origin, restart the app, sign in again and replace the coordinator from the owner menu so its callback uses the new origin.

Follow the host guide for secrets and agent setup: Cloudflare Workers · Render · Docker · Fly.io. The guides record which paths have been tested; the Cloudflare button requires a public repository.

Access to your app is protected by an owner login. See configuration and owner access for storage, origins and secret rotation; .env.example lists the settings.

OpenDots is not tied to one model provider. Each agent names its model in one line, and OpenComputer handles provider credentials, so no API key goes into the code:

useModel("anthropic/claude-sonnet-4.6");      // default
useModel("openai/<model>");                   // through your connected Codex account
useModel("openrouter/<provider>/<model>");    // any managed OpenRouter model

Change the literal in coordinator/agent.ts (and the MODEL constant beside it, which the coordinator reports when asked) and in topic-worker/agent.ts, then run npm run deploy:agents. The coordinator and the workers can use different models. OpenAI models through your own account need BYOK on a Pro or Max plan.

An agent is a TypeScript function that declares what it needs and returns its instructions. The coordinator starts with:

useModel("anthropic/claude-sonnet-4.6");
const input = useInput();
const owner = useMemory(profile);
const overview = useMemory(topics);
useTool(startTopic);

It answers directly or calls start_topic to create or reuse a worker session. The worker uses a computer for its task and saves useful knowledge with memory_save.

Both agents read project memory through useMemory: the coordinator sees the owner profile and topic summaries; each worker sees the profile and its own topic's notes. Conversation history belongs to the session; saved notes remain available to later sessions.

The app owns login, the session index and delegation. The browser attaches to sessions through authenticated routes using useAgent; the OpenComputer key stays on the server. Worker outcomes return through platform event subscriptions, with an app-side fallback while those routes are unavailable.

Run npm run check for typechecking, lint, unit tests and agent validation. Development notes cover the live Playwright suite, local transcripts and redeploying the agents.

Early preview: the interface, agents and platform APIs are still changing.

── more in #ai-agents 4 stories · sorted by recency
── more on @opendots 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-opendots-mod…] indexed:0 read:4min 2026-09-29 · —