GitHub · 项目涌现

HKUDS/Vibe-Trading

二〇二六年六月六日·★ 5,394·⑂ 1,105·Python·MIT ·最新发布 v0.1.7 · 2026-05-06 · GitHub 原仓库

HKUDS 的 Vibe-Trading 是 AI multi-agent 金融 workspace,基于 Python 3.11+、FastAPI、React 19,提供 CLI、Web UI、MCP。项目含 74 个 skills、29 个 swarm presets、27 个 tools、6 个 data sources,支持跨市场 backtest、策略导出、文档读取与安全认证配置。


📰 最新动态


💡 什么是 Vibe-Trading?

Vibe-Trading 是一个 AI 驱动的 multi-agent 金融 workspace,可将自然语言请求转化为可执行的交易策略、研究洞察和覆盖全球市场的 portfolio 分析。

核心能力:

自然语言 → 策略 — 描述一个想法;agent 编写、测试并导出交易代码 • 6 个 Data Sources,零配置 — A 股、港股/美股、crypto、futures 与 forex,自动 fallback • 29 个专家团队 — 面向投资、交易与风险的预置 multi-agent swarm 工作流 • 跨 Session Memory — 记住偏好和洞察;创建并演化可复用 skills • 7 个 Backtest Engines — 跨市场 composite testing,包含 statistical validation 与 4 个 optimizers • Multi-Platform Export — 一键导出到 TradingView、TDX(通达信/同花顺)和 MetaTrader 5


✨ 核心功能

8 个类别中的 74 个 Skills

类别 Skills 示例
Data Source 6 data-routing, tushare, yfinance, okx-market, akshare, ccxt
Strategy 17 strategy-generate, cross-market-strategy, technical-basic, candlestick, ichimoku, elliott-wave, smc, multi-factor, ml-strategy
Analysis 17 factor-research, macro-analysis, global-macro, valuation-model, earnings-forecast, credit-analysis, dividend-analysis
Asset Class 9 options-strategy, options-advanced, convertible-bond, etf-analysis, asset-allocation, sector-rotation
Crypto 7 perp-funding-basis, liquidation-heatmap, stablecoin-flow, defi-yield, onchain-analysis
Flow 7 hk-connect-flow, us-etf-flow, edgar-sec-filings, financial-statement, adr-hshare
Tool 10 backtest-diagnose, report-generate, pine-script, doc-reader, web-reader, vnpy-export
Risk Analysis 1 ashare-pre-st-filter

29 个 Agent Swarm Team Presets

Preset Workflow
investment_committee 多空辩论 → 风险审查 → PM 最终决策
global_equities_desk A 股 + 港股/美股 + crypto researcher → global strategist
crypto_trading_desk Funding/basis + liquidation + flow → risk manager
earnings_research_desk Fundamental + revision + options → earnings strategist
macro_rates_fx_desk Rates + FX + commodity → macro PM
quant_strategy_desk Screening + factor research → backtest → risk audit
technical_analysis_panel Classic TA + Ichimoku + harmonic + Elliott + SMC → consensus
risk_committee Drawdown + tail risk + regime review → sign-off
global_allocation_committee A 股 + crypto + 港股/美股 → cross-market allocation

另有 20+ 个 specialist presets——运行 vibe-trading --swarm-presets 查看全部。

🎬 Demo

https://github.com/user-attachments/assets/4e4dcb80-7358-4b9a-92f0-1e29612e6e86

https://github.com/user-attachments/assets/3754a414-c3ee-464f-b1e8-78e1a74fbd30


🚀 快速开始

一行安装(PyPI)

pip install vibe-trading-ai

Package name 与 commands: PyPI package 是 vibe-trading-ai。安装后,你会得到三个命令:

命令 用途
vibe-trading 交互式 CLI / TUI
vibe-trading serve 启动 FastAPI web server
vibe-trading-mcp 启动 MCP server(用于 Claude Desktop、OpenClaw、Cursor 等)
vibe-trading init              # interactive .env setup
vibe-trading                   # launch CLI
vibe-trading serve --port 8899 # launch web UI
vibe-trading-mcp               # start MCP server (stdio)

或选择一种路径

路径 最适合 时间
A. Docker 立即试用,零本地配置 2 分钟
B. 本地安装 开发、完整 CLI 访问 5 分钟
C. MCP plugin 接入你现有的 agent 3 分钟
D. ClawHub 一条命令,无需 clone 1 分钟

前置条件

