How iamdineshreddy/d-orchestrator works
D-ORCHESTRATOR is a local-first platform for managing AI providers and routing engineering tasks to coding agents. The principal workflow runs from dashboard task creation through the API and task executor, which optimizes the prompt, selects a model, invokes a provider, and records usage and recovery state. The dashboard also supports provider/model discovery, routing, usage and budget analytics, recovery, and settings. Edges reflect excerpted calls or README capability statements; unsampled API and integration details are not inferred.
Main entry points: provider_registry.py Provider registry · task_executor.py Task execution · main.py HTTP API · db.py SQLite database
Components 22
Dashboard
- Dashboard
frontend/src/App.tsx - Dashboard API client
frontend/src/api.ts
API and persistence
- HTTP API
backend/app/main.py - SQLite database
backend/app/db.py - Domain records
backend/app/models - Runtime configuration
backend/app/config.py
Task orchestration
- Task execution
backend/app/services/task_executor.py - Model routing
backend/app/services/model_router.py - Prompt optimization
backend/app/services/prompt_optimizer.py - Task classification
backend/app/services/tokenizer.py - Usage and budgets
backend/app/services/usage_manager.py - Checkpoints and recovery
backend/app/services/checkpoint_service.py - Git safety
backend/app/services/git_safety.py
Model providers
- Provider registry
backend/app/services/provider_registry.py - Provider adapters
backend/app/providers - Ollama adapter
backend/app/providers/ollama.py - OpenCode adapter
backend/app/providers/opencode.py - OpenAI-compatible adapter
backend/app/providers/openai_compat.py - Anthropic adapter
backend/app/providers/anthropic.py - Google adapter
backend/app/providers/google.py
Other components
- Engineer
- AI model services
Connections 26
- Engineer → Dashboard: uses
README.md - Dashboard → Dashboard API client: requests data
frontend/src/App.tsx - Dashboard API client → HTTP API: calls endpoints
frontend/src/api.ts - HTTP API → SQLite database: uses sessions
backend/app/main.py - SQLite database → Runtime configuration: reads database path
backend/app/db.py - SQLite database → Domain records: creates tables
backend/app/db.py - HTTP API → Provider registry: refreshes providers
backend/app/main.py - Provider registry → Provider adapters: creates adapters
backend/app/services/provider_registry.py - Provider adapters → AI model services: discovers and queries
- HTTP API → Task execution: runs task
backend/app/main.py - Task execution → Prompt optimization: optimizes prompt
backend/app/services/task_executor.py - Task execution → Model routing: selects model
backend/app/services/task_executor.py - Model routing → Task classification: classifies task
backend/app/services/model_router.py - Task execution → Provider registry: gets adapter
backend/app/services/task_executor.py - Provider registry → Ollama adapter: instantiates
backend/app/services/provider_registry.py - Provider registry → OpenCode adapter: instantiates
backend/app/services/provider_registry.py - Provider registry → OpenAI-compatible adapter: instantiates
backend/app/services/provider_registry.py - Provider registry → Anthropic adapter: instantiates
backend/app/services/provider_registry.py - Provider registry → Google adapter: instantiates
backend/app/services/provider_registry.py - Task execution → Usage and budgets: records usage
backend/app/services/task_executor.py - Task execution → Checkpoints and recovery: loads checkpoints
backend/app/services/task_executor.py - Task execution → Git safety: uses safety checks
backend/app/services/task_executor.py - HTTP API → Usage and budgets: serves usage and budgets
backend/app/main.py - Usage and budgets → Domain records: stores usage and budgets
backend/app/services/usage_manager.py - Checkpoints and recovery → Domain records: stores checkpoints
backend/app/services/checkpoint_service.py - Checkpoints and recovery → Runtime configuration: reads checkpoint directory
backend/app/services/checkpoint_service.py