Architecture diagram
Audience: Developers
System Architecture

Layers and their components are defined in Core components. This section summarizes how they are grouped in the diagram.
Client / SDK Layer
Clients interact with the system via the REST and SSE API. The official GL Open DeepResearch SDK (
gl-odr-sdk) is a Python client that handles authentication (X-API-Key), request/response serialization, and streaming. For HTTP-level details, see the API Contract.
API Interface Layer
Exposes REST and SSE (Server-Sent Events) endpoints using FastAPI routers. This includes endpoints for task and taskgroup management (including streaming), profile and account handling, and health checks. REST is used for data submission and configuration, while SSE provides real-time event streaming. (Refer to Core components → Event stream for more details.)
Core Orchestration & Runtime Layer
Handles the core application logic and orchestration mechanisms. Key components include:
Config Resolver: Resolves configuration details needed by other services.
Profile Registry: Manages and retrieves available profiles.
Orchestrator Registry: Registers and provides orchestrator classes.
Tool Registry: Manages available research tools.
Orchestrator Factory: Assembles orchestrator instances.
Orchestrator Adapter: Connects orchestrator logic to backend providers.
Task Service / TaskGroup Service: Manages the lifecycle of tasks and task groups.
Job Queue & Worker: Manages asynchronous job execution.
Event Stream: Captures and streams real-time application events.
Webhook Dispatcher: Sends notifications to registered webhook endpoints.
Each component’s role is further detailed in Core components.
Agent / Capability Layer
Implements adapters for specific research providers and engines (e.g., TongyiAdapter, GPTResearcherAdapter). Adapters are responsible for interfacing with underlying AIs and research services. To add a new provider, implement the adapter protocol and register it in the Orchestrator Registry. See Tongyi Deep Research and GPT-Researcher for examples.
For detailed sequence diagrams showing the flow of requests through the system, see Sequence Diagram.
Last updated
