TradingAgents-CN 项目目录文档

TradingAgents-CN 项目目录文档

项目概述

TradingAgents-CN 是一个多智能体 AI 股票分析平台,支持 A股、港股、美股的多市场分析。采用前后端分离架构。

层次 技术栈 端口
前端 Vue 3 + TypeScript + Element Plus + Vite + Pinia + ECharts 3000 (Nginx)
后端 API FastAPI + Uvicorn + APScheduler 8000
数据库 MongoDB 4.4 (持久化) + Redis 7 (缓存/会话/实时) 27017 / 6379
管理面板 Mongo Express + Redis Commander (可选) 8082 / 8081

根目录结构

复制代码
TradingAgents-CN/
├── app/                    # FastAPI 后端服务(专有许可)
├── frontend/               # Vue 3 前端(专有许可)
├── tradingagents/          # 核心 AI Agent 库(Apache 2.0)
├── cli/                    # 命令行工具
├── web/                    # 旧版 Streamlit Web 应用(已废弃)
├── scripts/                # 运维脚本集合(300+)
├── tests/                  # 测试文件(200+)
├── docs/                   # 项目文档
├── config/                 # 日志配置(TOML)
├── docker/                 # Docker 配置(Nginx)
├── nginx/                  # 额外的 Nginx 配置
├── install/                # 安装辅助脚本
├── examples/               # 使用示例脚本
├── data/                   # 数据目录
├── reports/                # 报告输出目录
├── results/                # 结果输出目录
├── assets/                 # 静态资源
├── images/                 # 图片资源
├── .streamlit/             # 旧版 Streamlit 配置
├── .github/                # GitHub CI/CD 配置
├── pyproject.toml          # Python 项目定义 & 依赖
├── requirements.txt        # 已废弃,指向 pyproject.toml
├── docker-compose.yml      # Docker 全栈编排
├── .env.example            # 环境变量模板(570+ 行)
├── Dockerfile.backend      # 后端 Docker 镜像
├── Dockerfile.frontend     # 前端 Docker 镜像
├── VERSION                 # 版本号:v1.0.1
└── main.py                 # 简单演示入口(非生产用)

app/ --- FastAPI 后端服务

后端入口,提供 REST API、调度器、WebSocket、SSE 等功能。

app/main.py

FastAPI 应用入口。包含:

  • 应用生命周期管理(lifespan):启动时初始化数据库、配置桥接、调度器
  • APScheduler 定时任务:股票基础信息同步(多数据源)、实时行情入库、Tushare/AKShare/BaoStock 数据同步、新闻同步
  • 中间件注册:CORS、TrustedHost、操作日志、请求日志、请求ID
  • 30+ 路由注册
  • 全局异常处理

app/core/ --- 核心基础设施

文件 内容 作用
config.py Pydantic Settings 类 全部配置项:MongoDB、Redis、JWT、队列、速率限制、日志、代理、SSE、数据源调度等
database.py MongoDB/Redis 连接管理 初始化数据库连接池、健康检查、关闭清理
redis_client.py Redis 客户端封装 连接池管理、常用 Redis 操作
config_bridge.py 配置桥接 将 Web 配置写入环境变量,供 TradingAgents 核心库读取
config_compat.py 配置兼容层 旧版环境变量别名映射
dev_config.py 开发环境配置 开发模式特殊设置
logging_config.py 日志配置 统一日志格式、级别、文件输出
logging_context.py 日志上下文 请求级别日志追踪(traceId)
rate_limiter.py 速率限制器 基于 Redis 的滑动窗口限流
response.py 统一响应格式 标准化 API 响应结构
startup_validator.py 启动验证器 应用启动前校验配置合法性
unified_config.py 统一配置 多源配置统一管理

app/models/ --- 数据模型(ORM/Pydantic)

文件 内容 作用
user.py User 模型 用户信息、角色、权限
analysis.py Analysis 模型 分析任务、分析结果
screening.py Screening 模型 筛选任务、筛选结果
config.py Config 模型 系统配置(LLM、数据源等)
notification.py Notification 模型 系统通知、消息
operation_log.py OperationLog 模型 操作审计日志
stock_models.py 股票数据模型 股票基本信息、行情、财务数据

app/schemas/ --- API 请求/响应 Schema

Pydantic 模型,定义所有 API 接口的入参和出参结构。

app/routers/ --- REST API 路由(30+ 接口)

