OpenDots: The Agent Operating System That Gives AI a Computer, a Notebook, and a Boss
A self-hostable CopilotKit template for persistent AI coworkers, where conversations become documents, tools live behind permissions, and every agent can carry state across web, voice, and Slack.
- OpenDots treats an AI agent like infrastructure, not a prompt, by giving it a computer, channels, and a place to save work.
- Its core trick is persistence: chats can become pages, tasks can resume later, and the same thread can continue across web, voice, and Slack.
- Safety is not bolted on, because approval gates, redaction, and owner-token protection sit inside the execution loop.
- Compared with chat assistants and generic agent frameworks, OpenDots is a full stack for self-hosted, human-governed coworker behavior.
Most agent demos stop at clever tool use. OpenDots pushes past that line and asks a harder question: what would it take for an AI agent to feel operationally real?
The answer is not a better prompt template. It is a system with state, a computer, documents, and a boss who can approve or stop action without breaking the flow. That is why OpenDots stands out. It treats the agent as a durable worker, not a disposable conversation.
Why OpenDots Feels Like a Coworker, Not a Chatbot
The visible shift is persistence. A Dot can work in one channel, pause for review, and continue later in another place without losing the thread. The work does not evaporate when the chat window closes.
That matters because most agents are still trapped inside sessions. OpenDots instead binds conversation to a workspace, which makes the output feel less like a transcript and more like an evolving body of work.
Every Dot is an always-on AI coworker with its own computer. Work with your Dots in Spaces and Pages, call them, or mention them in Slack. Host it yourself, bring any agent through AG-UI and use any OpenAI-compatible model.
The Trick: Conversations Turn Into Workspaces
OpenDots makes memory concrete. Instead of treating persistence as a mystical model feature, it maps work onto Spaces, Pages, Threads, and Tasks. That gives the agent a place to put things, revisit them, and continue later.
The important move is the page-to-chat linkage. A conversation can be formatted into Markdown, saved as a document, and then reopened as work rather than rediscovered as history. That is the difference between recall and infrastructure.
| Layer | What it does | Why it matters |
|---|---|---|
| Channel | Web, Slack, or voice entry | The agent can meet people where they already work |
| Thread | Shared conversation identity | Context survives beyond a single session |
| Page | Durable document output | Work becomes editable and reusable |
| Task | Scheduled continuation | The agent can wake up and resume |
| Space | Organizing container | Saved work has a home, not just a log |
The Computer Is the Secret Sauce
This is the part many agent products hand-wave. OpenDots gives each Dot an actual computer environment through OpenBot, which means browser state, a filesystem, and a shell are all part of the agent’s working memory.
That changes what the model can do. A browser snapshot gives it situational awareness, the shell gives it leverage, and the persistent profile means it can return to a workspace instead of starting from scratch every time.
OpenBot just crossed 3,500 GitHub stars! ... Bots can now answer from Google Drive and Notion, hand off to each other, run on a schedule, and route untagged messages on their own. You can take the wheel of a Bot's browser mid-task.
Safety Is Built Into the Loop
OpenDots does not assume autonomy. It gates it. The check-and-abort pattern means the server keeps asking whether execution is still allowed, so a pause in the UI can stop the agent before it keeps going.
That is paired with redaction, owner-token protection, and security headers. In other words, the system is designed so that a self-hosted agent is still your agent.
| Control layer | What OpenDots does | Why it matters |
|---|---|---|
| Pause and abort | Checks whether the user has revoked permission | The agent can be stopped mid-run |
| Review cards | Waits for explicit approval before saving drafts | Human judgment stays in the loop |
| Secret redaction | Removes infrastructure tokens from outgoing responses | Credentials do not leak through tool output |
| Owner token | Restricts access to the self-hosted instance | The deployment stays private by default |
Why This Is More Than Agent Framework Glue
Frameworks are good at orchestration logic. OpenDots is broader than that. It gives you the orchestration, the UI, the computer, and the channels in one self-hostable template.
That is why the comparison is not really between libraries. It is between levels of abstraction. Generic frameworks help you build an agent. OpenDots helps you build an environment where an agent can live.
| Approach | Persistence | Self-hosting | Channels | Computer access | Human control |
|---|---|---|---|---|---|
| Chat-first assistants | Limited | Usually no | Mostly web chat | No | Light |
| Generic agent frameworks | Depends on you | Yes, if you assemble it | You add them | You add it | You add it |
| Browser automation tools | Session-based | Sometimes | Rarely | Yes | Partial |
| OpenDots | Built in | Yes | Web, Slack, voice | Yes | Built in |
Who Should Build on This
OpenDots is for teams that want persistent AI coworkers without giving up infrastructure ownership. If you need data sovereignty, channel-native presence, and a work surface that survives beyond one prompt, the template is pointed at you.
It is also a strong fit for developers who are tired of stitching together a dozen agent pieces by hand. OpenDots does the annoying integration work so they can focus on the behavior they actually want to ship.