# OpenDuet (slim)

> OpenDuet is CopilotKit's open-source, self-hosted proactive assistant built on OpenBot. It sends a morning brief from Gmail and Google Calendar, runs tasks in its own browser container and pauses consequential actions for approval.

- Full: https://www.anchorterminal.com/tools/openduet.md (~10,100 tokens) · this version ~2,230 tokens · JSON https://www.anchorterminal.com/tools/openduet.json · canonical https://www.anchorterminal.com/tools/openduet
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-30 · pricing https://www.anchorterminal.com/tools/openduet#pricing · reviews https://www.anchorterminal.com/tools/openduet#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**D · 49.5/100 · rank #962 of 1239 · #15 in Personal assistants · not agent-ready · confidence medium**


Assessment: Self-hosted under MIT, with a server gateway that audits every Bot action, per-Bot browser containers with egress filtering, and write-only credentials. Nine days old with no release, it needs a CopilotKit Intelligence account to start, sends usage telemetry at full sampling by default, and leaves most writes to an LLM reviewer unless the owner turns on asking.

## Facts

- Kind: Agent harness · vendor: CopilotKit (Tawkit, Inc.) · category: Personal assistants · legal entity: Tawkit, Inc. (d/b/a CopilotKit) · provenance 67/100
- Auth: OAuth or key · pricing: Freemium · x402: no · licence: MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement
- Probe metrics: not measured yet (probes haven't run)
- Surface listed: The self-hosted OpenDuet repository at main as of 28 October 2026, graded as software the owner runs, read from the README, docs/telemetry.md, the vendored OpenBot docs, changelog, tenant package, CI workflows and selected server source on raw.githubusercontent.com, six GitHub API requests (repository, releases, tags, tree, contributors, issues), the Actions page, and CopilotKit's announcement, product, pricing, Intelligence plans, CLI, terms, privacy and Self-Service Agreement pages on 30 October 2026. Nothing was installed or run and no account was created
- Kind: Listed as `harness`, as Hermes Agent and NanoClaw are. Its interfaces are a web app on port 3010, Slack and Microsoft Teams through OpenBot, and an AG-UI endpoint slot where an outside agent can stand in as a Bot. No CLI with machine output, no MCP server of its own and no documented API for an outside agent to drive it were found; the server API is session-authenticated for the app
- Requirements: Docker, Bun 1.3 or newer, Node for `npx`, a model key and a CopilotKit Intelligence project. `scripts/start.sh` starts PostgreSQL with pgvector, each Bot's computer and a supervisor in Docker, runs migrations, then the API server, the routines worker and the app. The default model is OpenAI `gpt-5.6-terra` (`openbot/examples/openduet/model.yaml`); `BOT_PROVIDER=anthropic` switches to Anthropic
- Approvals: Rules carry one of four behaviours (allow, pre-approved, ask, hand off). Safety categories for credentials, security settings and payments always hand off. The default per person is auto-review on, ask-before-changes off, host commands ask. The README says a message to other people always asks, showing recipient and text; that rule was not located in the source files read. Allow once, Always allow and Refuse appear in the app, Slack and Teams
- Where data goes: Threads and memory in CopilotKit Intelligence (cloud-hosted by default). Policy, approvals, audit rows and encrypted credentials in the owner's PostgreSQL. Prompts and mail content to the chosen model provider. Optional research connectors (Parallel, Exa, Firecrawl) and Composio only after an administrator grants them. Runtime usage events to telemetry.copilotkit.ai unless turned off. Optional OTLP export of audit rows to the owner's collector
- Intelligence terms: CopilotKit's Self-Service Agreement lets CopilotKit use Customer Data solely to provide, secure and support the service and to make de-identified statistics, keeps data available for export for 30 days after termination, and asks customers not to submit protected health information or payment card data unless agreed in writing. The privacy policy excludes data processed for customers. No retention periods, subprocessor list or data locations for Intelligence were found
- Outside agents: Any AG-UI endpoint (LangGraph, Mastra, CrewAI, Pydantic AI, Google ADK and others, with sample images in `openbot/agent-*`) can be the Bot. Endpoints pass target checks, cloud metadata addresses are refused, and `POST /api/agents/test-connection` checks one before saving. The tenant package ships a `your-agent` channel for this
- Evaluations: `evals/triage` (62 invented emails, rules then model), `evals/reply-chips` and `evals/voice`, with committed results dated 21 to 23 October 2026. The project's own figures, on an invented set it labelled itself
- Age: The repository was created on 21 October 2026, a pull request on 26 October removed internal material before it went public, and CopilotKit announced it on 27 October 2026. Two contributors on 30 October, with 70 of 73 commits by one CopilotKit engineer

- Scores: Reliability 42, Performance pending, Schema & documentation 58, Agent ergonomics 52, Security & auth 59, Payments & pricing 30, Task success pending, Maintenance & community 37, Transparency & trust 68 · total over the 7 assessed categories
- Why: Reliability, Read with the local-software lines, as software the owner runs. · Schema & documentation, Harness reading of the framework line, as for Hermes Agent and NanoClaw. · Agent ergonomics, Harness reading, scored on what a person or pipeline driving it has to supply. · Security & auth, Harness reading of the framework checklist, as the Hermes Agent and Leon dossiers used. · Payments & pricing, No payment protocol (0). · Maintenance & community, No GitHub release or tag. · Transparency & trust, MIT (30).
- Sources: 28, open questions: 6, both in the full twin
- Capabilities: assistant.proactive, assistant.self-hosted, assistant.accounts, assistant.memory, assistant.messaging, agent.mcp-client, mailbox.read, mailbox.send, calendar.read
- JSON: https://www.anchorterminal.com/api/v1/tools/openduet.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/openduet.svg` or a link to https://www.anchorterminal.com/tools/openduet from a page on copilotkit.ai or one of its subdomains, or the README of github.com/CopilotKit/OpenDuet, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.
- Support: Discord https://discord.gg/6dffbvGU3D; hello@copilotkit.ai; https://github.com/CopilotKit/OpenDuet/issues; https://docs.copilotkit.ai; https://www.copilotkit.ai/talk-to-an-engineer; more in the full twin

## Before you call it

1. Follow the README's Quick start (`bun install`, `bash scripts/start.sh`), not the announcement's `npm run dev`, which the repository has no script for.
2. Run `bun openbot/scripts/setup-learning.ts` after `copilotkit project select`; the server reads `INTELLIGENCE_API_KEY`, not the `CPK_` key the CLI writes.
3. Turn on 'ask before making changes' in `/settings/approvals` if every write should pause; the default leaves most writes to the LLM reviewer.
4. To bring your own agent, register it as a `remote-ag-ui` Bot in `agents.yaml`; its tool calls still pass through the gateway's policy and audit.
5. Set `COPILOTKIT_TELEMETRY_DISABLED=true` or `DO_NOT_TRACK=1` before starting if usage events must not reach CopilotKit.

## Connect

```bash
git clone https://github.com/CopilotKit/OpenDuet.git && cd OpenDuet && cp .env.example .env && bun install && npx --yes copilotkit@latest login && npx --yes copilotkit@latest project select && bun openbot/scripts/setup-learning.ts && bash scripts/start.sh
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| Town | D | 48.7 | assistant.proactive, assistant.messaging, assistant.accounts, assistant.memory, mailbox.read, mailbox.send, agent.mcp-client | https://www.anchorterminal.com/tools/town.min.md |
| folk | F | 19.7 | assistant.proactive, assistant.messaging, assistant.accounts, assistant.memory, mailbox.read, mailbox.send, agent.mcp-client | https://www.anchorterminal.com/tools/folk-nozomio.min.md |
| Tasker AI | F | 7.6 | assistant.messaging, assistant.accounts, assistant.memory, assistant.proactive, agent.mcp-client, mailbox.read, mailbox.send | https://www.anchorterminal.com/tools/tasker-ai.min.md |
| ZeroClaw | BB | 70.6 | assistant.proactive, assistant.messaging, assistant.memory, assistant.self-hosted, assistant.accounts, agent.mcp-client | https://www.anchorterminal.com/tools/zeroclaw.min.md |
| NanoClaw | B | 68.6 | assistant.proactive, assistant.messaging, assistant.memory, assistant.self-hosted, agent.mcp-client, assistant.accounts | https://www.anchorterminal.com/tools/nanoclaw.min.md |


## Panel reviews (0, desk reviews from public material, no calls made)

