Agent frameworks#Multi-agent#Runtime
OpenDots: an open-source template for always-on AI coworkers
CopilotKit open-source template for persistent AI coworkers with container computers — chat, calls and Slack, human approval before saving. MIT, alpha.
Project facts
GitHub Ecosystem- License
- MIT
- Language
- TypeScript
- Stars
- 1,827
- Data checked
- 2026-10-03
Snapshot figures reflect the check date and may change over time.
At its DevDay in late September, OpenAI launched Dots — always-on AI coworkers that keep working after you leave the chat — and the live demo famously fell over on stage; Chinese coverage of the event used the phrase “repeatedly failed.” Two days later, the CopilotKit team put an open-source counterpart on GitHub: OpenDots, a clone-and-run template where each Dot has a name, a role, instructions and permissions, its own container computer, and hands in editable documents instead of chat transcripts. The repository was created on September 29, 2026, and counted 1,827 stars as of October 3, MIT-licensed. The WeChat account 开源日记 covered it on October 3.

Core features
- Employee profiles: each Dot stores its own name, role instructions and permitted tools, with research and memory permissions set per Dot. Changes take effect immediately — and the README is upfront that this is “a template, not a hosted product”: you run the app and configure the infrastructure.
- Container computers: built on the sibling project OpenBot’s container supervisor, each computer keeps a persistent browser profile and workspace files across stop/start; the Computer panel exposes browser control, files, terminal output and action records, with human takeover at any point. The security default matters: an unconfigured template never executes commands on your host, and the browser service is read-only and limited to public pages.
- Approval before saving: ask a Dot for a draft and a CopilotKit human-in-the-loop card pauses the conversation for Approve & save or Decline; only an approval writes the page into an authorized Space and returns the link. Pages are real documents with a visual editor, searchable library, nested subpages, autosave and revision-conflict checks.
- One Dot, three channels: typing, a WebRTC voice call or an @-mention in Slack all reach the same conversation context; calls pair realtime speech with a separate compute agent so longer work keeps running while you talk. Slack goes through Channels SDK with workspace and user allowlists.
- Background work and skills: scheduled tasks run server-side turns in their original conversation, pausable and retryable; Automatic Learning gives each Dot a learning container that routes conversation evidence into publishable skills — but skills require your review and publication, and existing conversations are not enrolled retroactively.
- Bring your own model: any OpenAI-compatible endpoint works, so a fully internal deployment with local models is straightforward. The stack is CopilotKit’s React SDK plus the AG-UI protocol, with TanStack AI for streaming and server-tool execution.
Typical use cases
- A resident researcher: scheduled daily research saved into a Space, delivered as documents, with a call for the verbal report.
- Fixed roles like code reviewer or data analyst: one Dot each, with their own permissions and computers and an auditable trail.
- Teams that want AI coworkers inside the network perimeter: self-host the template and point it at local models.
Quick start
Node.js 24 required:
git clone https://github.com/CopilotKit/OpenDots.git
cd OpenDots
npm ci
cp .env.example .env
npm run dev
Open http://127.0.0.1:5173 — with no services configured you can already create Spaces, write pages and define Dots. For the computer feature, bring up the container services with Docker Compose per docs/COMPUTERS.md.
Summary
This fits developers who want an auditable, customizable AI workforce; anyone expecting a turnkey hosted product will be disappointed — the README opens by calling it a starting point, not a finished product. Three things to know: it is Alpha, and the README honestly tracks what has been verified (model chat, computer actions and voice were tested locally; Slack and spoken compute delegation have not yet passed connected-service verification); Dots cannot delegate work to each other yet — group conversations and automatic delegation are future work; and schedules are recurring instructions, not an event-trigger system. One privacy detail the coverage missed: web research by default goes through Parallel’s search MCP — queries, requested URLs and a session identifier are sent to search.parallel.ai — so configure your own PARALLEL_API_KEY for heavy use, or set WEB_SEARCH_PROVIDER=disabled to turn it off. Work still needs human approval before it lands, which at alpha stage is a feature. And if you want to give a “social media manager Dot” the last mile — actually publishing the content — see our earlier entry on aitoearn, a publishing workflow for multiple social platforms.