文件 功能 主要接口
health.py 健康检查 GET /api/health
auth_db.py 用户认证 登录、注册、Token 刷新、密码修改
analysis.py AI 分析 单个/批量分析任务创建、查询、SSE 流
screening.py 股票筛选 创建筛选任务、查询结果
queue.py 任务队列 队列状态、任务进度
sse.py SSE 实时流 服务端推送事件流
favorites.py 自选股 添加/删除/查询自选股
stocks.py 股票信息 股票列表、详情、搜索
stock_data.py 股票数据 K线、行情数据
stock_sync.py 股票同步 股票数据同步控制
multi_market_stocks.py 多市场股票 A股/港股/美股统一查询
tags.py 标签管理 自选股标签
config.py 系统配置 LLM配置、数据源配置的增删改查
model_capabilities.py 模型能力 查询各 LLM 支持的功能
usage_statistics.py 使用统计 Token 消耗、调用次数统计
database.py 数据库管理 数据库状态、备份、清理
cache.py 缓存管理 缓存查看、清除
operation_logs.py 操作日志 操作日志查询、导出
logs.py 系统日志 日志文件查看
system_config.py 系统配置只读摘要 运行时配置快照
notifications.py 通知管理 通知增删查
websocket_notifications.py WebSocket 通知 WebSocket 实时推送
scheduler.py 定时任务管理 任务启停、状态查询
sync.py 数据同步控制 手动触发同步
multi_source_sync.py 多数据源同步 跨数据源同步
paper.py 模拟交易 模拟买卖、持仓查询
tushare_init.py Tushare 数据初始化 首次数据导入
akshare_init.py AKShare 数据初始化 首次数据导入
baostock_init.py BaoStock 数据初始化 首次数据导入
historical_data.py 历史数据 历史K线查询
multi_period_sync.py 多周期同步 多时间周期数据同步
financial_data.py 财务数据 财务报表查询
news_data.py 新闻数据 新闻查询
social_media.py 社交媒体数据 舆情数据查询
internal_messages.py 内部消息 系统内部消息
reports.py 报告导出 Markdown/Word/PDF 导出

app/services/ --- 业务逻辑层

文件/目录 作用
analysis_service.py 核心分析服务:协调多 Agent 执行股票分析
simple_analysis_service.py 简化版分析服务
auth_service.py 认证服务:JWT 生成验证、密码哈希
user_service.py 用户服务:用户 CRUD
basics_sync_service.py 股票基础信息同步服务
multi_source_basics_sync_service.py 多数据源基础信息同步(支持自动切换)
basics_sync/ 基础信息同步子模块:处理逻辑、工具函数
config_service.py 配置服务:系统配置 CRUD
config_provider.py 配置提供者:动态读取运行时设置
queue_service.py 队列服务:任务队列管理
queue/ 队列子模块:辅助函数、键管理
scheduler_service.py 调度器服务:APScheduler 管理
favorites_service.py 自选股服务
screening_service.py 股票筛选服务
enhanced_screening_service.py 增强筛选服务
database_service.py 数据库管理服务
database/ 数据库子模块:备份、清理、序列化、状态检查
quotes_ingestion_service.py 实时行情入库服务
quotes_service.py 行情查询服务
news_data_service.py 新闻数据服务
social_media_service.py 社交媒体服务
historical_data_service.py 历史数据服务
stock_data_service.py 股票数据服务
foreign_stock_service.py 港股/美股服务
unified_stock_service.py 统一股票服务(多市场)
financial_data_service.py 财务数据服务
tags_service.py 标签服务
operation_log_service.py 操作日志服务
notifications_service.py 通知服务
websocket_manager.py WebSocket 连接管理器
internal_message_service.py 内部消息服务
usage_statistics_service.py 使用统计服务
model_capability_service.py 模型能力服务
progress/ 进度追踪子模块:日志处理、追踪器
redis_progress_tracker.py Redis 进度追踪
progress_log_handler.py 进度日志处理
memory_state_manager.py 内存状态管理
data_consistency_checker.py 数据一致性检查
data_sources/ 数据源适配:Tushare、AKShare、BaoStock 适配器及管理
analysis/ 分析子模块:状态更新工具
log_export_service.py 日志导出服务

app/worker/ --- 后台 Worker 服务

