TradingAgents/docs/configuration.md

104 lines
2.9 KiB
Markdown

# Configuration Reference — DEXAgents
All configuration is via environment variables in `.env` or shell exports.
---
## LLM Providers
| Variable | Required | Description |
|---|---|---|
| `OPENAI_API_KEY` | One required | OpenAI GPT models |
| `GOOGLE_API_KEY` | One required | Google Gemini models |
| `ANTHROPIC_API_KEY` | One required | Anthropic Claude models |
| `XAI_API_KEY` | One required | xAI Grok models |
| `OPENROUTER_API_KEY` | One required | OpenRouter (multi-model) |
Configure the active provider in `default_config.py` or at runtime:
```python
config["llm_provider"] = "openai" # openai, google, anthropic, xai, openrouter, ollama
config["deep_think_llm"] = "gpt-4o"
config["quick_think_llm"] = "gpt-4o-mini"
```
---
## DEX Data Providers (Scenario 1)
| Variable | Required | Description |
|---|---|---|
| `COINGECKO_API_KEY` | No | CoinGecko Pro key (free tier available) |
| `BIRDEYE_API_KEY` | Yes | Birdeye Solana analytics |
> DeFiLlama requires no API key.
---
## On-Chain Execution (Scenario 2)
### Solana
| Variable | Required | Description |
|---|---|---|
| `SOLANA_RPC_URL` | Yes | RPC endpoint (default: mainnet-beta) |
| `SOLANA_PRIVATE_KEY` | Yes | Wallet private key (base58) — **never commit!** |
> Recommended RPC: Helius, Alchemy, or QuickNode for production.
### EVM (Ethereum / Base / Arbitrum)
| Variable | Required | Description |
|---|---|---|
| `ETH_RPC_URL` | Yes | EVM RPC endpoint |
| `ETH_PRIVATE_KEY` | Yes | Wallet private key (hex) — **never commit!** |
| `ONEINCH_API_KEY` | Yes | 1inch API key (free at dev.1inch.io) |
---
## Google Custom Search (Web Research Analyst)
| Variable | Required | Default | Description |
|---|---|---|---|
| `GOOGLE_SEARCH_API_KEY` | Yes | — | Google Cloud API key |
| `GOOGLE_SEARCH_ENGINE_ID` | Yes | — | Custom Search Engine ID (`cx`) |
| `GOOGLE_SEARCH_DAILY_LIMIT` | No | `95` | Hard cap on queries/day |
> **Free tier:** 100 queries/day. The default limit of 95 leaves a 5-query safety margin.
> To increase: enable billing in Google Cloud Console and raise `GOOGLE_SEARCH_DAILY_LIMIT`.
---
## Infrastructure (Scenario 3)
| Variable | Required | Description |
|---|---|---|
| `DATABASE_URL` | Yes | PostgreSQL connection string |
| `REDIS_URL` | No | Redis URL (default: `redis://localhost:6379`) |
| `TELEGRAM_BOT_TOKEN` | No | Telegram bot for alerts |
| `TELEGRAM_CHAT_ID` | No | Target chat for alerts |
---
## Runtime Configuration (`default_config.py`)
```python
DEFAULT_CONFIG = {
# LLM
"llm_provider": "openai",
"deep_think_llm": "gpt-4o",
"quick_think_llm": "gpt-4o-mini",
# Debate rounds
"max_debate_rounds": 1,
"max_risk_discuss_rounds": 1,
# Data vendors (stock layer, legacy)
"data_vendors": {
"core_stock_apis": "yfinance",
"technical_indicators": "yfinance",
"fundamental_data": "yfinance",
"news_data": "yfinance",
},
}
```