Dorothy Desktop Orchestration Platform

repository·main·Indexed 43 days ago

https://github.com/charlie85270/dorothy

A desktop orchestration platform for managing multiple AI agents (Claude Code, Gemini, Codex, and Grok) simultaneously. It features parallel agent execution in isolated PTY terminal sessions, automated workflows triggered by GitHub and JIRA, a Super Agent for programmatic control via MCP tools, and remote management through Telegram and Slack. Includes a Kanban task board for skill-based assignment and a persistent Vault for shared knowledge storage.

Tokens
53.5K
Snippets
138
Records
216
Agent score
53%

What's inside Dorothy

  1. What is Dorothy?

    main
    Dorothy is a desktop application designed to orchestrate multiple AI agents (such as Claude Code, Codex, Gemini, and Grok) simultaneously. It provides a centralized interface to deploy, monitor, and debug agents running in isolated PTY terminal sessions. Key capabilities include parallel agent management, automated workflows via external triggers, a Super Agent for orchestration, and remote control via Telegram or Slack.
  2. What is Model Context Protocol (MCP)?

    main

    Model Context Protocol (MCP) is a standardized protocol that allows AI models to interact with external tools, databases, and services. It acts as a universal adapter, enabling a single integration to work across different AI tools.

    Architecture: AI Model ↔ MCP Server ↔ External Service (filesystem, DB, API)

    Common MCP Server Examples:

    • Filesystem: Read/write files with permission controls.
    • Database: Securely query SQL databases.
    • GitHub: Access repositories, issues, and PRs.
    • Slack: Send messages and read channels.
    • Custom APIs: Connect to any REST API.
  3. Structure slide content for image generation

    main

    When providing content for slide generation, structure your input using the following schema to ensure the generator understands the narrative, text, and visual requirements:

    • Type: The category of slide (e.g., Content).
    • Filename: The desired output filename.
    • NARRATIVE GOAL: A description of the intended impact or message.
    • KEY CONTENT:
      • Headline: The main title.
      • Sub-headline: Supporting title text.
      • Body: A list of key points or bulleted information.
    • VISUAL: A detailed description of the imagery, diagrams, or metaphors to be rendered.
    • LAYOUT: Specific instructions for element arrangement (e.g., architecture-diagram, three-column layout).
    // NARRATIVE GOAL
    Introduce Model Context Protocol as a revolutionary standard
    
    // KEY CONTENT
    Headline: The MCP Revolution
    Sub-headline: Standardized AI Integration Protocol
    Body:
    - What: Universal protocol for AI ↔ external tool communication
    - Architecture: AI Model ↔ MCP Server ↔ External Service
    - Benefits: Standardization · Reusability · Security · Extensibility
    - Analogy: "USB for AI tools"
    
    // VISUAL
    Technical architecture diagram showing three-layer stack...
    
    // LAYOUT
    Layout: architecture-diagram
  4. Understand the AI Landscape and Model Trade-offs

    main

    The current AI ecosystem consists of major providers offering models in different tiers. When choosing a model, developers must balance Cost vs Capability.

    Major Providers

    • OpenAI: GPT-4, GPT-3.5
    • Anthropic: Claude Opus, Sonnet, Haiku
    • Google: Gemini
    • Meta: Llama

    Model Tiers

    • Large: Optimized for complex reasoning; significantly higher cost (10-50× more).
    • Medium: Balanced for production use.
    • Small: Optimized for speed and cost-effectiveness.
  5. Distinguish between Plugins and Skills

    main

    Extensions for AI can be categorized into two distinct types: Plugins and Skills.

    FeaturePluginsSkills
    DefinitionExternal tools (MCP servers)Packaged expertise/workflows
    Primary UseConnecting to external data/actionsRepeated workflows & domain knowledge
    ExampleDatabase or API plugin/commit or /review-pr
    MechanismConnects to servicesPre-configured prompts + tools + workflows
  6. Manage AI Context Windows and Strategies

    main

    A Context Window is the maximum number of tokens an AI can process at once. Managing this 'working memory' is essential for complex tasks.

    Common Limits

    • Claude: ~200K tokens (approx. 150K words).
    • GPT-4: 8K to 128K tokens.

    Context Management Strategies

    When instructions, code, and conversation history exceed the limit, use these strategies:

    • Summarization: Condensing previous parts of the conversation.
    • RAG (Retrieval-Augmented Generation): On-demand retrieval of relevant data.
    • Memory Systems: Maintaining long-term state.
    • Smart Chunking: Breaking data into optimized segments.
  7. Plugins vs Skills in AI Extension

    main

    When extending AI capabilities, choose between Plugins and Skills based on your requirements:

    AspectPluginsSkills
    PurposeExternal integrationWorkflow automation
    InstallationMCP server setupSkill package
    MaintenanceServer updatesSkill updates
    ScopeTool accessKnowledge + process
    • Use Plugins when you need to connect to external data or perform actions in external services (e.g., a Database plugin).
    • Use Skills for repeated workflows or domain-specific expertise (e.g., a /commit skill that follows specific conventions).
  8. Implement Skills for Workflow Automation

    main

    A Skill is a package of pre-configured prompts, tools, and workflows designed for specific developer tasks.

    Skill Anatomy

    Skills are structured within the .claude/skills/ directory and consist of:

    • Instructions: Guidance for the AI.
    • Tool Configs: Configuration for the tools the skill uses.
    • Workflows: The sequence of operations to follow.

    Usage Pattern

    Skills are typically invoked using a slash command:

    • /commit: Generates conventional commits.
    • /review-pr: Performs code reviews.
    • /test: Conducts test analysis.
  9. Apply 'Precise Technical Blueprint' design aesthetic

    main

    When a technical or engineering-focused slide is required, use the following design specification to ensure visual consistency:

    Design Aesthetic: Precise technical blueprint style with professional analytical visual presentation. Uses blueprints, diagrams, schematics, and a technical grid overlay.

    Color Palette:

    • Background: Blueprint Paper (#FAF8F5) with a subtle grid overlay (#E5E5E5).
    • Primary Text: Deep Slate (#334155).
    • Primary Accent: Engineering Blue (#2563EB).
    • Secondary Accent: Navy Blue (#1E3A5F).
    • Tertiary: Light Blue (#BFDBFE).
    • Warning: Amber (#F59E0B).

    Typography:

    • Headlines: Bold geometric sans-serif.
    • Body: Elegant serif.

    Visual Rules:

    • Do: Use consistent line weights, grid alignment, and geometric precision. Use straight lines or 90-degree angles for connections. Use isometric or orthographic projections.
    • Don't: Use hand-drawn/organic shapes, decorative flourishes, curved connection lines, or photographic elements.
  10. Decide between MCP, Skills, and Hooks

    main

    When extending Claude Code, choose the mechanism that best fits your requirement:

    FeatureWhen to Use
    MCP (Model Context Protocol)External data/services, reusable integrations, security controls, multi-system tools.
    SkillsRepeated workflows, domain expertise, multi-step processes, project conventions.
    HooksAuto-context injection, validation, existing tool integration, logging.

    Security & Context Tips:

    • Security: Use permission controls, validate scripts, review skills, and follow the principle of least privilege.
    • Context Management: Be selective with data, use summaries, and leverage .claude.md for structured context.
  11. Understand the Dorothy System Architecture

    main

    Dorothy is an Electron-based application that manages multiple AI agents in parallel. The system consists of a React/Next.js Renderer (the UI) and an Electron Main Process (the engine).

    Key components of the Main Process include:

    • Agent Manager: Spawns and manages multiple claude CLI processes concurrently using node-pty.
    • PTY Manager: Handles terminal multiplexing for isolated agent sessions.
    • Services: Integrations for Telegram, Slack, Kanban automation, and MCP server launching.

    Agents communicate with various MCP (Model Context Protocol) Servers (like mcp-orchestrator, mcp-telegram, mcp-kanban, etc.) via stdio to access tools and data.

  12. Select a slide deck style based on content type

    main

    Choose a visual style for your presentation based on the nature of your content:

    StyleBest Use Case
    blueprintTechnical content with architecture diagrams, system design, and code examples. Features a grid texture and professional cool color palette.
    intuition-machineTechnical documentation that requires bilingual support.
    notionClean, minimalist style for SaaS or product demos containing code snippets.
    sketch-notesEducational tutorials with a more casual, hand-drawn feel.