文件 作用
worker.py Worker 入口
analysis_worker.py 分析任务后台执行
tushare_sync_service.py Tushare 数据同步(基础信息、行情、历史、财务)
akshare_sync_service.py AKShare 数据同步
baostock_sync_service.py BaoStock 数据同步
tushare_init_service.py Tushare 数据初始化
akshare_init_service.py AKShare 数据初始化
baostock_init_service.py BaoStock 数据初始化
hk_data_service.py 港股数据服务
hk_sync_service.py 港股数据同步
us_data_service.py 美股数据服务
us_sync_service.py 美股数据同步
multi_period_sync_service.py 多周期数据同步
financial_data_sync_service.py 财务数据同步
news_data_sync_service.py 新闻数据同步
example_sdk_sync_service.py 示例 SDK 同步(模板)

app/middleware/ --- 中间件

文件 作用
error_handler.py 全局异常处理
operation_log_middleware.py 操作日志记录
rate_limit.py 请求速率限制
request_id.py 请求 ID 追踪(Trace-ID)

app/utils/ --- 工具函数

文件 作用
api_key_utils.py API Key 工具
error_formatter.py 错误格式化
report_exporter.py 报告导出(Markdown/Word/PDF)
timezone.py 时区处理
trading_time.py 交易时间判断

app/scripts/ --- 数据库脚本

文件 作用
migrate_mongo_db.py MongoDB 数据库迁移
normalize_provider_keys.py 提供者 Key 标准化
init_providers.py 提供者初始化

app/constants/

文件 作用
model_capabilities.py 各 LLM 模型支持的能力常量

frontend/ --- Vue 3 前端

技术栈

Vue 3 + TypeScript + Element Plus + Vite + Pinia + Vue Router + ECharts + Mermaid

frontend/src/main.ts

前端入口。注册 Element Plus、Pinia、Router、全局组件,初始化认证状态和主题。

frontend/src/App.vue

根组件,包含路由视图和全局通知组件。

frontend/src/router/index.ts

路由配置。定义所有页面路由、认证守卫、进度条、页面标题。

frontend/src/api/ --- HTTP 客户端(Axios)

文件 作用
request.ts Axios 实例配置、拦截器、错误处理
auth.ts 认证接口(登录、注册、Token刷新)
analysis.ts 分析任务接口
screening.ts 股票筛选接口
stocks.ts 股票信息接口
favorites.ts 自选股接口
config.ts 系统配置接口
database.ts 数据库管理接口
cache.ts 缓存管理接口
logs.ts 日志接口
operationLogs.ts 操作日志接口
scheduler.ts 定时任务接口
sync.ts 数据同步接口
stockSync.ts 股票同步接口
multiMarket.ts 多市场接口
news.ts 新闻接口
notifications.ts 通知接口
paper.ts 模拟交易接口
usage.ts 使用统计接口
modelCapabilities.ts 模型能力接口
tags.ts 标签接口
templates.ts 模板接口

frontend/src/views/ --- 页面组件

目录 作用
Dashboard/index.vue 仪表板首页
Analysis/SingleAnalysis.vue 单个股票分析页面
Analysis/BatchAnalysis.vue 批量分析页面
Analysis/AnalysisHistory.vue 分析历史
Screening/index.vue 股票筛选页面
Favorites/index.vue 自选股管理
Reports/index.vue 报告列表
Reports/ReportDetail.vue 报告详情
Reports/TokenStatistics.vue Token 消耗统计
PaperTrading/index.vue 模拟交易
Settings/index.vue 设置首页
Settings/ConfigManagement.vue 配置管理
Settings/UsageStatistics.vue 使用统计
Settings/CacheManagement.vue 缓存管理
Settings/components/ 设置子组件:LLM配置、数据源配置、模型目录、市场分类等对话框
System/DatabaseManagement.vue 数据库管理
System/OperationLogs.vue 操作日志
System/LogManagement.vue 系统日志
System/SchedulerManagement.vue 定时任务管理
System/MultiSourceSync.vue 多数据源同步监控
Tasks/TaskCenter.vue 任务中心
Stocks/Detail.vue 股票详情页
Auth/Login.vue 登录页
Learning/index.vue 学习中心列表
Learning/Category.vue 学习分类
Learning/Article.vue 文章详情
Queue/index.vue 队列状态
About/index.vue 关于页面
Error/404.vue 404 错误页

frontend/src/components/ --- 可复用组件

