AI · 6 min read
OpenDot: run a free, open-source OpenAI Dots alternative (setup + sub-agents)
Self-host your own always-on AI agents with their own computer — set it up locally and create specialist sub-agents.
OpenAI’s Dots are always-on AI agents that run on their own cloud computer and do tasks for you in the background. The catch: they sit behind a paid Pro plan. OpenDot is the open-source answer, a self-hostable version you run on your own machine, with any model you want. This guide uses the CopilotKit OpenDots template, which is the cleanest one and has the sub-agent feature built in.
Set expectations first (honesty matters here). The software is free and MIT-licensed. It is not a free version of Dots in the “no cost at all” sense: you bring your own model API key and you pay that provider for usage, and the computer feature needs a bit of extra setup. It’s also early (alpha), built for local experimentation, not production. If you’re technical and want to actually own your agents, it’s great. If you just want a polished app, wait for the hosted tools to get cheaper.
What you need
- Node.js 24 and npm
- An OpenAI-compatible model provider and API key (this is what the Dots think with)
- Optional: Docker, if you want to give a Dot its own browser/computer later
Run it locally
Clone the template and start it:
git clone https://github.com/CopilotKit/OpenDots.git
cd OpenDots
npm ci
cp .env.example .env
npm run dev
Then open http://127.0.0.1:5173. You can create Spaces, write pages, and set up Dots straight away. To actually chat, open the .env file and add your model and conversation settings, the full list is in their Setup guide. Your credentials stay on your own server; nothing is sent to OpenDots.
Create sub-agents (they’re called “Specialist Dots”)
This is the part you asked about. In OpenDots, a sub-agent is a Specialist Dot, and you make one by giving it four things:
- A name — e.g. “Scout” or “Writer”.
- A role — what it’s for in one line.
- Instructions — its system prompt: how it should behave, what it should and shouldn’t do.
- Permitted tools — exactly which tools and permissions it’s allowed to use.
The usual pattern is to split work across specialists: a researcher Dot that investigates a topic, and a writer Dot that turns those findings into a draft. You inspect each one’s work and control what it’s allowed to touch. Each Dot can also get its own computer (a persistent browser + files + terminal) through CopilotKit’s OpenBot service, so it can browse and save files on its own, with every higher-risk action pausing for your approval. Setting up those computers is a separate step, documented in their Computer setup.
One honest limitation: right now each Specialist Dot has its own role and conversation, but automatic hand-off between Dots (one agent delegating to another on its own) is still being built. So today you orchestrate them yourself rather than having them fully run as a team. Good to know before you plan a big multi-agent workflow on it.
Helpful links
- The repo: github.com/CopilotKit/OpenDots
- Setup / config guide: docs/SETUP.md
- Giving a Dot its own computer: OpenBot · docs/COMPUTERS.md
- How it’s wired (the agent↔UI protocol): AG-UI docs · CopilotKit docs
- A different OpenDot flavour (Python/FastAPI + Next.js, with Composio connectors), if you prefer that stack: github.com/Anil-matcha/open-dots
The honest bottom line
OpenDot is the right pick if you want to learn how always-on agents actually work and keep everything on your own machine and your own keys. It is a developer template in active development, not a finished app, and you pay your model provider for what the agents do. Set it up, build one researcher Dot and one writer Dot, and you’ll understand the whole “agent with its own computer” idea better than 99% of people just reading about Dots in the news.
Tools mentioned
- OpenDots
- CopilotKit
- Node.js
Free either way — an account just keeps your list.