# eighteendreamer/deepagent-studio architecture

> Architecture diagram of the GitHub repository eighteendreamer/deepagent-studio, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/eighteendreamer/deepagent-studio
- Repository: https://github.com/eighteendreamer/deepagent-studio

## Overview

DeepAgent Studio is an agent-runtime platform with a Tauri/React desktop IDE and a headless CLI. The main workflow is a user prompt entering through a client, being assembled into context and handled by the agent loop, which calls tools under hooks and approval controls before returning a streamed result. The README documents additional session, memory, verification, subagent, MCP, plugin, and workflow-canvas capabilities. Some subsystem links reflect README descriptions because their implementation files were not sampled.

Main entry points: [`crates/deepagent-runtime/src/loop_engine.rs`](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-runtime/src/loop_engine.rs) (Agent loop), [`crates/deepagent-app-core/src/chat_service.rs`](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/chat_service.rs) (App services), [`crates/deepagent-runtime/src/tool_pipeline.rs`](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-runtime/src/tool_pipeline.rs) (Tool execution), [`apps/desktop/src/App.tsx`](https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/desktop/src/App.tsx) (Desktop IDE)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["User clients"]
  node_desktop["Desktop IDE<br/>[App.tsx]"]
  node_cli["Headless CLI<br/>[main.rs]"]
  node_ui_bridge["Tauri bridge<br/>[lib.rs]"]
  node_api["Desktop API<br/>[api.ts]"]
  node_canvas["Workflow canvas"]
end

subgraph group_services["Application services"]
  node_app_core["App services<br/>[chat_service.rs]"]
  node_session["Session state"]
  node_file_preview["File preview"]
end

subgraph group_runtime["Agent runtime"]
  node_context["Context pipeline<br/>[pipeline.rs]"]
  node_agent_loop["Agent loop<br/>[loop_engine.rs]"]
  node_tool_pipeline["Tool execution<br/>[tool_pipeline.rs]"]
  node_hooks["Hooks and policy<br/>[lifecycle.rs]"]
  node_verification["Self-healing checks"]
  node_subagents["Subagent orchestration<br/>[subagent_runner.rs]"]
  node_models["Model runtime<br/>[model_runtime.rs]"]
end

subgraph group_capabilities["Tools and extensions"]
  node_builtins["Built-in tools<br/>[lib.rs]"]
  node_mcp["MCP integrations<br/>[client.rs]"]
  node_plugins["Plugins and skills<br/>[plugin_service.rs]"]
end

subgraph group_knowledge["Knowledge and projects"]
  node_knowledge["Knowledge retrieval"]
  node_project_map["Code graph<br/>[query.rs]"]
  node_workspace["Workspace services"]
end

node_user(("User"))
node_model_service["DeepSeek API"]

node_user -->|"prompts"| node_desktop
node_user -->|"prompts"| node_cli
node_desktop -->|"invokes"| node_api
node_api -->|"dispatches"| node_ui_bridge
node_ui_bridge -->|"calls"| node_app_core
node_cli -->|"builds chat service"| node_app_core
node_app_core -->|"manages sessions"| node_session
node_app_core -->|"runs agent"| node_agent_loop
node_agent_loop -->|"assembles prompt"| node_context
node_agent_loop -->|"requests completion"| node_models
node_models -->|"streams responses"| node_model_service
node_agent_loop -->|"dispatches tools"| node_tool_pipeline
node_tool_pipeline -->|"executes"| node_builtins
node_tool_pipeline -->|"checks lifecycle"| node_hooks
node_agent_loop -->|"verifies"| node_verification
node_agent_loop -->|"delegates"| node_subagents
node_tool_pipeline -.->|"calls remote tools"| node_mcp
node_app_core -->|"manages extensions"| node_plugins
node_context -->|"retrieves context"| node_knowledge
node_context -->|"adds workspace context"| node_workspace
node_app_core -->|"queries code graph"| node_project_map
node_api -->|"requests preview"| node_file_preview
node_desktop -->|"runs workflows"| node_canvas

