Skip to content

Repository files navigation

AlphaPilot:智能金融研究 Agent | 基于 AKShare | 多 LLM 支持 | 多 Agent 协作深度分析

快速开始功能特性使用指南配置说明架构设计


项目简介

AlphaPilot 是一个智能金融研究 Agent,基于大语言模型并集成 AKShare 数据接口,通过多 Agent 协作完成股票、基金、期货、指数、宏观经济等全方位投资研究。支持 CLI 命令行和 Web 前端两种交互方式。

核心特性

  • 多 Agent 协作 — 四分析师 + 多空辩论 + 风险三方评估,基于 LangGraph StateGraph 编排
  • Web 前端 — React 前端界面,实时 SSE 流式展示分析过程
  • CLI 命令行 — Typer + Rich 终端界面,美观的交互体验
  • 节点级耗时打点 — 每个 Agent 节点执行后实时显示耗时
  • 完整中间报告 — 市场/基本面/新闻/宏观报告、辩论过程、风险评估均完整展示
  • 丰富数据源 — 35+ 金融数据工具,覆盖 A 股、港股、基金、期货、指数、宏观及行业板块
  • 多 LLM 支持 — 15+ 主流 LLM 提供商(国产 + 海外 + 本地),兼容 OpenAI / Anthropic 格式
  • 智能备用切换 — 东方财富 + 新浪 + 同花顺多数据源自动切换与重试
  • 缓存友好 — 股票列表缓存 6 小时,部分行情接口缓存 1 分钟
  • 错误恢复 — 失败重试、降级替代及保护逻辑

架构设计

AlphaPilot 采用 LangGraph StateGraph 编排多 Agent 协作流程,分三个阶段串行执行:

START
  ↓
┌─────────────────────────────────────────────┐
│  阶段一:数据收集与分析                        │
│                                             │
│  📈 市场分析师   ← 行情 / 指数 / 板块工具       │
│       ↓                                     │
│  📊 基本面分析师 ← 财务 / 资金流 / 龙虎榜工具   │
│       ↓                                     │
│  📰 新闻分析师   ← 新闻 / 公告工具             │
│       ↓                                     │
│  🏛️ 宏观分析师   ← CPI / PPI / PMI / GDP 工具 │
└─────────────────────────────────────────────┘
  ↓
┌─────────────────────────────────────────────┐
│  阶段二:投资辩论(多空对决)                   │
│                                             │
│  🐂 多头研究员 ⇄ 🐻 空头研究员(1–3 轮)       │
│       ↓                                     │
│  👔 研究经理 → 初步投资建议 + 评级              │
└─────────────────────────────────────────────┘
  ↓
┌─────────────────────────────────────────────┐
│  阶段三:风险评估(三方辩论)                   │
│                                             │
│  🔥 激进分析师 ⇄ 🛡️ 保守分析师 ⇄ ⚖️ 中性分析师 │
│       ↓                                     │
│  💼 投资组合经理 → 最终研究结论                 │
└─────────────────────────────────────────────┘
  ↓
END

最终输出结构:

  • 评级:Buy / Overweight / Hold / Underweight / Sell
  • 信心水平:High / Medium / Low
  • 详细推理过程
  • 行动建议列表

快速开始

环境要求

  • Python >= 3.10
  • Node.js >= 18(仅 Web 前端需要)

安装

# 克隆仓库
git clone <repo-url>
cd AlphaPilot

# 安装 Python 依赖(使用 uv)
uv sync

# 安装前端依赖(可选,仅 Web 模式需要)
cd frontend && npm install

配置

创建 .env 文件并配置 API 密钥(可参考 .env.example):

# 推荐:DeepSeek
DEEPSEEK_API_KEY=your_api_key_here
OPENFR_PROVIDER=deepseek
OPENFR_MODEL=deepseek-chat

# 或使用智谱 AI
ZHIPU_API_KEY=your_api_key_here
OPENFR_PROVIDER=zhipu
OPENFR_MODEL=glm-4.7

更多提供商与配置项请参考下方 配置说明 章节。

启动

方式一:CLI 命令行

# 交互式对话
uv run alphapilot chat

# 单次查询
uv run alphapilot query "贵州茅台值得买吗?" --target 贵州茅台

# 列出可用工具
uv run alphapilot tools

# 列出支持的提供商
uv run alphapilot providers

方式二:Web 界面

# 启动后端服务
uv run alphapilot-server

# 另开终端,启动前端开发服务器
cd frontend && npm run dev

# 浏览器访问 http://localhost:5173

使用指南

CLI 交互式对话

uv run alphapilot chat
uv run alphapilot chat -p deepseek
uv run alphapilot chat -p zhipu -m glm-4-plus

启动后直接输入问题:

你: 贵州茅台今天股价多少?
你: 分析今天的热门板块
你: 上证指数走势如何?
你: 比亚迪值得买吗?

每个 Agent 节点完成后会显示耗时:

