OpenDots · Open-source template · Alpha

Always-on AI coworkers for text, calls and Slack

Each Dot has its own role, its own permissions and its own computer, and its work lands as pages you can keep editing. Clone the template, self-host it, and make it your own.

OpenDots

Spaces

Dots

Memory
Settings
DM
David McKay

Scout

Researcher · computer running

Open Acme's Agents SDK announcement, summarize what they shipped, and save notes I can use in the launch brief.

Opening it on my computer.

Opened in Scout’s browser

acme.dev/blog/agents-sdk

Live
Saved file~/notes/acme-agents-sdk.md · 2.1 KB
Ranwc -l ~/notes/acme-agents-sdk.md → 41 lines

Here's the draft. I'll save it to Launch once you approve.

Review before saving

Acme Agents SDK — notes

→ Launch

Acme shipped a hosted agent runtime with tool calling and traces. No UI layer, no human-in-the-loop primitives, and agents run on Acme's servers only.

Approved · saved to Launch

Saved. The short version: they shipped the runtime, not the interface. Nothing in the announcement covers what the user sees while an agent works — that's the gap the brief should lean on.

Ask anything
Computer
Running
Scout’s browser profile and files persist across stop and start.
Take over

Permissions

BrowserFilesShellMemory
Spaces

Where the work ends up

A Space is a home for working documents. Browse pages in a searchable library, nest them as subpages, and open any one in a focused editor. Write it yourself, save a conversation as a page, or ask a Dot to draft and revise it.

A real editor
Formatting, slash commands, undo and redo, with a Markdown source mode when you want it.
Edits that don't collide
Autosave reports its progress, a failed save keeps your draft, and revision checks stop a stale edit from overwriting newer content.
Specialist Dots

Coworkers with one job each

Give each Dot a name, a role, instructions and the tools it may use. A researcher investigates a topic; a writer turns the findings into a draft. Each one has its own conversation, and you decide which Spaces it can reach.

Permissions per Dot
Browser, files, shell and memory are granted one Dot at a time, so a writer never holds a researcher's access.
Always on
Schedule recurring work and it runs server-side in its original conversation, with pause and retry.
Dot computers

Each Dot gets its own computer

A Dot can have an isolated computer, using OpenBot's container supervisor. Its browser profile and workspace files persist across stop and start, and every action shows up inline in the chat as it happens.

Watch, then take over
The Computer panel shows the browser, files, terminal output and activity, and you can take control at any point.
Credentials stay on the server
Service keys never reach the browser, and each Dot gets a computer credential of its own.
Human in the loop

Nothing is saved until you say so

Ask a Dot to show you a draft first. A review card pauses the conversation for Approve & save or Decline; approval creates the page in a Space you've authorized and hands you the link, and the Dot carries on after your decision.

Retries don't duplicate
If a save is retried, it recovers the page that was already created instead of writing a second one.
Text, calls and Slack

One conversation, wherever you are

Text a Dot, call it, or mention it in Slack and pick up the thread later. On a call, realtime speech keeps talking while a separate compute agent does the longer work, using the same context and the same permissions.

A proper call screen
Live timer, separate captions for you and the Dot, mute, speaker, and a minimized view so you can keep going in chat.
Slack through Channels SDK
A managed Slack connection, with an explicit allowlist of workspaces and users.
Built on AG-UI

From the team behind the protocol

AG-UI is the open protocol for how an agent talks to the application a person is looking at. We wrote it and maintain the reference implementation, and OpenDots is built on it end to end.

AG-UI is adopted by

  • Google
  • AWS
  • Microsoft
  • LangChain
  • Mastra
  • Pydantic AI
AG-UI
Carries streamed messages, tool calls and agent state to the interface, so computer activity and approval cards appear as the agent works.
CopilotKit React SDK and runtime
The chat, the tool renderers and the human-in-the-loop pause are CopilotKit components you can restyle or replace.
Intelligence Threads
Durable conversation history, with a separate thread for each page and each specialist.
Channels SDK
Brings Dots into Slack through a managed connection, following OpenTag.
TanStack AI
Model streaming and server-tool execution against any OpenAI-compatible provider.
OpenBot computers
The container supervisor and computer service behind each Dot's browser, files and shell.
Status

What's in the template

OpenDots is an alpha template, not a hosted product. You run it and configure its services. Here is what's in it, and how far each part has been tested.

ConversationsReact SDK chat, Threads, page-specific conversations, source linksTested with live services
Spaces and pagesLibrary, visual editor, slash commands, autosave, revision checksTested with live services
Dot computersPer-Dot browser profiles, files, shell, takeover, action recordsTested with live services
CallsWebRTC speech, call controls, bounded sessions, timeline receiptsTested with live services
Specialist DotsRoles, instructions, per-Dot research and memory permissionsTested locally
Background workScheduled turns in their original conversation, pause and retryTested locally
Spoken delegationHanding longer work from a call to the compute agentNeeds live testing
SlackManaged Channels SDK connection with workspace and user allowlistsNeeds live testing

Single-owner by design today. Shared editing, invitations, file uploads and multi-Dot group conversations are listed as further work in the repository.

Get started

Running locally in five commands

Clone it, run it, and start writing pages and configuring Dots before you connect a single service. Add your conversation and model settings to .env when you want to start chatting.

Needs Node.js 24 and npm. Calls, Slack and Dot computers each have their own setup guide in the repository.

$ git clone https://github.com/CopilotKit/OpenDots.git
$ cd OpenDots
$ npm ci
$ cp .env.example .env
$ npm run dev
FAQs

Questions

Build your own Dots

Clone the template and make it yours: define your Dots, connect your services, and change the interface and tools to fit how you work. If you’re building something bigger on it, our engineers can help.