click node_desktop "https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/desktop/src/App.tsx"
click node_cli "https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/cli/src/main.rs"
click node_ui_bridge "https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/desktop/src-tauri/src/lib.rs"
click node_api "https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/desktop/src/api.ts"
click node_app_core "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/chat_service.rs"
click node_session "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/session_state_service.rs"
click node_context "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-context/src/pipeline.rs"
click node_agent_loop "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-runtime/src/loop_engine.rs"
click node_tool_pipeline "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-runtime/src/tool_pipeline.rs"
click node_hooks "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-hooks/src/lifecycle.rs"
click node_verification "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/verification_dispatcher.rs"
click node_subagents "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/subagent_runner.rs"
click node_models "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/model_runtime.rs"
click node_builtins "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-builtins/src/lib.rs"
click node_mcp "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-mcp/src/client.rs"
click node_plugins "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/plugin_service.rs"
click node_knowledge "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-memory/src/contextual_retrieval.rs"
click node_project_map "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-codegraph/src/query.rs"
click node_workspace "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/workspace_service.rs"
click node_file_preview "https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/file_preview_service.rs"
click node_canvas "https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/desktop/src/canvas/workflow/utils/workflowExecutor.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_desktop,node_cli,node_ui_bridge,node_api,node_canvas,node_user toneBlue
class node_app_core,node_session,node_file_preview toneAmber
class node_context,node_agent_loop,node_tool_pipeline,node_hooks,node_verification,node_subagents,node_models,node_model_service toneMint
class node_builtins,node_mcp,node_plugins toneRose
class node_knowledge,node_project_map,node_workspace toneIndigo
```

## Components

### User clients

- [Desktop IDE](https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/desktop/src/App.tsx): `apps/desktop/src/App.tsx`
- [Headless CLI](https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/cli/src/main.rs): `apps/cli/src/main.rs`
- [Tauri bridge](https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/desktop/src-tauri/src/lib.rs): `apps/desktop/src-tauri/src/lib.rs`
- [Desktop API](https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/desktop/src/api.ts): `apps/desktop/src/api.ts`
- [Workflow canvas](https://github.com/eighteendreamer/deepagent-studio/blob/main/apps/desktop/src/canvas/workflow/utils/workflowExecutor.ts): `apps/desktop/src/canvas/workflow/utils/workflowExecutor.ts`

### Application services

- [App services](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/chat_service.rs): `crates/deepagent-app-core/src/chat_service.rs`
- [Session state](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/session_state_service.rs): `crates/deepagent-app-core/src/session_state_service.rs`
- [File preview](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/file_preview_service.rs): `crates/deepagent-app-core/src/file_preview_service.rs`

### Agent runtime

- [Context pipeline](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-context/src/pipeline.rs): `crates/deepagent-context/src/pipeline.rs`
- [Agent loop](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-runtime/src/loop_engine.rs): `crates/deepagent-runtime/src/loop_engine.rs`
- [Tool execution](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-runtime/src/tool_pipeline.rs): `crates/deepagent-runtime/src/tool_pipeline.rs`
- [Hooks and policy](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-hooks/src/lifecycle.rs): `crates/deepagent-hooks/src/lifecycle.rs`
- [Self-healing checks](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/verification_dispatcher.rs): `crates/deepagent-app-core/src/verification_dispatcher.rs`
- [Subagent orchestration](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/subagent_runner.rs): `crates/deepagent-app-core/src/subagent_runner.rs`
- [Model runtime](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/model_runtime.rs): `crates/deepagent-app-core/src/model_runtime.rs`

### Tools and extensions

- [Built-in tools](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-builtins/src/lib.rs): `crates/deepagent-builtins/src/lib.rs`
- [MCP integrations](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-mcp/src/client.rs): `crates/deepagent-mcp/src/client.rs`
- [Plugins and skills](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/plugin_service.rs): `crates/deepagent-app-core/src/plugin_service.rs`

### Knowledge and projects

- [Knowledge retrieval](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-memory/src/contextual_retrieval.rs): `crates/deepagent-memory/src/contextual_retrieval.rs`
- [Code graph](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-codegraph/src/query.rs): `crates/deepagent-codegraph/src/query.rs`
- [Workspace services](https://github.com/eighteendreamer/deepagent-studio/blob/main/crates/deepagent-app-core/src/workspace_service.rs): `crates/deepagent-app-core/src/workspace_service.rs`

### Other components

- **User**
- **DeepSeek API**

## Connections

- User → Desktop IDE: prompts
- User → Headless CLI: prompts
- Desktop IDE → Desktop API: invokes
- Desktop API → Tauri bridge: dispatches
- Tauri bridge → App services: calls
- Headless CLI → App services: builds chat service
- App services → Session state: manages sessions
- App services → Agent loop: runs agent
- Agent loop → Context pipeline: assembles prompt
- Agent loop → Model runtime: requests completion
- Model runtime → DeepSeek API: streams responses
- Agent loop → Tool execution: dispatches tools
- Tool execution → Built-in tools: executes
- Tool execution → Hooks and policy: checks lifecycle
- Agent loop → Self-healing checks: verifies
- Agent loop → Subagent orchestration: delegates
- Tool execution → MCP integrations: calls remote tools
- App services → Plugins and skills: manages extensions
- Context pipeline → Knowledge retrieval: retrieves context
- Context pipeline → Workspace services: adds workspace context
- App services → Code graph: queries code graph
- Desktop API → File preview: requests preview
- Desktop IDE → Workflow canvas: runs workflows