目录 作用
Layout/HeaderActions.vue 顶部导航栏
Layout/AppFooter.vue 底部栏
Layout/SidebarMenu.vue 侧边栏菜单
Layout/UserProfile.vue 用户信息
Layout/Breadcrumb.vue 面包屑导航
Global/GlobalNotification.vue 全局通知
Global/GlobalConfirm.vue 全局确认对话框
Global/MarketSelector.vue 市场选择器(A股/港股/美股)
Global/MultiMarketStockSearch.vue 多市场股票搜索
Global/TaskReportDialog.vue 任务报告对话框
Global/TaskResultDialog.vue 任务结果对话框
Sync/SyncControl.vue 同步控制面板
Sync/DataSourceStatus.vue 数据源状态
Sync/SyncHistory.vue 同步历史
Sync/SyncRecommendations.vue 同步建议
ConfigWizard.vue 配置向导
ConfigValidator.vue 配置校验
ModelConfig.vue 模型配置
DeepModelSelector.vue 深度模型选择器
NetworkStatus.vue 网络状态指示
Dev/DevPanel.vue 开发调试面板
Dashboard/MultiSourceSyncCard.vue 仪表板多数据源卡片

frontend/src/stores/ --- Pinia 状态管理

文件 作用
app.ts 应用全局状态(主题、API连接、网络状态、当前路由)
auth.ts 认证状态(Token、用户信息、登录/登出)
notifications.ts 通知状态管理

frontend/src/types/ --- TypeScript 类型定义

文件 作用
analysis.ts 分析相关类型
auth.ts 认证相关类型
config.ts 配置相关类型
router.d.ts 路由类型扩展

frontend/src/utils/ --- 工具函数

文件 作用
auth.ts 认证工具(Token 存储、刷新定时器)
datetime.ts 日期时间格式化
market.ts 市场判断(A股/港股/美股)
stock.ts 股票代码处理
stockValidator.ts 股票代码校验

frontend/src/constants/ --- 常量

文件 作用
analysts.ts 分析师类型常量

frontend/src/layouts/ --- 布局组件

文件 作用
BasicLayout.vue 基础布局(侧边栏 + 顶部 + 内容区)

tradingagents/ --- 核心 AI Agent 库(Apache 2.0)

多智能体交易分析框架,是整个系统的 AI 分析引擎。

tradingagents/graph/ --- LangGraph 状态机

文件 作用
trading_graph.py 主图编排:构建 Agent 工作流(分析 → 研究 → 辩论 → 决策)
conditional_logic.py 条件逻辑:分支判断
signal_processing.py 信号处理:Agent 输出信号解析
reflection.py 反思机制:Agent 自我校正
propagation.py 状态传播:跨节点数据传递
setup.py 图初始化配置

tradingagents/agents/ --- AI Agent 定义

agents/analysts/ --- 分析师 Agent
文件 作用
market_analyst.py 市场分析师:技术分析(K线、指标)
fundamentals_analyst.py 基本面分析师:财务数据、估值分析
news_analyst.py 新闻分析师:新闻舆情分析
social_media_analyst.py 社交媒体分析师:舆情分析
china_market_analyst.py 中国市场分析师:A股特色分析
agents/managers/ --- 管理 Agent
文件 作用
research_manager.py 研究主管:协调研究员工作
risk_manager.py 风险管理主管
agents/researchers/ --- 研究 Agent
文件 作用
bull_researcher.py 看多研究员:寻找利好因素
bear_researcher.py 看空研究员:寻找利空因素
agents/risk_mgmt/ --- 风险管理辩论者
文件 作用
aggresive_debator.py 激进派辩论者
conservative_debator.py 保守派辩论者
neutral_debator.py 中立派辩论者
agents/trader/ --- 交易 Agent
文件 作用
trader.py 交易员:最终给出买卖建议
agents/utils/ --- Agent 工具
文件 作用
agent_states.py Agent 状态定义
agent_utils.py Agent 辅助函数
memory.py Agent 记忆管理
chromadb_config.py ChromaDB 向量数据库配置
google_tool_handler.py Google 工具处理器
instrument_utils.py 金融工具辅助

tradingagents/llm_clients/ --- LLM 客户端

文件 作用
base_client.py LLM 客户端基类
openai_client.py OpenAI 客户端
anthropic_client.py Anthropic Claude 客户端
google_client.py Google Gemini 客户端
factory.py LLM 客户端工厂
model_catalog.py 模型目录
provider_keys.py 多提供者 Key 管理
validators.py 输入验证

tradingagents/llm_adapters/ --- LLM 兼容适配

文件 作用
openai_compatible_base.py OpenAI 兼容基类
dashscope_openai_adapter.py 阿里 DashScope 适配
deepseek_adapter.py DeepSeek 适配
google_openai_adapter.py Google OpenAI 兼容封装

tradingagents/dataflows/ --- 数据流

