# OpenDots

> Open-source, self-hosted template for always-on AI coworkers, each with its own computer, reachable via text, calls, and Slack.

OpenDots is an MIT-licensed, self-hostable template from CopilotKit for building persistent AI coworkers called Dots. Each Dot has its own role, permissions, and optionally its own computer with a browser, files, and terminal, and its work lands as editable pages in a workspace. It is labeled alpha and is a template you run yourself, not a hosted product.

## What It Is

OpenDots is a starting point for building your own agent workspace. You clone the repository, define specialist Dots, connect your services, and adapt the interface and tools. Dots can be reached by text, by realtime voice calls, or by mentioning them in Slack. Finished work is saved to Spaces, which are searchable libraries of pages with a visual editor, slash commands, autosave, and revision checks.

## How the Dots Work

Each Dot gets a name, role, instructions, and a set of permitted tools. Browser, file, shell, and memory access is granted per Dot, and computer access is off by default. A Dot's computer uses OpenBot's container supervisor, and its browser profile and workspace files persist across stop and start. The Computer panel shows the browser, files, terminal output, and activity, and you can take control at any time. Scheduled recurring tasks run server-side in their original conversation, with pause and retry controls.

## Human Review and Learning

A Dot can show a draft first. A human-in-the-loop card pauses the conversation for Approve & save or Decline, and retried saves recover the already-created page rather than duplicating it. Automatic Learning turns conversations into reusable skills that load into a Dot after you review and publish them.

## Agent-Harness Agnostic via AG-UI

OpenDots is built end to end on AG-UI, the open agent-to-application protocol maintained by CopilotKit, so it is not tied to one model or agent. CopilotKit's launch post states you can bring any agent through AG-UI and use any OpenAI-compatible model. The stack uses the CopilotKit React SDK and runtime, Intelligence Threads for durable history, the Channels SDK for Slack, and TanStack AI for model streaming.

## Current Status

The repository describes OpenDots as alpha and single-owner by design. Conversations, Spaces, Dot computers, and calls are listed as tested with live services. Specialist Dots and background work are tested locally. Spoken delegation and Slack still need live testing. Shared editing, invitations, file uploads, and multi-Dot group conversations are listed as further work.

## Setup Path

It needs Node.js 24 and npm. Clone the repo, run npm ci, copy .env.example to .env, and run npm run dev. Spaces and Dots can be configured before connecting services, and calls, Slack, and Dot computers each have their own setup guides.

## Features
- Per-Dot isolated computer with browser, files, and terminal
- Human takeover of Dot computers
- Specialist Dots with roles, instructions, and per-Dot permissions
- Spaces and pages with visual editor, slash commands, autosave, and revision checks
- Human-in-the-loop Approve & save review cards
- Realtime voice calls with delegated compute agent
- Slack integration via Channels SDK with workspace and user allowlists
- Scheduled recurring background tasks with pause and retry
- User-managed memory preferences
- Automatic Learning that turns conversations into reusable skills
- Public-web research via Parallel Search MCP
- Self-hostable with local Node and Docker setup

## Integrations
AG-UI, CopilotKit, CopilotKit Intelligence, Channels SDK, Slack, OpenBot, TanStack AI, OpenAI-compatible model providers, Parallel Search MCP, Docker

## Platforms
LINUX, ANDROID, IOS, WEB, API

## Pricing
Open Source

## Links
- Website: https://www.copilotkit.ai/opendots
- Documentation: https://docs.copilotkit.ai/
- Repository: https://github.com/CopilotKit/OpenDots
- EveryDev.ai: https://www.everydev.ai/tools/opendots
