CopilotKit/OpenDuet
An Open Source template for a proactive AI agent that gets your work done and keeps you in the loop.
OpenDuet is an open-source, self-hosted AI agent that works proactively — it doesn't wait to be asked. It starts your day with a morning brief, keeps working on its own computer while you step away, and only interrupts you when it needs a decision or approval. It's built on top of OpenBot, CopilotKit's open-source agent platform, and adds its own name, bots, and skills on top.
What it does
- Morning brief – A short daily summary of what's on, what changed, and what needs your decision.
- Triage – Scans your Gmail, calendar, and Slack to separate what truly needs you from what can wait, with a one-line reason for each.
- Autonomous work – You hand it a task; it works in its own browser, files, and shell, and reports back when done or stuck.
- Approval before acting – Before sending, paying, signing, or deleting anything, it shows you the exact action and waits for your choice: Allow once, Always allow, or Refuse. Messages to other people always ask first.
- Password safety – It never sees your passwords; you type them into a masked box that goes straight to the site.
- Sensitive‑info check – Every outgoing message is scanned for things like card numbers or health details.
- Self‑hosted – You run it yourself, choose your own model, and keep your data in your own database.
How it works
- A computer of its own – Each agent runs in a real browser,
/workspace, and shell, so it can actually do things. - Reviewer and gateway – Every action that changes something goes through a policy check and is recorded; actions that matter pause for your approval.
- Memory and threads – Handled by CopilotKit Intelligence (a free project is required).
- Skills – Reusable instructions you write once and call with
/. - Connected apps – Gmail, Google Calendar, Google Drive, Notion, and more via governed MCP connectors.
- Scheduled work – You can ask it to run routines on a schedule.
- Channels – Create named channels for specific work; tasks there wear the channel's colour.
- Make – It can generate design systems, dashboards, slides, docs, or web pages.
- Setup checklist – Onboarding walks you through connecting Gmail, Calendar, notifications, and shows the real status of each dependency.
Current status
Early development. Everything listed above works today when you run the repository, but expect changes. It runs as OpenBot with OpenDuet's name, bots, and skills layered on.
Quick start (summary)
You need Docker, Bun 1.3+, Node, a model key (OpenAI by default), and a free CopilotKit Intelligence project. The README gives exact commands to clone, install, log in, select a project, set your model key, and start with bash scripts/start.sh. You can switch to Anthropic or another OpenAI‑compatible provider by editing model.yaml or setting environment variables.
Make it your own
Everything that makes OpenDuet distinct from OpenBot lives in one folder: openbot/examples/openduet. It contains brand.yaml (name), agents.yaml (bots and instructions), channels.yaml (conversations), model.yaml (model), and skills.yaml. Copy that folder, edit it, and point TENANT_PACKAGE_DIR at your copy.
Built on OpenBot
OpenBot provides the server, app, each bot's computer, approval boundary, audit trail, sign‑in, and Slack/Teams channels. OpenDuet adds the morning brief, tasks, Make, and its own bots and skills on top.
For full details, see the README.
Related
- Project
- Project
- Project
- Project