graph LR
Agent_Orchestration_Core["Agent Orchestration & Core"]
API_Access_Control["API & Access Control"]
Data_Knowledge_Management["Data & Knowledge Management"]
External_Capabilities_Resources["External Capabilities & Resources"]
System_Infrastructure_Observability["System Infrastructure & Observability"]
Marketplace_Extensibility["Marketplace & Extensibility"]
Agent_Orchestration_Core -- "Orchestrates" --> Data_Knowledge_Management
Agent_Orchestration_Core -- "Orchestrates" --> External_Capabilities_Resources
Agent_Orchestration_Core -- "Manages state in" --> Data_Knowledge_Management
Agent_Orchestration_Core -- "Logs events to" --> System_Infrastructure_Observability
API_Access_Control -- "Initiates" --> Agent_Orchestration_Core
API_Access_Control -- "Manages" --> Data_Knowledge_Management
API_Access_Control -- "Exposes" --> External_Capabilities_Resources
API_Access_Control -- "Exposes" --> Marketplace_Extensibility
Data_Knowledge_Management -- "Provides data to" --> Agent_Orchestration_Core
Data_Knowledge_Management -- "Persists data for" --> API_Access_Control
Data_Knowledge_Management -- "Supports" --> External_Capabilities_Resources
Data_Knowledge_Management -- "Stores logs for" --> System_Infrastructure_Observability
External_Capabilities_Resources -- "Executed by" --> Agent_Orchestration_Core
External_Capabilities_Resources -- "Accesses" --> Data_Knowledge_Management
External_Capabilities_Resources -- "Utilizes" --> System_Infrastructure_Observability
External_Capabilities_Resources -- "Logs usage to" --> System_Infrastructure_Observability
System_Infrastructure_Observability -- "Provides utilities to" --> Agent_Orchestration_Core
System_Infrastructure_Observability -- "Provides utilities to" --> API_Access_Control
System_Infrastructure_Observability -- "Provides utilities to" --> Data_Knowledge_Management
System_Infrastructure_Observability -- "Provides utilities to" --> External_Capabilities_Resources
System_Infrastructure_Observability -- "Provides utilities to" --> Marketplace_Extensibility
System_Infrastructure_Observability -- "Collects metrics from" --> Agent_Orchestration_Core
System_Infrastructure_Observability -- "Collects metrics from" --> Data_Knowledge_Management
System_Infrastructure_Observability -- "Collects metrics from" --> External_Capabilities_Resources
Marketplace_Extensibility -- "Exposed via" --> API_Access_Control
Marketplace_Extensibility -- "Deploys to" --> Agent_Orchestration_Core
Marketplace_Extensibility -- "Deploys to" --> External_Capabilities_Resources
Marketplace_Extensibility -- "Deploys to" --> Data_Knowledge_Management
Based on the Control Flow Graph (CFG) and Source Analysis, the SuperAGI architecture can be distilled into six fundamental components, each playing a critical role in the system's operation and extensibility. These components are chosen for their distinct responsibilities, high cohesion, and clear interaction patterns, forming the backbone of the SuperAGI platform.
This is the central intelligence and execution engine of SuperAGI. It orchestrates the agent's decision-making process, manages task queues, executes predefined workflows, and handles the asynchronous processing of agent steps. It defines how agents perceive, think, and act to achieve their goals, managing their lifecycle from initiation to completion.
Related Classes/Methods:
superagi.agent(1:1)superagi.jobs(1:1)superagi.models.workflows(1:1)superagi.worker(1:1)
The primary interface for external systems and users to interact with SuperAGI. It exposes RESTful endpoints for managing agents, toolkits, and other entities, handles request validation, and ensures secure access through robust authentication and authorization mechanisms.
Related Classes/Methods:
superagi.controllers(1:1)superagi.helper.auth(1:1)
Manages all persistent data, including agent states, execution logs, user information, and system configurations. It defines the database schema, handles ORM operations, and provides a unified interface for interacting with various Large Language Models (LLMs), image generation models, and vector databases for knowledge storage and retrieval.
Related Classes/Methods:
superagi.models(1:1)superagi.models.db(1:1)superagi.llms(1:1)superagi.image_llms(1:1)superagi.vector_store(1:1)superagi.vector_embeddings(1:1)
Equips agents with the ability to interact with the external world. This component includes a diverse set of tools for file operations, web searching, code execution, and integrations with third-party services. It also manages the lifecycle of resources (e.g., files, S3 buckets) and dynamically loads and updates available tools.
Related Classes/Methods:
superagi.tools(1:1)superagi.tool_manager(1:1)superagi.resource_manager(1:1)
Provides foundational services and cross-cutting concerns for the entire SuperAGI application. This includes centralized configuration management, general-purpose utility functions (e.g., token counting, error handling, S3 interactions), and application performance monitoring (APM) for collecting and analyzing system metrics, call logs, and events.
Related Classes/Methods:
superagi.config.config(1:1)superagi.helper(1:1)superagi.apm(1:1)
A dedicated platform for discovering, installing, and publishing pre-built agent templates, toolkits, and knowledge bases. It fosters a community-driven ecosystem, allowing users to extend SuperAGI's capabilities and promote reusability of components, significantly enhancing the platform's versatility.
Related Classes/Methods: