# hamzaabde-langjk/ai-operating-center architecture

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

- Interactive diagram: https://gitdiagram.com/hamzaabde-langjk/ai-operating-center
- Repository: https://github.com/hamzaabde-langjk/ai-operating-center

## Overview

The README describes Linux-XRay, an eBPF system monitor with 3D visualization, but the supplied tree and sampled code instead show an AI Operations Center: a Flask app for agent, task, project, terminal, and system-monitoring functions. The graph follows the available implementation evidence; no eBPF or visualization subsystem is represented. Several route and agent modules are present in the tree but unsampled, so their internal wiring is left unspecified.

Main entry points: [`ai_ops_center/app.py`](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/app.py) (Flask app), [`ai_ops_center/database/models.py`](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/database/models.py) (Application data), [`ai_ops_center/core/agent_base.py`](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/core/agent_base.py) (Agent runtime), [`ai_ops_center/routes/main.py`](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/routes/main.py) (Web routes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web application"]
  node_app["Flask app<br/>[app.py]"]
  node_main_routes["Web routes<br/>[main.py]"]
  node_api_routes["REST API<br/>[api.py]"]
  node_agent_routes["Agent API<br/>[agent_api.py]"]
end

subgraph group_agents["Agent runtime"]
  node_agent_base["Agent runtime<br/>[agent_base.py]"]
  node_agent_factory["Agent factory<br/>[agent_factory.py]"]
  node_agent_catalog["Agent roles"]
  node_research_agent["Research agent<br/>[research_agent.py]"]
  node_review_agent["Review agent<br/>[review_agent.py]"]
  node_plugin_manager["Plugin manager<br/>[plugin_manager.py]"]
end

subgraph group_operations["Operations services"]
  node_task_service["Task service<br/>[task_service.py]"]
  node_project_service["Project service<br/>[project_service.py]"]
  node_monitor_service["System monitor<br/>[monitor_service.py]"]
  node_terminal_service["Terminal sessions"]
end

subgraph group_data["Persistence"]
  node_models[("Application data<br/>[models.py]")]
  node_database[("SQL database")]
end

subgraph group_integrations["External integrations"]
  node_ollama_client["Ollama client<br/>[ollama_client.py]"]
  node_ollama(("Ollama service"))
end

node_user(("User"))
node_host(("Linux host"))

node_user -->|"uses"| node_app
node_app -->|"registers"| node_main_routes
node_app -->|"registers"| node_api_routes
node_app -->|"registers"| node_agent_routes
node_app -->|"initializes"| node_database
node_app -->|"seeds"| node_models
node_main_routes -->|"queries users"| node_models
node_task_service -->|"reads and writes"| node_models
node_project_service -->|"reads and writes"| node_models
node_models -->|"persists"| node_database
node_research_agent -->|"extends"| node_agent_base
node_review_agent -->|"extends"| node_agent_base
node_agent_base -->|"requests chat"| node_ollama_client
node_ollama_client -->|"sends prompts"| node_ollama
node_monitor_service -->|"reads metrics"| node_host
node_terminal_service -->|"starts shell"| node_host

click node_app "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/app.py"
click node_main_routes "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/routes/main.py"
click node_api_routes "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/routes/api.py"
click node_agent_routes "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/routes/agent_api.py"
click node_agent_base "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/core/agent_base.py"
click node_agent_factory "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/core/agent_factory.py"
click node_agent_catalog "https://github.com/hamzaabde-langjk/ai-operating-center/tree/main/ai_ops_center/agents"
click node_research_agent "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/agents/research_agent.py"
click node_review_agent "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/agents/review_agent.py"
click node_plugin_manager "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/agents/plugin_manager.py"
click node_ollama_client "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/core/ollama_client.py"
click node_task_service "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/services/task_service.py"
click node_project_service "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/services/project_service.py"
click node_monitor_service "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/services/monitor_service.py"
click node_terminal_service "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/services/terminal_service.py"
click node_models "https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/database/models.py"

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_app,node_main_routes,node_api_routes,node_agent_routes,node_user toneBlue
class node_agent_base,node_agent_factory,node_agent_catalog,node_research_agent,node_review_agent,node_plugin_manager toneAmber
class node_task_service,node_project_service,node_monitor_service,node_terminal_service toneMint
class node_models,node_database toneRose
class node_ollama_client,node_ollama,node_host toneIndigo
```

## Components

### Web application

- [Flask app](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/app.py): `ai_ops_center/app.py`
- [Web routes](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/routes/main.py): `ai_ops_center/routes/main.py`
- [REST API](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/routes/api.py): `ai_ops_center/routes/api.py`
- [Agent API](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/routes/agent_api.py): `ai_ops_center/routes/agent_api.py`

### Agent runtime

- [Agent runtime](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/core/agent_base.py): `ai_ops_center/core/agent_base.py`
- [Agent factory](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/core/agent_factory.py): `ai_ops_center/core/agent_factory.py`
- [Agent roles](https://github.com/hamzaabde-langjk/ai-operating-center/tree/main/ai_ops_center/agents): `ai_ops_center/agents`
- [Research agent](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/agents/research_agent.py): `ai_ops_center/agents/research_agent.py`
- [Review agent](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/agents/review_agent.py): `ai_ops_center/agents/review_agent.py`
- [Plugin manager](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/agents/plugin_manager.py): `ai_ops_center/agents/plugin_manager.py`

### Operations services

- [Task service](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/services/task_service.py): `ai_ops_center/services/task_service.py`
- [Project service](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/services/project_service.py): `ai_ops_center/services/project_service.py`
- [System monitor](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/services/monitor_service.py): `ai_ops_center/services/monitor_service.py`
- [Terminal sessions](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/services/terminal_service.py): `ai_ops_center/services/terminal_service.py`

### Persistence

- [Application data](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/database/models.py): `ai_ops_center/database/models.py`
- **SQL database**

### External integrations

- [Ollama client](https://github.com/hamzaabde-langjk/ai-operating-center/blob/main/ai_ops_center/core/ollama_client.py): `ai_ops_center/core/ollama_client.py`
- **Ollama service**

### Other components

- **User**
- **Linux host**

## Connections

- User → Flask app: uses
- Flask app → Web routes: registers
- Flask app → REST API: registers
- Flask app → Agent API: registers
- Flask app → SQL database: initializes
- Flask app → Application data: seeds
- Web routes → Application data: queries users
- Task service → Application data: reads and writes
- Project service → Application data: reads and writes
- Application data → SQL database: persists
- Research agent → Agent runtime: extends
- Review agent → Agent runtime: extends
- Agent runtime → Ollama client: requests chat
- Ollama client → Ollama service: sends prompts
- System monitor → Linux host: reads metrics
- Terminal sessions → Linux host: starts shell
