Your documents are local, while conversations need Intelligence
OpenDots lets you create Spaces and edit pages before connecting a model. Conversations have another dependency: CopilotKit Intelligence stores their history, while SQLite stores pages, workspace metadata, and thread bindings. That split is the adoption decision to make first. Copying the database preserves your documents, but it does not back up the conversations that produced them. A developer who wants this workspace needs an operating plan for both storage layers.
Our install brought in 1,012 packages and occupied 1,025 MB. The application includes a visual page editor, specialist assistants, and approval cards for selected actions. It is a useful starting point if you want to build around those interactions. The README calls it an alpha template and explicitly limits it to a single owner. Shared editing, invitations, uploads, and interactive page embeds are outside the included workspace.
What happened when we ran it
Our run installed commit ab39f25 in 48 seconds, built in 29 seconds, and passed all 344 Vitest tests in 28 seconds on October 16, 2026. The fresh Debian sandbox had 3 CPUs and 8 GB of RAM, ran lab-node:22, and had no secrets or elevated privileges. Installation used 1,025 MB. These results establish a successful repository path in that environment, without establishing that any external integration was connected.
Npm audit reported 13 known vulnerabilities: 2 critical, 4 high, 0 moderate, and 7 low. The supplied summary does not identify affected packages or reachable attack paths, so assigning the findings to a particular integration would be guesswork. Our scan found 1 CI workflow, a Dockerfile, a Compose file, and a tests directory. Those are useful maintenance assets, but a passing suite cannot answer the dependency-risk question raised by the audit.
Node 24 is the documented route despite our Node 22 result
The README specifies Node 24 and npm for development. Our lab used the Node 22 image, a difference worth keeping visible rather than treating the successful build as a supported-version promise. For a new deployment, follow the documented runtime. You can then create documents and configure assistants before paying for model calls, because manual page editing works independently of conversation services.
The 344 passing tests also have a scope limit stated in the documentation: automated checks use service fixtures. Chat needs Intelligence and model credentials, while speech and computer tools need additional services. The README separately records some maintainer-connected verification and identifies remaining gaps, including Slack and spoken compute delegation. Those statements describe upstream's work. Our unprivileged run did not validate live accounts, provider behavior, or a successful phone-style conversation.
Local evaluation still requires an account and a license
The setup guide describes a renewable 30-day local Intelligence evaluation on macOS Docker Desktop. It requires a CopilotKit account and is explicitly outside production use. A production self-hosted Intelligence deployment follows a licensed route. The MIT license on the OpenDots template should therefore be read separately from the requirements for the conversation service it uses.
Our 1,025 MB installation is not a footprint measurement for that Intelligence stack. Nor does running Intelligence locally make a remote model local. The README asks operators to configure the application's model and the Automatic Learning model separately. Public-web research sends queries and selected URLs to Parallel by default, with an option to disable it. These are service and data-flow choices that remain after you move the browser application onto your own host.
MCP approvals cover a useful, specific boundary
Connections can expose tools from MCP servers, with per-Dot controls. The README says read-only tools run directly, while other MCP tools pause for an approval card. Draft-to-page review has its own flow: approving an unchanged draft can recover the page from a repeated request, while a changed draft needs new review. These details are worth preserving when you customize the template because they connect the visible approval to a particular proposed action.
The 13 audit findings do not establish that this approval path is broken. Conversely, the green tests do not prove every connected tool honors its declared behavior. Composio is another access path: adding its key alone grants no access, but enabling it with a blank toolkit list permits every toolkit available in the project. Start with a narrow toolkit selection and inspect what the assistant actually invokes before attaching accounts with consequential write access.
Interrupted schedules require a person to inspect prior effects
Scheduled work stays in its original conversation. If the worker stops or its lease expires, OpenDots marks the run Interrupted and waits for explicit retry after review. Completed effects may already exist even without a final answer. That is a useful recovery policy for actions where repeating the request can repeat the consequence. It also means an always-on assistant still needs someone who can inspect its work and decide whether retrying is appropriate.
The latest push was October 15, 2026. GitHub listed 5,496 stars and 74 open issues and PRs, with a dependency dashboard and new proposals active October 16. No latest published release was available. Recent activity supports calling the template maintained, with no basis for treating the combined queue as a count of bugs. If you choose it, begin with documents and supervised read-only tools, resolve the dependency findings, and connect computer or account write access only after reviewing that deployment's actual behavior.

