-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
554 lines (448 loc) · 19.7 KB
/
Copy path.env.example
File metadata and controls
554 lines (448 loc) · 19.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
# TradingAgents-CN 环境变量配置示例
# 🔐 重要:复制此文件为 .env 并填入您的真实API密钥
# ⚠️ 警告:.env文件包含敏感信息,请勿提交到Git仓库
#
# 📋 配置级别说明:
# [REQUIRED] - 必需配置,缺少则无法启动系统
# [RECOMMENDED] - 推荐配置,缺少会影响功能但不影响启动
# [OPTIONAL] - 可选配置,用于高级功能或性能优化
#
# 📖 详细配置指南: docs/configuration_guide.md
# ==================== 必需配置(系统启动必需) ====================
# [REQUIRED] MongoDB 数据库连接
# 用于存储股票数据、分析结果、用户信息等
MONGODB_HOST=localhost
MONGODB_PORT=27017
MONGODB_USERNAME=admin
MONGODB_PASSWORD=tradingagents123
MONGODB_DATABASE=tradingagents
MONGODB_AUTH_SOURCE=admin
# [REQUIRED] Redis 缓存连接
# 用于缓存、会话管理、实时通知等
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=tradingagents123
REDIS_DB=0
# [REQUIRED] JWT 安全配置
# 用于生成和验证用户认证令牌
# ⚠️ 生产环境请务必修改为随机字符串(至少32字符)
# 生成方式: python -c "import secrets; print(secrets.token_urlsafe(32))"
JWT_SECRET=your-super-secret-jwt-key-change-in-production
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=60
REFRESH_TOKEN_EXPIRE_DAYS=30
# [REQUIRED] CSRF 保护
# 用于防止跨站请求伪造攻击
# ⚠️ 生产环境请务必修改为随机字符串
CSRF_SECRET=your-csrf-secret-key-change-in-production
# [OPTIONAL] 代理配置
# 如果您使用代理访问国外服务(如 Google AI),但需要直连国内数据源(如东方财富)
# 请配置 NO_PROXY 环境变量,让国内域名绕过代理
# 多个域名用逗号分隔
# ⚠️ Windows 不支持通配符 *,必须使用完整域名
# 详细说明: docs/proxy_configuration.md
#HTTP_PROXY=http://127.0.0.1:7890
#HTTPS_PROXY=http://127.0.0.1:7890
NO_PROXY=localhost,127.0.0.1,eastmoney.com,push2.eastmoney.com,82.push2.eastmoney.com,82.push2delay.eastmoney.com,gtimg.cn,sinaimg.cn,api.tushare.pro,baostock.com
# ==================== 推荐配置(功能正常运行推荐) ====================
# [RECOMMENDED] 大模型 API 密钥(至少配置一个)
# 用于AI分析功能,推荐 DeepSeek(性价比高)或通义千问(国产稳定)
# 🚀 DeepSeek V3 API 密钥(推荐,性价比极高)
# 获取地址: https://platform.deepseek.com/
# 获取步骤:注册账号 -> 创建API Key -> 复制密钥
DEEPSEEK_API_KEY=your_deepseek_api_key_here
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_ENABLED=false
# 🇨🇳 阿里百炼 API 密钥(推荐,国产稳定)
# 获取地址: https://dashscope.aliyun.com/
# 获取步骤:注册阿里云账号 -> 开通百炼服务 -> 获取API密钥
DASHSCOPE_API_KEY=your_dashscope_api_key_here
# [RECOMMENDED] 数据源配置
# 用于获取股票数据,推荐 AKShare(免费无需密钥)或 Tushare(专业数据)
# 🎯 默认中国股票数据源(推荐 akshare)
# 可选值: akshare, tushare, baostock
DEFAULT_CHINA_DATA_SOURCE=akshare
# 📈 Tushare API Token(推荐,专业A股数据)
# 获取地址: https://tushare.pro/register?reg=tacn
# 获取步骤:注册账号 -> 邮箱验证 -> 获取Token
# 注意:免费用户有调用频率限制,建议升级积分到2000积分以上,实时行情需要另外交费
TUSHARE_TOKEN=your_tushare_token_here
TUSHARE_ENABLED=false
# 📊 FinnHub API 密钥(推荐,美股数据)
# 获取地址: https://finnhub.io/
# 免费账户每分钟60次请求
FINNHUB_API_KEY=your_finnhub_api_key_here
# ==================== 可选配置(高级功能) ====================
# [OPTIONAL] 其他大模型 API 密钥
# 可根据需要配置,用于访问更多AI模型
# 🇨🇳 硅基流动 API 密钥(可选)
# 获取地址: https://www.siliconflow.cn/
SILICONFLOW_API_KEY=your_siliconflow_api_key_here
# 🌍 OpenAI API 密钥(可选,需要国外网络)
# 获取地址: https://platform.openai.com/
OPENAI_API_KEY=your_openai_api_key_here
# ==================== 聚合渠道 API 密钥(推荐) ====================
# 聚合渠道允许通过单一 API Key 访问多个原厂模型,简化配置和管理
# 详细文档: docs/AGGREGATOR_SUPPORT.md
# 🌐 302.AI API 密钥(推荐,国内聚合平台)
# 获取地址: https://share.302.ai/DUjftK
# 获取步骤:注册账号 -> API管理 -> 创建API Key
# 特点:
# - 国内访问稳定,无需科学上网
# - 支持 OpenAI、Anthropic、Google、DeepSeek 等多个厂商模型
# - 统一计费,价格透明
# 格式: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 模型格式: openai/gpt-4, anthropic/claude-3-sonnet, google/gemini-pro
# 使用方法:
# 1. 在系统中初始化聚合渠道(设置 -> 配置管理 -> 初始化聚合渠道)
# 2. 配置此 API Key
# 3. 添加模型目录(如 openai/gpt-4)
# 4. 在分析中选择使用
AI302_API_KEY=your_302ai_api_key_here
# 🌐 OpenRouter API 密钥(可选,国际聚合平台)
# 获取地址: https://openrouter.ai/
# 特点:
# - 支持 50+ 模型,包含免费模型
# - 国际主流模型齐全
# - 需要科学上网
# 格式: sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 模型格式: openai/gpt-4-turbo, anthropic/claude-3-opus, meta-llama/llama-3-70b
# 使用方法:
# 方案1 (推荐): 设置专门的 OPENROUTER_API_KEY
# 方案2: 如果只用 OpenRouter,可以设置 OPENAI_API_KEY 为 OpenRouter 密钥
OPENROUTER_API_KEY=your_openrouter_api_key_here
# 🔧 One API / New API(可选,自部署聚合平台)
# 获取地址:
# - One API: https://github.com/songquanpeng/one-api
# - New API: https://github.com/Calcium-Ion/new-api
# 特点:
# - 开源自部署方案
# - 完全掌控数据和成本
# - 支持多种模型和渠道管理
# 使用方法:
# 1. 自行部署 One API / New API 服务
# 2. 在部署的服务中创建 API Key
# 3. 配置此 API Key 和 Base URL
# 4. 模型格式通常为: gpt-4, claude-3-sonnet(不需要前缀)
ONEAPI_API_KEY=your_oneapi_api_key_here
ONEAPI_BASE_URL=http://localhost:3000/v1
# ==================== 原厂 API 密钥(可选) ====================
# 🔍 Google AI API 密钥(可选,用于 Gemini 模型)
# 获取地址: https://ai.google.dev/
GOOGLE_API_KEY=your_google_api_key_here
# 🤖 Anthropic API 密钥(可选,用于 Claude 模型)
# 获取地址: https://console.anthropic.com/
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# 🚀 DeepSeek V3 API 密钥 (推荐,性价比极高的国产大模型)
# 获取地址: https://platform.deepseek.com/
# 获取步骤:
# 1. 注册DeepSeek账号 -> 登录控制台
# 2. 进入API Keys页面 -> 创建新的API Key
# 3. 复制API Key(格式:sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
DEEPSEEK_API_KEY=your_deepseek_api_key_here
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_ENABLED=false
# 注意:支持多种布尔值格式 (true/True/TRUE/1/yes/on 表示启用)
# 🔧 其他 OpenAI 兼容提供商 API 密钥 (可选)
# 这是一个通用模板,用于添加任何 OpenAI 兼容的大模型提供商
# 贡献者可以使用这个模板为新的提供商添加 API 密钥
# 请将 YOUR_PROVIDER 替换为实际的提供商名称(如 MOONSHOT、ZHIPU 等)
# YOUR_PROVIDER_API_KEY=your_provider_api_key_here
# YOUR_PROVIDER_BASE_URL=https://api.yourprovider.com
# 文心一言(百度千帆)API 密钥(OpenAI 兼容模式,通常以 bce-v3/ 开头)
QIANFAN_API_KEY=your_qianfan_api_key_here
# 可选:若你使用千帆原生SDK/脚本(非OpenAI兼容路径),另见 scripts/ 目录示例
# QIANFAN_ACCESS_KEY=your_access_key
# QIANFAN_SECRET_KEY=your_secret_key
# 通用OpenAI兼容提供商 API 密钥 (用于自定义端点)
CUSTOM_OPENAI_API_KEY=your-custom-openai-api-key
# ===== 项目配置 =====
# 结果存储目录
TRADINGAGENTS_RESULTS_DIR=./results
# 数据存储目录 (可选,默认使用./data)
TRADINGAGENTS_DATA_DIR=./data
# 缓存存储目录 (可选,默认使用./cache)
TRADINGAGENTS_CACHE_DIR=./cache
# 日志级别 (DEBUG, INFO, WARNING, ERROR)
TRADINGAGENTS_LOG_LEVEL=INFO
# 禁用Python字节码生成 (可选,用于开发环境)
PYTHONDONTWRITEBYTECODE=1
# ===== 内存和缓存配置 =====
# 🧠 内存功能启用开关 (默认启用)
# 设置为 false 可以禁用ChromaDB内存功能,解决Windows 10兼容性问题
# 推荐Windows 10用户设置为 false
MEMORY_ENABLED=true
# � 缓存策略配置 (推荐使用 integrated)
# 可选值:
# - integrated: 集成缓存(推荐)- 自动选择 MongoDB/Redis/File,性能最优
# - file: 文件缓存 - 简单稳定,不依赖外部服务
# - adaptive: 自适应缓存 - 同 integrated
# 说明:
# - integrated 策略会优先使用 MongoDB 和 Redis 缓存,提升性能
# - 如果 MongoDB/Redis 不可用,会自动降级到文件缓存
# - 文件缓存仅保存在本地,不会同步到数据库
TA_CACHE_STRATEGY=integrated
# �🔧 最大工作线程数 (可选,默认为CPU核心数)
# Windows 10用户建议设置为较小值,如 2 或 4
# MAX_WORKERS=4
# ===== 数据库配置 =====
# 设置为 true 启用对应数据库,false 或不设置则禁用
MONGODB_ENABLED=true
REDIS_ENABLED=true
# ===== Reddit API 配置 (可选) =====
# 用于获取社交媒体情绪数据
# 获取地址: https://www.reddit.com/prefs/apps
# Reddit 客户端ID
REDDIT_CLIENT_ID=your_reddit_client_id
# Reddit 客户端密钥
REDDIT_CLIENT_SECRET=your_reddit_client_secret
# Reddit 用户代理
REDDIT_USER_AGENT=TradingAgents-CN/1.0
# ===== 使用统计和成本跟踪配置 =====
# 🔧 Token使用统计启用开关 (默认启用)
ENABLE_COST_TRACKING=true
# 💰 成本警告阈值 (人民币,默认100元)
COST_ALERT_THRESHOLD=100.0
# 📊 最大使用记录数量 (默认10000条)
MAX_USAGE_RECORDS=10000
# 🗄️ 使用MongoDB存储Token统计数据 (推荐生产环境)
# 设置为 true 启用MongoDB存储,false 使用JSON文件存储
USE_MONGODB_STORAGE=true
# MongoDB连接字符串 (当USE_MONGODB_STORAGE=true时使用)
# 本地MongoDB: mongodb://localhost:27017/
# Docker环境: mongodb://admin:tradingagents123@mongodb:27017/
MONGODB_CONNECTION_STRING=mongodb://admin:tradingagents123@localhost:27017/
# MongoDB数据库名称
MONGODB_DATABASE_NAME=tradingagents
# ===== 使用说明 =====
# 1. 复制此文件为 .env: cp .env.example .env
# 2. 编辑 .env 文件,填入您的真实API密钥
# 3. 必需配置:至少一个AI模型API密钥 (推荐DeepSeek或DASHSCOPE_API_KEY)
# 4. 推荐配置:TUSHARE_TOKEN (用于A股数据) 和 FINNHUB_API_KEY (用于美股数据)
# 5. 运行 python -m cli.main config 检查配置状态
# 6. 运行 python -m cli.main test 验证配置是否正确
#
# ===== API密钥获取链接 =====
# - DeepSeek (推荐,性价比高): https://platform.deepseek.com/
# - 通义千问 (国产稳定): https://dashscope.aliyun.com/
# - OpenAI (功能强大): https://platform.openai.com/
# - Google Gemini (免费额度大): https://aistudio.google.com/
# - Tushare (A股数据): https://tushare.pro/
# - FinnHub (美股数据): https://finnhub.io/
#
# ===== v0.1.16 新增配置 =====
# 🚀 API服务配置(以下三项为历史键,已废弃但仍兼容;请改用下文 HOST/PORT/DEBUG)
API_HOST=0.0.0.0
API_PORT=8000
API_DEBUG=true
# 🔗 CORS配置
ALLOWED_ORIGINS=["http://localhost:3000", "http://127.0.0.1:3000", "http://localhost:8501"]
ALLOWED_HOSTS=["*"]
# 🔐 安全配置
# JWT配置 (生产环境请使用强密码)
JWT_SECRET=your-super-secret-jwt-key-change-in-production
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=60
REFRESH_TOKEN_EXPIRE_DAYS=30
# CSRF保护
CSRF_SECRET=your-csrf-secret-key-change-in-production
BCRYPT_ROUNDS=12
# 📊 队列和并发配置
# 队列配置
QUEUE_MAX_SIZE=10000
QUEUE_VISIBILITY_TIMEOUT=300
QUEUE_MAX_RETRIES=3
# 并发控制
DEFAULT_USER_CONCURRENT_LIMIT=3
GLOBAL_CONCURRENT_LIMIT=50
DEFAULT_DAILY_QUOTA=1000
# Worker配置
WORKER_HEARTBEAT_INTERVAL=30
# 速率限制
RATE_LIMIT_ENABLED=true
DEFAULT_RATE_LIMIT=100
# 📁 文件上传配置
MAX_UPLOAD_SIZE=10485760
UPLOAD_DIR=uploads
# 📊 监控配置
METRICS_ENABLED=true
HEALTH_CHECK_INTERVAL=60
# ==================== 实时行情入库服务配置 ====================
# 📈 实时行情入库服务
# 从数据源(Tushare/AKShare)获取全市场实时行情,存储到 MongoDB
# 用于前端行情展示、自选股列表、AI分析等功能
# 启用/禁用实时行情入库服务
QUOTES_INGEST_ENABLED=true
# 行情采集间隔(秒)
# - 用户建议: 300-600 秒(5-10分钟),避免 Tushare rt_k 接口超限
# - 付费用户建议: 5-60 秒,充分利用 Tushare 付费权限
# - 默认: 360 秒(6分钟),每小时采集10次
QUOTES_INGEST_INTERVAL_SECONDS=360
# 启用接口轮换机制
# - true: 轮流使用 Tushare rt_k → AKShare东方财富 → AKShare新浪财经
# - false: 按默认优先级使用(Tushare > AKShare)
# 优势:避免单一接口被限流或封IP,提高服务可靠性
QUOTES_ROTATION_ENABLED=true
# Tushare rt_k 接口每小时调用次数限制
# - 免费用户: 2 次(Tushare 官方限制,每小时2次)
# - 付费用户: 可设置更高(如 1000),根据您的权限调整
# 超过限制会自动跳过 Tushare,使用 AKShare 备用接口
QUOTES_TUSHARE_HOURLY_LIMIT=2
# 自动检测 Tushare rt_k 接口权限
# - true: 首次运行自动检测权限,付费用户会收到高频采集建议
# - false: 不检测,按配置运行
QUOTES_AUTO_DETECT_TUSHARE_PERMISSION=true
# 休市期/启动兜底补数(填充上一笔收盘快照)
QUOTES_BACKFILL_ON_STARTUP=true
QUOTES_BACKFILL_ON_OFFHOURS=true
# ==================== 数据同步服务配置 ====================
# 🔄 Tushare统一数据同步配置
# 启用Tushare统一数据同步
TUSHARE_UNIFIED_ENABLED=true
# 基础信息同步 (每日凌晨2点)
TUSHARE_BASIC_INFO_SYNC_ENABLED=true
TUSHARE_BASIC_INFO_SYNC_CRON="0 2 * * *"
# 实时行情同步 (交易时间每5分钟)
TUSHARE_QUOTES_SYNC_ENABLED=true
TUSHARE_QUOTES_SYNC_CRON="*/5 9-15 * * 1-5"
# 历史数据同步 (工作日16点)
TUSHARE_HISTORICAL_SYNC_ENABLED=true
TUSHARE_HISTORICAL_SYNC_CRON="0 16 * * 1-5"
# 财务数据同步 (周日凌晨3点)
TUSHARE_FINANCIAL_SYNC_ENABLED=true
TUSHARE_FINANCIAL_SYNC_CRON="0 3 * * 0"
# 状态检查 (每小时)
TUSHARE_STATUS_CHECK_ENABLED=true
TUSHARE_STATUS_CHECK_CRON="0 * * * *"
# 🚀 Tushare数据初始化配置
# 首次部署时的历史数据天数 (默认1年,>=3650则同步全历史)
TUSHARE_INIT_HISTORICAL_DAYS=365
# 初始化批处理大小
TUSHARE_INIT_BATCH_SIZE=100
# 是否在应用启动时自动检查并初始化数据
TUSHARE_INIT_AUTO_START=false
# 🔧 Tushare速率限制配置
# 积分等级: free(100次/分钟), basic(200), standard(400), premium(600), vip(800)
TUSHARE_TIER=standard
# 安全边际 (0-1),实际限制为理论限制的百分比,建议0.8避免突发流量超限
TUSHARE_RATE_LIMIT_SAFETY_MARGIN=0.8
# 🔄 AKShare统一数据同步配置
# 启用AKShare统一数据同步
AKSHARE_UNIFIED_ENABLED=true
# 基础信息同步 (每日凌晨3点)
AKSHARE_BASIC_INFO_SYNC_ENABLED=false
AKSHARE_BASIC_INFO_SYNC_CRON="0 3 * * *"
# 实时行情同步 (交易时间每30分钟,避免频率限制)
AKSHARE_QUOTES_SYNC_ENABLED=false
AKSHARE_QUOTES_SYNC_CRON="*/30 9-15 * * 1-5"
# 历史数据同步 (工作日17点)
AKSHARE_HISTORICAL_SYNC_ENABLED=false
AKSHARE_HISTORICAL_SYNC_CRON="0 17 * * 1-5"
# 财务数据同步 (周日凌晨4点)
AKSHARE_FINANCIAL_SYNC_ENABLED=false
AKSHARE_FINANCIAL_SYNC_CRON="0 4 * * 0"
# 状态检查 (每小时30分)
AKSHARE_STATUS_CHECK_ENABLED=false
AKSHARE_STATUS_CHECK_CRON="30 * * * *"
# 🚀 AKShare数据初始化配置
# 首次部署时的历史数据天数 (默认1年)
AKSHARE_INIT_HISTORICAL_DAYS=365
# 初始化批处理大小
AKSHARE_INIT_BATCH_SIZE=100
# 是否在应用启动时自动检查并初始化数据
AKSHARE_INIT_AUTO_START=false
# ==================== 📊 分析师数据获取配置 ====================
# 🔍 市场分析师数据范围配置
# 市场分析回溯天数(用于技术分析,需要足够的历史数据计算技术指标)
# 推荐值:
# - 快速分析:10-15天(基础指标:MA5, MA10)
# - 标准分析:30天(日常使用:MA20, MACD, RSI, BOLL)
# - 深度分析:60天(推荐,可覆盖MA60等所有常用技术指标)⭐
# - 全面分析:90-365天(长期趋势分析)
# 注意:如果需要计算MA60,至少需要60天数据
MARKET_ANALYST_LOOKBACK_DAYS=365
# 📈 基本面分析师数据范围配置
# 说明:基本面分析固定获取10天数据(保证能拿到数据),但只使用最近2天参与分析
# 无需配置,代码内部已优化
# ==================== 📊 BaoStock统一数据同步配置 ====================
# 🔧 BaoStock统一数据同步总开关
# 设置为 true 启用BaoStock数据源,false 禁用
BAOSTOCK_UNIFIED_ENABLED=true
# 📋 基础信息同步 (每日凌晨4点)
# 同步股票代码、名称、上市日期等基础信息
BAOSTOCK_BASIC_INFO_SYNC_ENABLED=false
BAOSTOCK_BASIC_INFO_SYNC_CRON="0 4 * * *"
# 📈 日K线同步 (工作日收盘后16:00)
# 注意:BaoStock不支持实时行情,此任务同步最新交易日的日K线数据
BAOSTOCK_DAILY_QUOTES_SYNC_ENABLED=false
BAOSTOCK_DAILY_QUOTES_SYNC_CRON="0 16 * * 1-5"
# 📊 历史数据同步 (工作日18点)
# 同步历史K线数据,用于技术分析
BAOSTOCK_HISTORICAL_SYNC_ENABLED=false
BAOSTOCK_HISTORICAL_SYNC_CRON="0 18 * * 1-5"
# 🔍 状态检查 (每小时45分)
# 检查BaoStock服务状态和数据完整性
BAOSTOCK_STATUS_CHECK_ENABLED=false
BAOSTOCK_STATUS_CHECK_CRON="45 * * * *"
# 🚀 BaoStock数据初始化配置
# 首次部署时的历史数据天数 (默认1年)
BAOSTOCK_INIT_HISTORICAL_DAYS=365
# 初始化批处理大小 (BaoStock建议较小批次)
BAOSTOCK_INIT_BATCH_SIZE=50
# 是否在应用启动时自动检查并初始化数据
BAOSTOCK_INIT_AUTO_START=false
# 📝 日志配置
LOG_FORMAT="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
LOG_FILE=logs/tradingagents.log
# ===== Docker 部署说明 =====
# 如果使用 Docker 部署,需要修改以下配置:
# 1. 启用数据库:
# MONGODB_ENABLED=true
# REDIS_ENABLED=true
# 2. 修改主机名:
# MONGODB_HOST=mongodb
# REDIS_HOST=redis
# 3. 启动服务:
# docker-compose up -d
# 4. 访问地址:
# - Web应用: http://localhost:8501
# - API服务: http://localhost:8000
# ===== 股票基础信息同步调度配置 =====
# 启用/禁用每日同步
SYNC_STOCK_BASICS_ENABLED=true
# 使用CRON表达式调度(优先生效)。示例:每天早上7点
# SYNC_STOCK_BASICS_CRON=0 7 * * *
# 或使用简单时间(24小时制HH:MM)。示例:06:30
SYNC_STOCK_BASICS_TIME=06:30
# 时区
TIMEZONE=Asia/Shanghai
# - Redis管理: http://localhost:8081
# - MongoDB管理: http://localhost:8082
# ===== Backend Settings (pydantic) missing keys (preferred) =====
# 注意:以下键为 app/core/config.py 中的正式字段;优先使用这些键。
# API_HOST/API_PORT/API_DEBUG 为历史键,仍兼容读取但已废弃;请改用 DEBUG/HOST/PORT(未来版本将移除)。
DEBUG=true
HOST=0.0.0.0
PORT=8000
# ===== Nginx Settings =====
# Nginx 前端服务端口(默认 80)
NGINX_PORT=80
# 连接池与重试(Mongo/Redis)
MONGO_MAX_CONNECTIONS=100
MONGO_MIN_CONNECTIONS=10
# MongoDB超时参数(毫秒)- 用于处理大量历史数据
# connectTimeoutMS: 连接超时时间(默认30秒,原为10秒)
# socketTimeoutMS: 套接字超时时间(默认60秒,原为20秒)
# serverSelectionTimeoutMS: 服务器选择超时时间(默认5秒)
MONGO_CONNECT_TIMEOUT_MS=30000
MONGO_SOCKET_TIMEOUT_MS=60000
MONGO_SERVER_SELECTION_TIMEOUT_MS=5000
REDIS_MAX_CONNECTIONS=20
REDIS_RETRY_ON_TIMEOUT=true
# 日志级别(若未设置则默认 INFO)
LOG_LEVEL=INFO
# 缓存与会话
CACHE_TTL=3600
SCREENING_CACHE_TTL=1800
SESSION_EXPIRE_HOURS=24
TA_USE_APP_CACHE=true