支持的 LLM providers: OpenRouter、OpenAI、DeepSeek、Gemini、Groq、DashScope/Qwen、Zhipu、Moonshot/Kimi、MiniMax、Xiaomi MIMO、Z.ai、Ollama(本地)。配置见 .env.example

提示: 得益于自动 fallback,所有市场都无需 API keys 即可使用。yfinance(港股/美股)、OKX(crypto)和 AKShare(A 股、美股、港股、futures、forex)均免费。Tushare token 是可选项——AKShare 可作为 A 股免费 fallback。

路径 A:Docker(零配置)

git clone https://github.com/HKUDS/Vibe-Trading.git
cd Vibe-Trading
cp agent/.env.example agent/.env
# Edit agent/.env — uncomment your LLM provider and set API key
docker compose up --build

打开 http://localhost:8899。Backend + frontend 在同一个 container 中。

Docker 默认将 backend 发布在 127.0.0.1:8899,并以非 root container 用户运行 app。如果你有意将 API 暴露到本机之外,请设置强 API_AUTH_KEY,并让客户端发送 Authorization: Bearer <key>

路径 B:本地安装

git clone https://github.com/HKUDS/Vibe-Trading.git
cd Vibe-Trading
python -m venv .venv

# Activate
source .venv/bin/activate          # Linux / macOS
# .venv\Scripts\Activate.ps1       # Windows PowerShell

pip install -e .
cp agent/.env.example agent/.env   # Edit — set your LLM provider API key
vibe-trading                       # Launch interactive TUI
# Terminal 1: API server
vibe-trading serve --port 8899

# Terminal 2: Frontend dev server
cd frontend && npm install && npm run dev

打开 http://localhost:5899。Frontend 会将 API calls 代理到 localhost:8899

生产模式(单 server):

cd frontend && npm run build && cd ..
vibe-trading serve --port 8899     # FastAPI serves dist/ as static files

路径 C:MCP plugin

见下方 MCP Plugin 部分。

路径 D:ClawHub(一条命令)

npx clawhub@latest install vibe-trading --force

skill + MCP config 会下载到你的 agent skills 目录。详见 ClawHub install。


🧠 Environment Variables

agent/.env.example 复制到 agent/.env,并取消注释你想使用的 provider block。每个 provider 需要 3-4 个 variables:

