Repo of the Day
CopilotKit/OpenDots
Published: Oct 5, 2026
Open repository ↗Your always-on AI coworkers that move between text, calls, and Slack
Summary
OpenDots is an open-source TypeScript template for building persistent AI agents ("Dots") that operate across text chat, voice calls, and Slack. Each Dot is a configurable agent with its own role, tools, and optionally its own isolated computer, and the project is MIT-licensed, runs on Node.js 24, and ships as a self-hostable web and mobile app in alpha status. It sits on top of CopilotKit, AG-UI, and TanStack AI, so the agent-to-UI streaming and tool-call rendering are already wired.
What it is useful for
- Building a single-user "AI coworker" workspace where specialized agents (for example, a researcher and a writer) save outputs as editable pages in named Spaces with a searchable library, grid and list views, and nested subpages.
- Trying out human-in-the-loop workflows, since the template includes an approval card that pauses a tool call for "Approve & save" or "Decline" before a draft becomes a page.
- Adding a voice channel to an existing chat agent using WebRTC speech with separate user and Dot captions, microphone and speaker mute, a live timer, and a minimized call view.
- Connecting an agent to Slack via the Channels SDK with an explicit workspace and user allowlist, so a Dot can be mentioned in a channel and continue in its thread.
- Letting a Dot drive a real browser session through OpenBot, with a per-Dot browser profile, files, shell, takeover, and action record; credentials stay on the server and the template does not run commands on your host when unconfigured.
Documented limits: shared editing, invitations, file uploads, interactive page embeds, and multi-Dot group conversations are not included. Slack integration and spoken compute delegation still need connected-service verification.
How engineers can use it
The README documents a five-step local setup:
git clone https://github.com/CopilotKit/OpenDots.gitcd OpenDotsnpm cicp .env.example .envnpm run dev
Open http://127.0.0.1:5173. You can create Spaces, write pages, and configure Dots before connecting any external services. To enable chat, add conversation and model settings to .env; for voice, browser, or Slack, follow docs/SETUP.md, docs/COMPUTERS.md, and docs/SETUP.md#slack. To customize, edit each Dot's name, role instructions, and permitted tools in its settings, and consult the AG-UI architecture diagram in the README to see where the runtime, Channels SDK, and OpenBot attach.