Dorothy: AI Agent Orchestration Platform

2026-05-14 · source · source ↗ · raw capture · wiki page

Free, open-source (MIT) desktop app for orchestrating multiple AI coding agents simultaneously. Built by Charlie85270. Tagline: "Your AI Agents, Perfectly Managed."

Architecture (Three Layers)

1. Electron Desktop Shell

2. Five MCP Servers (stdio-based)

3. Agent Execution Layer

Core Features

Parallel Agent Management

Super Agent (Orchestrator)

Meta-agent that programmatically creates, starts, stops other agents via MCP tools. Delegates by skills/capabilities, monitors progress, spawns temporary agents for one-off tasks. Remote-controllable via Telegram and Slack.

Automations

CI/CD-like AI workflows polling external sources on cron schedules:

Source Status Method
GitHub Active gh CLI (PRs, issues, releases)
JIRA Active REST API v3
Pipedrive Planned —
Twitter Planned —
RSS Planned —
Custom Planned Webhooks

Template variables ({{title}}, {{url}}, {{body}}, {{labels}}, etc.) inject item data into prompts. Content-hash deduplication prevents re-processing.

Kanban Task Management

Columns: Backlog → Planned → Ongoing → Done. Priority levels, 0-100% progress, manual/auto agent assignment, skill requirements. The kanban-automation service continuously matches tasks to agents by skill — creating agents if none match. JIRA automations auto-create Kanban backlog tasks, forming a closed loop from external issues to AI execution.

Scheduled Tasks

Cron-based recurring execution via platform-native schedulers (launchd on macOS, cron on Linux). Task definitions at ~/.claude/schedules.json, logs at ~/.claude/logs/.

Remote Control

Vault

Persistent document storage: SQLite FTS5 full-text search, nested folders, cross-agent access, file attachments. MCP tools: create, read, update, delete, search, file attach, folder ops.

Google Workspace

Integration via gws CLI (Google Workspace CLI) as MCP server. Covers Gmail, Drive, Sheets, Calendar, Docs (R/W), Slides, Tasks, Chat, People, Forms, Keep. 100+ specialized skills available.

Skills & Plugins

One-click install from skills.sh and built-in marketplace. Categories: code intelligence (LSP for TS, Python, Rust, Go), external integrations (GitHub, GitLab, Jira, Figma, Slack, Vercel), dev workflows (commits, PR review).

Tech Stack

Component Technology Version
Framework Next.js (App Router) 16
Frontend React 19
Desktop Electron 33
Styling Tailwind CSS 4
State Zustand 5
Animation Framer Motion 12
Terminal xterm.js + node-pty 5 / 1.1
Database better-sqlite3 11
MCP SDK @modelcontextprotocol/sdk 1.0
Telegram node-telegram-bot-api 0.67
Slack @slack/bolt 4.0
Validation Zod 3.22
Language TypeScript 5

Configuration & Storage

All paths under ~/.dorothy/ and ~/.claude/: - App config: ~/.dorothy/app-settings.json - Persisted state: agents.json, kanban-tasks.json, automations.json, processed-items.json - SQLite: vault.db - Claude Code: ~/.claude/settings.json, ~/.claude/schedules.json, ~/.claude/logs/

Pricing

Free forever, open source, no account required.

Notable Design Decisions

  1. MCP-first: All programmatic control exposed through five MCP servers — any MCP client can drive the system
  2. node-pty isolation: Genuine PTY sessions per agent, not simple subprocess spawning
  3. Content-hash deduplication: Automations track processed items by hash
  4. Platform-native scheduling: launchd/cron rather than in-process timers
  5. JIRA → Kanban → Agent closed loop: External issues auto-create Kanban tasks, auto-assigned to capable agents
  6. Socket Mode for Slack: No public URL required
  7. Persistent agent state: Agents survive app restarts