Variable 必需 描述
LANGCHAIN_PROVIDER Provider name(openrouter, deepseek, groq, ollama 等)
<PROVIDER>_API_KEY 是* API key(OPENROUTER_API_KEY, DEEPSEEK_API_KEY 等)
<PROVIDER>_BASE_URL API endpoint URL
LANGCHAIN_MODEL_NAME Model name(如 deepseek/deepseek-v3.2
TUSHARE_TOKEN A 股数据的 Tushare Pro token(fallback 到 AKShare)
TIMEOUT_SECONDS LLM call timeout,默认 120s
API_AUTH_KEY 网络部署推荐 当 API 可被非本地客户端访问时需要的 Bearer token
VIBE_TRADING_ENABLE_SHELL_TOOLS 在远程 API/MCP-SSE 风格部署中显式启用 shell-capable tools
VIBE_TRADING_ALLOWED_FILE_ROOTS 额外的逗号分隔 roots,用于 document 和 broker-journal imports
VIBE_TRADING_ALLOWED_RUN_ROOTS 额外的逗号分隔 roots,用于 generated-code run directories

* Ollama 不需要 API key。OpenAI Codex 使用 ChatGPT OAuth,并通过 oauth-cli-kit 存储 tokens,不写入 agent/.env

免费数据(无需 key): 通过 AKShare 获取 A 股,通过 yfinance 获取港股/美股权益,通过 OKX 获取 crypto,通过 CCXT 获取 100+ crypto exchanges。系统会自动为每个市场选择最佳可用 source。

🎯 推荐 Models

Vibe-Trading 是 tool-heavy agent——skills、backtests、memory 和 swarms 都通过 tool calls 流转。Model 选择会直接决定 agent 是使用 tools,还是从训练数据中编造答案。

层级 示例 使用场景
最佳 anthropic/claude-opus-4.7, anthropic/claude-sonnet-4.6, openai/gpt-5.4, google/gemini-3.1-pro-preview 复杂 swarms(3+ agents)、长研究 sessions、论文级分析
平衡点(默认) deepseek/deepseek-v3.2, x-ai/grok-4.20, z-ai/glm-5.1, moonshotai/kimi-k2.5, qwen/qwen3-max-thinking 日常主力——可靠 tool-calling,成本约为高端模型的 1/10
Agent 使用中避免 *-nano, *-flash-lite, *-coder-next, 小型 / distilled variants Tool-calling 不可靠——agent 会看起来“凭记忆回答”,而不是加载 skills 或运行 backtests

默认 agent/.env.example 使用 deepseek/deepseek-v3.2——平衡点层级中成本最低的选项。


🖥 CLI Reference

vibe-trading               # interactive TUI
vibe-trading run -p "..."  # single run
vibe-trading serve         # API server
命令 描述
/help 显示所有命令
/skills 列出全部 74 个 finance skills
/swarm 列出 29 个 swarm team presets
/swarm run <preset> [vars_json] 以 live streaming 运行一个 swarm team
/swarm list Swarm run history
/swarm show <run_id> Swarm run details
/swarm cancel <run_id> 取消正在运行的 swarm
/list 最近 runs
/show <run_id> Run details + metrics
/code <run_id> 生成的 strategy code
/pine <run_id> 导出 indicators(TradingView + TDX + MT5)
/trace <run_id> 完整 execution replay
/continue <run_id> <prompt> 用新 instructions 继续一个 run
/sessions 列出 chat sessions
/settings 显示 runtime config
/clear 清屏
/quit 退出
vibe-trading run -p "Backtest BTC-USDT MACD strategy, last 30 days"
vibe-trading run -p "Analyze AAPL momentum" --json
vibe-trading run -f strategy.txt
echo "Backtest 000001.SZ RSI" | vibe-trading run
vibe-trading -p "your prompt"
vibe-trading --skills
vibe-trading --swarm-presets
vibe-trading --swarm-run investment_committee '{"topic":"BTC outlook"}'
vibe-trading --list
vibe-trading --show <run_id>
vibe-trading --code <run_id>
vibe-trading --pine <run_id>           # Export indicators (TradingView + TDX + MT5)
vibe-trading --trace <run_id>
vibe-trading --continue <run_id> "refine the strategy"
vibe-trading --upload report.pdf

💡 示例

Strategy 与 Backtesting

# Moving average crossover on US equities
vibe-trading run -p "Backtest a 20/50-day moving average crossover on AAPL for the past year, show Sharpe ratio and max drawdown"

# RSI mean-reversion on crypto
vibe-trading run -p "Test RSI(14) mean-reversion on BTC-USDT: buy below 30, sell above 70, last 6 months"

# Multi-factor strategy on A-shares
vibe-trading run -p "Backtest a momentum + value + quality multi-factor strategy on CSI 300 constituents over 2 years"

# After backtesting, export to TradingView / TDX / MetaTrader 5
vibe-trading --pine <run_id>

Market Research

# Equity deep-dive
vibe-trading run -p "Research NVDA: earnings trend, analyst consensus, option flow, and key risks for next quarter"

# Macro analysis
vibe-trading run -p "Analyze the current Fed rate path, USD strength, and impact on EM equities and gold"

# Crypto on-chain
vibe-trading run -p "Deep dive BTC on-chain: whale flows, exchange balances, miner activity, and funding rates"

Swarm Workflows

# Bull/bear debate on a stock
vibe-trading --swarm-run investment_committee '{"topic": "Is TSLA a buy at current levels?"}'

# Quant strategy from screening to backtest
vibe-trading --swarm-run quant_strategy_desk '{"universe": "S&P 500", "horizon": "3 months"}'

# Crypto desk: funding + liquidation + flow → risk manager
vibe-trading --swarm-run crypto_trading_desk '{"asset": "ETH-USDT", "timeframe": "1w"}'

# Global macro portfolio allocation
vibe-trading --swarm-run macro_rates_fx_desk '{"focus": "Fed pivot impact on EM bonds"}'

跨 Session Memory

# Save your preferences once
vibe-trading run -p "Remember: I prefer RSI-based strategies, max 10% drawdown, hold period 5–20 days"

# The agent recalls them in future sessions automatically
vibe-trading run -p "Build a crypto strategy that fits my risk profile"

上传并分析 Documents

# Analyze a broker export or earnings report
vibe-trading --upload trades_export.csv
vibe-trading run -p "Profile my trading behavior and identify any biases"

vibe-trading --upload NVDA_Q1_earnings.pdf
vibe-trading run -p "Summarize the key risks and beats/misses from this earnings report"

🌐 API Server

vibe-trading serve --port 8899
Method Endpoint 描述
GET /runs 列出 runs
GET /runs/{run_id} Run details
GET /runs/{run_id}/pine Multi-platform indicator export
POST /sessions 创建 session
POST /sessions/{id}/messages 发送 message
GET /sessions/{id}/events SSE event stream
POST /upload 上传 PDF/file
GET /swarm/presets 列出 swarm presets
POST /swarm/runs 启动 swarm run
GET /swarm/runs/{id}/events Swarm SSE stream
GET /settings/llm 读取 Web UI LLM settings
PUT /settings/llm 更新本地 LLM settings
GET /settings/data-sources 读取本地 data source settings
PUT /settings/data-sources 更新本地 data source settings

交互式文档:http://localhost:8899/docs

安全默认设置

对于 localhost 开发,vibe-trading serve 会保持浏览器工作流简单。对于任何非本地客户端,敏感 API endpoints 需要 API_AUTH_KEY;JSON/upload requests 使用 Authorization: Bearer <key>。Browser EventSource streams 会在你在 Settings 中输入同一个 key 后由 Web UI 处理。

Shell-capable tools 可用于本地 CLI 和可信 localhost workflows,但不会暴露给远程 API sessions,除非你显式设置 VIBE_TRADING_ENABLE_SHELL_TOOLS=1。Document 和 journal readers 默认限制在 upload/import roots 中;请将文件放在 agent/uploadsagent/runs./uploads./data~/.vibe-trading/uploads~/.vibe-trading/imports 下,或通过 VIBE_TRADING_ALLOWED_FILE_ROOTS 添加专用目录。

Web UI Settings

Web UI Settings 页面允许本地用户更新 LLM provider/model、base URL、generation parameters、reasoning effort,以及可选的市场数据凭据(如 Tushare token)。Settings 会持久化到 agent/.env;provider defaults 从 agent/src/providers/llm_providers.json 加载。

Settings 读取没有副作用:GET /settings/llmGET /settings/data-sources 永远不会创建 agent/.env,并且只返回 project-relative paths。Settings 读写可能暴露 credential state 或更新 credentials/runtime environment,因此在配置了 API_AUTH_KEY 时需要认证。如果 dev mode 下未设置 API_AUTH_KEY,settings access 只接受 loopback clients。


🔌 MCP Plugin

Vibe-Trading 为任何 MCP-compatible client 暴露 22 个 MCP tools。作为 stdio subprocess 运行——无需 server setup。22 个 tools 中有 21 个可零 API keys 使用(港股/美股/crypto)。只有 run_swarm 需要 LLM key。

添加到 claude_desktop_config.json

{
  "mcpServers": {
    "vibe-trading": {
      "command": "vibe-trading-mcp"
    }
  }
}

添加到 ~/.openclaw/config.yaml

skills:
  - name: vibe-trading
    command: vibe-trading-mcp
vibe-trading-mcp                  # stdio (default)
vibe-trading-mcp --transport sse  # SSE for web clients

暴露的 MCP tools(22): list_skills, load_skill, backtest, factor_analysis, analyze_options, pattern_recognition, get_market_data, web_search, read_url, read_document, read_file, write_file, analyze_trade_journal, extract_shadow_strategy, run_shadow_backtest, render_shadow_report, scan_shadow_signals, list_swarm_presets, run_swarm, get_swarm_status, get_run_result, list_runs.

npx clawhub@latest install vibe-trading --force

因为该 skill 引用了外部 APIs,会触发 VirusTotal 的自动扫描,所以需要 --force。代码完全开源,可自行检查。

这会将 skill + MCP config 下载到你的 agent skills 目录。无需 clone。

在 ClawHub 浏览:clawhub.ai/skills/vibe-trading

全部 74 个 finance skills 都发布在 open-space.cloud,并通过 OpenSpace 的 self-evolution engine 自主演化。

要与 OpenSpace 一起使用,请将两个 MCP servers 添加到你的 agent config:

{
  "mcpServers": {
    "openspace": {
      "command": "openspace-mcp",
      "toolTimeout": 600,
      "env": {
        "OPENSPACE_HOST_SKILL_DIRS": "/path/to/vibe-trading/agent/src/skills",
        "OPENSPACE_WORKSPACE": "/path/to/OpenSpace"
      }
    },
    "vibe-trading": {
      "command": "vibe-trading-mcp"
    }
  }
}

OpenSpace 会自动发现全部 74 个 skills,启用 auto-fix、auto-improve 和 community sharing。在任何连接 OpenSpace 的 agent 中,通过 search_skills("finance backtest") 搜索 Vibe-Trading skills。


📁 Project Structure

Vibe-Trading/
├── agent/                          # Backend (Python)
│   ├── cli.py                      # CLI entrypoint — interactive TUI + subcommands
│   ├── api_server.py               # FastAPI server — runs, sessions, upload, swarm, SSE
│   ├── mcp_server.py               # MCP server — 22 tools for OpenClaw / Claude Desktop
│   │
│   ├── src/
│   │   ├── agent/                  # ReAct agent core
│   │   │   ├── loop.py             #   5-layer compression + read/write tool batching
│   │   │   ├── context.py          #   system prompt + auto-recall from persistent memory
│   │   │   ├── skills.py           #   skill loader (74 bundled + user-created via CRUD)
│   │   │   ├── tools.py            #   tool base class + registry
│   │   │   ├── memory.py           #   lightweight workspace state per run
│   │   │   ├── frontmatter.py      #   shared YAML frontmatter parser
│   │   │   └── trace.py            #   execution trace writer
│   │   │
│   │   ├── memory/                 # Cross-session persistent memory
│   │   │   └── persistent.py       #   file-based memory (~/.vibe-trading/memory/)
│   │   │
│   │   ├── tools/                  # 27 auto-discovered agent tools
│   │   │   ├── backtest_tool.py    #   run backtests
│   │   │   ├── remember_tool.py    #   cross-session memory (save/recall/forget)
│   │   │   ├── skill_writer_tool.py #  skill CRUD (save/patch/delete/file)
│   │   │   ├── session_search_tool.py # FTS5 cross-session search
│   │   │   ├── swarm_tool.py       #   launch swarm teams
│   │   │   ├── web_search_tool.py  #   DuckDuckGo web search
│   │   │   └── ...                 #   bash, file I/O, factor analysis, options, etc.
│   │   │
│   │   ├── skills/                 # 74 finance skills in 8 categories (SKILL.md each)
│   │   ├── swarm/                  # Swarm DAG execution engine
│   │   │   └── presets/            #   29 swarm preset YAML definitions
│   │   ├── session/                # Multi-turn chat + FTS5 session search
│   │   └── providers/              # LLM provider abstraction
│   │
│   └── backtest/                   # Backtest engines
│       ├── engines/                #   7 engines + composite cross-market engine + options_portfolio
│       ├── loaders/                #   6 sources: tushare, okx, yfinance, akshare, ccxt, futu
│       │   ├── base.py             #   DataLoader Protocol
│       │   └── registry.py         #   Registry + auto-fallback chains
│       └── optimizers/             #   MVO, equal vol, max div, risk parity
│
├── frontend/                       # Web UI (React 19 + Vite + TypeScript)
│   └── src/
│       ├── pages/                  #   Home, Agent, RunDetail, Compare
│       ├── components/             #   chat, charts, layout
│       └── stores/                 #   Zustand state management
│
├── Dockerfile                      # Multi-stage build
├── docker-compose.yml              # One-command deploy
├── pyproject.toml                  # Package config + CLI entrypoint
└── LICENSE                         # MIT

🏛 生态

Vibe-Trading 是 HKUDS agent 生态的一部分:


🗺 Roadmap

我们分阶段交付。工作开始后,条目会移动到 Issues

阶段 功能 状态
Research Autopilot Overnight research loop:hypothesis → data pull → backtest → evidence report 进行中
Data Bridge Bring-your-own data:带 schema mapping 的本地 CSV/Parquet/SQL connectors 计划中
Options Lab Vol surface、Greeks dashboard、payoff/scenario explorer 计划中
Portfolio Studio Risk x-ray、constraints、turnover-aware optimizer、rebalance notes 计划中
Alpha Zoo Alpha101 / Alpha158 / Alpha191 factor libraries,带 screening + IC tests 计划中
Research Delivery 定时 briefs 到 Slack / Telegram / email-style channels 计划中
Trust Layer 可复现 run cards:tool trace、data sources、assumptions、citations 计划中
Community 可分享的 skills、presets 和 strategy cards 探索中

贡献

欢迎贡献!指南见 CONTRIBUTING.md。

Good first issues 标记为 good first issue——选择一个即可开始。

想贡献更大的内容?请先查看上方 Roadmap,并在开始前 open an issue 讨论。


贡献者

感谢所有为 Vibe-Trading 做出贡献的人!

近期 v0.1.7 周期贡献者与致谢:


免责声明

Vibe-Trading 仅用于研究、模拟和 backtesting。它不是投资建议,也不会执行实盘交易。过往表现不保证未来结果。

License

MIT License — 见 LICENSE


Star History

Star History Chart


同时见于 gh-search:llm、gh-search:ai-agent、gh-search:mcp
译自 GitHub · 项目涌现 · 录于 二〇二六年六月六日