Anil-matcha / open-duet
git clone https://github.com/Anil-matcha/open-duet.git
Open-source, self-hosted alternative to Claude Duet: AI coworkers (named agents) with instructions, memory, routines, their own isolated computer, and your approval before they act. Also an alternative to OpenAI Dots, Meta Muse, Grok Bot, Manus Cue and ChatGPT agent.
+147
stars, 24h · #267
+~390
stars, 7 days · #560
+~1.7k
stars, 30 days · #499
6.1k
★ total · +7% this week
750
forks · 2 open issues
Star history (as recorded here)
LanguagePython
LicenseApache-2.0
Created2023-05-25 (3y ago)
Last pushtoday
Watchers45
OwnerUser
GitHub topics
agentic-aiai-agentai-assistantai-coworkerai-employeesai-workspacechatgpt-agentclaude-coworkclaude-duetcomputer-usecomputer-use-agentgrok-botmanus-cuemeta-museopen-sourceopen-source-alternativepersonal-ai-agentproactive-agentself-hostedself-hosted-ai
Links
README excerpt
# Open Dots: Open-Source Alternative to Paid AI Agents **Open Dots is an open-source, self-hosted workspace for running coding-agent tasks, aimed at people exploring paid AI agent products such as OpenAI Dots, Meta Muse, Grok Bot, Instinct, Manus Cue, Claude Cowork, and ChatGPT agent.** Today it wraps the Claude Code CLI: run tasks from Telegram or the web, review risky actions before they run, connect GitHub, schedule recurring prompts, and chat with a locally signed-in Claude from a desktop app. It supports Claude only, has named agents but no multi-agent features yet, and is not a feature-for-feature replacement for those services. See docs/ROADMAP.md for what is planned. Both interfaces use the same API, sandbox, and credentials for each user. ▶ Watch the Open Dots demo on YouTube > **Status:** Active development. See Known limitations before running it for others. ## Contents - What it does - Why Open Dots - Quick start - Using Open Dots - Scheduling tasks - Permission prompts - Architecture - Project layout - Known limitations - Contributing ## What it does - Run coding-agent tasks in disposable sandboxes from Telegram or a browser. - Connect Claude through its OAuth login flow and optionally connect a user's GitHub account. - Ask for approval before risky actions such as file writes, shell commands, and Git pushes. - Continue completed tasks in the same Claude conversation from the web UI. - Schedule recurring prompts and receive run results in Telegram (Boat sandboxes). - Run routines on your local agents (no Boat): cron, weekday, interval or one-off schedules with timezones, webhook triggers, run history, missed-run tracking, restart recovery and an in-app notification feed (see docs/ROUTINES.md). - Keep durable local conversations (threads) with streaming answers, a tool-call timeline, inline approvals, Stop, and rename/archive/delete, using your own signed-in `claude` CLI (opt-in; see Local Claude). - Run as a desktop app from a source checkout, or from unsigned installers built by the release workflow (experimental; see Desktop app). - Store user credentials encrypted and manage sandbox, task, permission, thread, and schedule records in PostgreSQL (default) or SQLite (experimental, no Docker). ## Why Open Dots Open Dots gives individuals and developers an inspectable workspace they can run themselves, with coding tasks, visible approval steps, and local control over the app and its data. The web UI supports guest use without Telegram and can also link to a Telegram identity. Read Known limitations before running it for others. ## Quick start ### Prerequisites - uv for Python dependency management - Node.js (20.9+) and npm, for the web UI (required by Next.js 16) - Docker (for Postgres; not needed with the experimental SQLite option, see `DATABASE_BACKEND` below) - Bash (Git Bash on Windows works fine) to use `scripts/dev.sh` - Optionally, a Boat API key for sandbox creation. If it belongs to a personal account that also has an org/