文件 作用
interface.py 数据接口统一入口
stock_api.py 股票数据 API
stock_data_service.py 股票数据服务
data_source_manager.py 数据源管理器
optimized_china_data.py 优化版中国 A 股数据
realtime_metrics.py 实时指标
realtime_news_utils.py 实时新闻工具
data_completeness_checker.py 数据完整性检查
cache/db_cache.py 数据库缓存
_compat_imports.py 兼容导入

tradingagents/config/ --- 配置管理

文件 作用
config_manager.py 配置管理器
database_config.py 数据库配置
database_manager.py 数据库管理
mongodb_storage.py MongoDB 存储
providers_config.py 提供者配置
runtime_settings.py 运行时设置
tushare_config.py Tushare 配置
usage_models.py 使用量模型
env_utils.py 环境变量工具

tradingagents/tools/ --- 工具

文件 作用
analysis/indicators.py 技术指标计算(MA、MACD、RSI 等)
unified_news_tool.py 统一新闻工具

tradingagents/api/ --- 股票 API 层

文件 作用
stock_api.py 股票 API 接口

tradingagents/models/ --- 数据模型

文件 作用
stock_data_models.py 股票数据模型

tradingagents/utils/ --- 工具

文件 作用
dataflow_utils.py 数据流工具
enhanced_news_filter.py 增强新闻过滤
enhanced_news_retriever.py 增强新闻检索
logging_init.py 日志初始化
logging_manager.py 日志管理
news_filter_integration.py 新闻过滤集成
news_filter.py 新闻过滤
stock_utils.py 股票工具
stock_validator.py 股票校验
tool_logging.py 工具日志

tradingagents/constants/ --- 常量

文件 作用
data_sources.py 数据源常量定义

tradingagents/default_config.py

默认配置字典。


cli/ --- 命令行工具

文件 作用
main.py CLI 主入口(~84K 行),支持股票分析、配置管理、数据同步、系统管理等命令
data_init/ 数据初始化脚本(Tushare、AKShare、BaoStock)

web/ --- 旧版 Streamlit Web 应用

文件 作用
app.py Streamlit 主入口
components/ Streamlit 组件
modules/ 功能模块
其他 旧版工具函数、配置

已被 frontend/(Vue 3)取代,但仍保留。


scripts/ --- 运维脚本(300+)

按功能分子目录:

子目录 作用
setup/ 环境安装、初始化
deployment/ Docker 构建、部署
development/ 开发辅助
debug/ 调试工具
docker/ Docker 相关
git/ Git 操作
maintenance/ 数据维护、迁移
validation/ 数据验证
windows-installer/ Windows 安装包

tests/ --- 测试(200+)

类型 覆盖
API 集成测试 各 REST 接口
数据源测试 AKShare、BaoStock、Tushare
LLM 测试 工具调用、多提供者
功能测试 港股、缓存、配置、进度追踪

docs/ --- 项目文档

子目录 内容
releases/ 版本发布说明
guides/ 使用指南
configuration/ 配置说明
deployment/ 部署指南
troubleshooting/ 故障排查
architecture/ 架构文档
design/ 设计文档
blog/ 博客文章
learning/ 学习材料
community/ 社区文档
security/ 安全说明

config/ --- 日志配置

文件 作用
logging.conf 常规日志配置
logging_docker.conf Docker 日志配置

docker/ --- Docker 配置

文件 作用
nginx.conf 前端 SPA 的 Nginx 配置
相关推荐
光影6271 小时前
Selenium自动化测试---实战踩坑实录
python·selenium·测试工具·百度
HappyAcmen1 小时前
2.lcut返回列表用法
python
Json____1 小时前
Python练习题集-文件处理、数据管理与网络编程实战小项目15个
python·编程·编程学习·练习题·python学习
星空椰1 小时前
Python 使用飞书 API 获取部门直属用户列表(递归获取所有部门 + 导出 Excel)
python·飞书
l1t1 小时前
在aarch64机器上安装clang来生成codonjit python模块
开发语言·python
辰尘_星启2 小时前
【Linux】Python Socket编程指南
linux·python·socket·系统·通信
南宫萧幕2 小时前
基于 Simulink 与 Python 联合仿真的 eVTOL 强化学习全链路实战
开发语言·人工智能·python·算法·机器学习·控制
Amctwd2 小时前
【Python】从Excel中按行提取图片
java·python·excel
张二娃同学2 小时前
第08篇_RNN_LSTM_GRU序列模型
人工智能·python·rnn·深度学习·神经网络·gru·lstm