项目概述

📎 引用文件

本文引用的文件 - README.md - README_zh.md - pyproject.toml - agent/requirements.txt - frontend/package.json - desktop/electron/package.json - agent/src/api/swarm_routes.py - wiki/tutorials/vibe-trading-beginner-zh.html

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖关系分析
  7. 性能考量
  8. 故障排查指南
  9. 结论
  10. 附录:快速开始与使用示例

简介

Vibe-Trading 是一个集自然语言金融研究、多市场回测、AI 驱动工作流与企业级安全于一体的量化交易平台。它通过智能体(Agent)将“用自然语言提出研究问题”到“自动获取数据、生成信号、执行回测、输出报告”的闭环打通,并支持股票、期货、加密货币、外汇等多资产类别。平台提供 CLI、Web UI、MCP 工具接口以及可选的 Electron 桌面应用,便于个人研究者与团队在本地或服务器环境中协作。

本节为概念性概述,不直接分析具体代码文件。

项目结构

仓库采用多包多模块组织: - agent:Python 后端主体,包含 CLI、API、回测引擎、数据加载器、技能(skills)、工具(tools)、会话与记忆、安全策略、MCP 服务等。 - frontend:React + TypeScript 前端,使用 Vite、Tailwind、ECharts 等。 - desktop/electron:Electron 宿主,负责启动/守护后端、本地凭据存储与打包。 - wiki:文档与教程站点资源。 - 根目录:Docker、CI、依赖与发布配置。

graph TB subgraph "客户端" CLI["命令行 CLI"] Web["Web 浏览器"] Desktop["Electron 桌面应用"] end subgraph "后端 (Python/FastAPI)" API["REST/SSE/MCP 路由"] Agent["智能体与工具注册表"] Backtest["回测引擎与数据加载器"] Memory["会话/记忆/审计"] Security["安全策略/访问控制"] end subgraph "外部系统" LLM["大模型 Provider"] Data["行情/基本面数据源"] Broker["券商连接器"] end CLI --> API Web --> API Desktop --> API API --> Agent Agent --> Backtest Agent --> Memory Agent --> Security Backtest --> Data Agent --> LLM Agent --> Broker

图示来源 - agent/src/api/swarm_routes.py:1-81 - pyproject.toml:1-80 - frontend/package.json:1-58 - desktop/electron/package.json:1-86

章节来源 - pyproject.toml:1-80 - frontend/package.json:1-58 - desktop/electron/package.json:1-86

核心组件

章节来源 - README_zh.md:61-135 - README_zh.md:443-474

架构总览

下图展示了从用户输入到数据获取、智能体推理、回测执行与结果可视化的端到端流程。

sequenceDiagram participant U as "用户" participant C as "CLI/Web/Electron" participant A as "FastAPI 后端" participant AG as "智能体/工具" participant D as "数据加载器" participant B as "回测引擎" participant W as "Web 前端" U->>C : 输入研究问题/命令 C->>A : 发起请求(REST/SSE/MCP) A->>AG : 解析意图, 选择工具 AG->>D : 拉取行情/基本面(带fallback链) D-->>AG : 标准化OHLCV/面板数据 AG->>B : 生成信号并执行回测 B-->>AG : 指标/风险透视/产物 AG-->>A : 结构化结果(严格JSON/有限数值) A-->>W : SSE推送进度/结果 W-->>U : 图表/报告/对比视图

图示来源 - agent/src/api/swarm_routes.py:1-81 - README_zh.md:61-135

详细组件分析

智能体与工具生态

flowchart TD Start(["工具调用入口"]) --> Validate["参数校验与权限检查"] Validate --> |通过| Dispatch["路由到对应工具实现"] Validate --> |失败| FailClose["失败关闭并返回错误"] Dispatch --> Sandbox["沙箱/上下文注入"] Sandbox --> Execute["执行工具逻辑"] Execute --> Result{"结果是否有效"} Result --> |是| Redact["脱敏/格式化输出"] Result --> |否| RetryOrFail["重试或失败关闭"] Redact --> Return["返回结构化结果"] RetryOrFail --> Return FailClose --> Return

图示来源 - README_zh.md:61-135

章节来源 - README_zh.md:61-135

数据加载器与回测引擎

classDiagram class DataLoader { +name : string +markets : set +requires_auth : bool +is_available() bool +fetch(codes, start_date, end_date, interval, fields) dict } class BacktestEngine { +run(config) RunResult +validate(config) bool +metrics() Metrics } class MarketHooks { +_is_china_futures(code) bool +normalize_interval(interval) string } DataLoader <.. BacktestEngine : "提供标准化数据" BacktestEngine --> MarketHooks : "市场规则判断"

图示来源 - README_zh.md:443-474

章节来源 - README_zh.md:443-474

前端与桌面应用

graph LR FE["前端页面"] --> API["后端API"] DESK["Electron主进程"] --> API API --> SSE["SSE事件流"] SSE --> FE

图示来源 - frontend/package.json:1-58 - desktop/electron/package.json:1-86

章节来源 - frontend/package.json:1-58 - desktop/electron/package.json:1-86

依赖关系分析

graph TB P["Python后端"] --> F["FastAPI/Uvicorn"] P --> L["LangChain/LangGraph"] P --> D["Pandas/NumPy/DuckDB"] P --> S["数据源(tushare/yfinance/ccxt/...)"] P --> R["报告(Matplotlib/WeasyPrint)"] E["前端"] --> R1["React/Vite"] E --> C1["ECharts/i18n"] DT["桌面应用"] --> EL["Electron"] DT --> P

图示来源 - pyproject.toml:24-69 - agent/requirements.txt:1-69 - frontend/package.json:17-56 - desktop/electron/package.json:24-29

章节来源 - pyproject.toml:24-69 - agent/requirements.txt:1-69 - frontend/package.json:17-56 - desktop/electron/package.json:24-29

性能考量

[本节为通用性能建议,不直接分析具体代码文件]

故障排查指南

章节来源 - README_zh.md:61-135

结论

Vibe-Trading 以智能体为核心,将自然语言研究、多市场回测、企业级安全与多端交付整合为一体。其模块化架构(数据加载器、回测引擎、工具与技能、前后端与桌面壳)使得扩展新市场、新数据源与新工具变得简单可控。对于初学者,可通过 CLI 与 Web UI 快速上手;对于有经验的开发者,可通过 MCP、API 与源码扩展能力,满足机构级研究需求。

[本节为总结性内容,不直接分析具体代码文件]

附录:快速开始与使用示例

章节来源 - README_zh.md:61-135 - wiki/tutorials/vibe-trading-beginner-zh.html:606-643