- Remove Docker-based microservices (docker-compose.yml, Makefile, Dockerfiles) - Update start-dev.sh to use backend.app:app entry point - Add shared schema and client modules for service communication - Add team coordination modules (messenger, registry, task_delegator, coordinator) - Add evaluation hooks and skill adaptation hooks - Add skill template and gateway server - Update frontend WebSocket URL configuration - Add explain components for insider and technical analysis Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
EvoTraders Services Architecture
This document describes the modular service architecture for EvoTraders.
Architecture
EvoTraders uses a modular single-process architecture with services as Python modules:
backend/
├── app.py # FastAPI entry point (port 8000)
├── main.py # CLI trading system entry point
├── api/ # REST API routes
│ ├── agents.py # Agent management
│ ├── guard.py # Tool guard
│ ├── runtime.py # Runtime management
│ └── workspaces.py # Workspace management
├── agents/ # Multi-agent system
│ ├── base/ # Base agent classes
│ ├── team/ # Team coordination
│ └── skills/ # Agent skills
├── core/ # Pipeline & scheduler
├── services/ # Core services
│ ├── gateway.py # WebSocket gateway
│ ├── market.py # Market data service
│ └── storage.py # Storage service
└── services/ # Modular services (optional)
├── trading/ # Trading module
├── news/ # News module
└── agents/ # Agents module
Entry Points
| Entry Point | Port | Purpose |
|---|---|---|
backend/app.py |
8000 | FastAPI REST API |
backend/main.py |
CLI | Trading system (live/backtest) |
Running
# Development mode (FastAPI only)
./start-dev.sh
# Or manually
python -m uvicorn backend.app:app --port 8000 --reload
# Trading system (CLI)
evotraders live --mock
evotraders backtest --start 2025-11-01 --end 2025-12-01
Service Modules
| Module | Description |
|---|---|
gateway.py |
WebSocket gateway for frontend communication |
market.py |
Market data fetching (prices, news, financials) |
storage.py |
Dashboard state and trade history persistence |
Module Dependencies
app.py (FastAPI)
├── runtime_router
│ └── backend/main.py (when task starts)
│ └── Gateway
│ ├── MarketService
│ ├── StorageService
│ └── TradingPipeline
│ ├── Analysts (4x)
│ ├── RiskManager
│ └── PortfolioManager