TradingAgents/FRONTEND_README.md

135 lines
3.5 KiB
Markdown

# TradingAgents Frontend
This document describes how to run the TradingAgents web application.
## Architecture
The application consists of two parts:
1. **Backend** (`backend/`) - FastAPI server that wraps TradingAgentsGraph
2. **Frontend** (`frontend/`) - Next.js React application
## Prerequisites
- Python 3.10+ with uv or pip
- Node.js 18+ and npm
- Environment variables configured (see `.env` file)
## Setup
### Backend Setup
1. Install backend dependencies:
```bash
cd backend
pip install -r requirements.txt
# Or if using uv:
uv pip install -r requirements.txt
```
2. Ensure the main TradingAgents package is installed (it should be in the parent directory)
3. Set environment variables in `.env`:
```
OPENAI_API_KEY=your_key_here
ALPHA_VANTAGE_API_KEY=your_key_here
```
### Frontend Setup
1. Install frontend dependencies:
```bash
cd frontend
npm install
```
2. Create `.env.local` file:
```
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_WS_URL=ws://localhost:8000
```
## Running the Application
### Start the Backend
From the project root directory:
```bash
# Option 1: Using the run script
cd backend
python run.py
# Option 2: Using uvicorn from project root
uvicorn backend.api.main:app --reload --host 0.0.0.0 --port 8000
# Option 3: Using Python module from project root
python -m backend.api.main
```
The backend will be available at `http://localhost:8000`
API documentation: `http://localhost:8000/docs`
### Start the Frontend
```bash
cd frontend
npm run dev
```
The frontend will be available at `http://localhost:3000`
## Usage
1. Open `http://localhost:3000` in your browser
2. Click "New Analysis" to start a trading analysis
3. Fill in the form:
- Ticker symbol (e.g., "SPY")
- Analysis date
- Select analysts
- Configure LLM settings
4. Click "Start Analysis"
5. View real-time progress and results
## Features
- **Real-time Analysis**: Watch agents work in real-time via WebSocket
- **Agent Progress**: See status of all agents (Analyst Team, Research Team, etc.)
- **Report Viewer**: View generated reports with collapsible sections
- **History**: Browse and view previous analyses
- **Configuration**: Save and load analysis configurations
## API Endpoints
- `POST /api/analysis/start` - Start new analysis
- `GET /api/analysis/{id}/status` - Get analysis status
- `GET /api/analysis/{id}/results` - Get analysis results
- `WS /ws/analysis/{id}/stream` - WebSocket stream for updates
- `GET /api/history` - List historical analyses
- `GET /api/history/{ticker}/{date}` - Get specific historical analysis
- `GET /api/config/presets` - List configuration presets
- `POST /api/config/save` - Save configuration preset
## Development
### Backend Development
The backend uses FastAPI with automatic reload. Changes to Python files will trigger a reload.
### Frontend Development
The frontend uses Next.js with hot module replacement. Changes to React components will update automatically.
## Troubleshooting
1. **Backend won't start**: Check that all dependencies are installed and environment variables are set
2. **Frontend can't connect**: Verify `NEXT_PUBLIC_API_URL` matches the backend URL
3. **WebSocket connection fails**: Ensure the backend is running and CORS is configured correctly
4. **Analysis fails**: Check API keys in `.env` file and verify they're valid
## Notes
- The CLI (`cli/main.py`) continues to work independently
- All existing TradingAgents code remains unchanged
- Results are saved to the `results/` directory (same as CLI)