📈 市场分析师 · ✓ 市场分析报告已生成 (951 字符) 28.3s
📊 基本面分析师 · ✓ 基本面分析报告已生成 (778 字符) 31.7s
...
⏱ 共执行 11 个节点,用时 363.5 秒

CLI 单次查询

uv run alphapilot query "贵州茅台值得买吗?" --target 贵州茅台
uv run alphapilot query "上证指数今天表现如何?"
uv run alphapilot query "分析比亚迪的投资价值" --target 比亚迪 -p zhipu

Web 前端

打开浏览器后,在输入框中输入研究问题,系统会实时展示:

  • 三阶段进度条
  • 各分析师报告(可展开/折叠)
  • 多空辩论过程
  • 风险评估详情
  • 最终投资结论

支持的查询类型

类别 示例
A 股 查询 000001 的实时行情、贵州茅台最近一周的走势、搜索新能源相关股票
港股 查询港股 00700 的实时行情、腾讯控股今天股价
基金 查询 510300 的 ETF 数据、股票型基金排行榜
指数/板块 上证指数今天走势、今天涨幅最大的行业板块
宏观经济 最新的 CPI 数据、近期 GDP 增长情况、PMI 指数走势

配置说明

模型配置

.env 中设置提供商和模型:

OPENFR_PROVIDER=deepseek       # 提供商名称
OPENFR_MODEL=deepseek-chat     # 模型名称(留空则使用默认)
DEEPSEEK_API_KEY=your_api_key   # 对应提供商的 API Key
provider API Key 环境变量 默认模型
deepseek DEEPSEEK_API_KEY deepseek-chat
doubao DOUBAO_API_KEY doubao-1-5-pro-256k
dashscope DASHSCOPE_API_KEY qwen-max
zhipu ZHIPU_API_KEY glm-4.7
modelscope MODELSCOPE_API_KEY qwen2.5-72b-instruct
kimi KIMI_API_KEY moonshot-v1-128k
stepfun STEPFUN_API_KEY step-2-16k
minimax MINIMAX_API_KEY MiniMax-Text-01
openai OPENAI_API_KEY gpt-4o
anthropic ANTHROPIC_API_KEY claude-sonnet-4-20250514
openrouter OPENROUTER_API_KEY anthropic/claude-sonnet-4
together TOGETHER_API_KEY meta-llama/Llama-3.3-70B-Instruct-Turbo
groq GROQ_API_KEY llama-3.3-70b-versatile
ollama OLLAMA_BASE_URL qwen2.5:14b
custom CUSTOM_API_KEY + CUSTOM_BASE_URL 需指定

也可运行时通过 -p / -m 参数切换:

uv run alphapilot chat -p deepseek
uv run alphapilot chat -p openai -m gpt-4o

其他配置

# 调整辩论轮数
OPENFR_MAX_DEBATE_ROUNDS=1          # 多空辩论轮数(默认 1)
OPENFR_MAX_RISK_DISCUSS_ROUNDS=1    # 风险辩论轮数(默认 1)

# 自定义 OpenAI 兼容接口
OPENFR_PROVIDER=custom
CUSTOM_BASE_URL=https://your-api.example.com
CUSTOM_API_KEY=your-api-key
CUSTOM_API_STYLE=openai

项目结构

AlphaPilot/
├── src/openfr/              # 后端 Python 包
│   ├── cli.py               # CLI 入口(Typer)
│   ├── config.py            # 配置管理
│   ├── formatter.py         # 终端输出格式化
│   ├── graph/               # LangGraph 图编排
│   ├── agents/              # 多 Agent 实现
│   │   ├── analysts/        # 市场/基本面/新闻/宏观分析师
│   │   ├── researchers/     # 多头/空头研究员
│   │   ├── managers/        # 研究经理/投资组合经理
│   │   └── risk_mgmt/       # 激进/保守/中性风险评估
│   ├── tools/               # 35+ AKShare 金融数据工具
│   └── api/                 # FastAPI Web 服务
├── frontend/                # React 前端
│   ├── src/
│   │   ├── App.tsx
│   │   ├── hooks/useSSE.ts  # SSE 流式消费
│   │   └── components/      # UI 组件
│   └── package.json
├── docs/                    # 文档
├── tests/                   # 测试
├── pyproject.toml           # 项目配置
└── .env.example             # 环境变量模板

故障排查

API Key 未配置

# 在 .env 文件中添加
DEEPSEEK_API_KEY=your-api-key-here

网络连接错误

系统会自动重试(最多 3 次)并切换备用数据源。如持续失败,请检查网络。

数据接口不可用

非交易时间(工作日 9:30–15:00)部分实时数据不可用,可使用历史数据接口替代。

执行速度慢

多 Agent 模式最少需要 ~15 次串行 LLM 调用,耗时受模型响应速度影响较大。建议:

  • 使用响应速度快的模型(如 groq、deepseek)
  • 调低 OPENFR_MAX_DEBATE_ROUNDS
  • 查看节点耗时标注定位慢节点

⬆ 回到顶部

Made with ❤️ by jrf

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages