HKUDS/Vibe-Trading
GitHub: HKUDS/Vibe-Trading
Vibe-Trading:您的个人交易代理
Stars: 10975 | Forks: 2151
## 🖥 CLI 参考文档
交互式 TUI (`vibe-trading`) 现在使用终端原生转写:启动横幅、提示规则、上一轮回顾、实时活动栏、Markdown/表格渲染和运行计时都保持在 CLI 中。非交互式调用,如 `vibe-trading run`、管道和 `--json`,仍然适用于脚本。
```
vibe-trading # interactive TUI
vibe-trading run -p "..." # single run
vibe-trading serve # API server
vibe-trading alpha list # browse 452 pre-built alphas; show / bench / compare / export-manifest sub-commands available
```
[vars_json]` | 运行带有实时流式的蜂群团队 |
| `/swarm list` | 蜂群运行历史 |
| `/swarm show ` | 蜂群运行详情 |
| `/swarm cancel ` | 取消正在运行的蜂群 |
| `/list` | 最近运行 |
| `/show ` | 运行详情 + 指标 |
| `/code ` | 生成的策略代码 |
| `/pine ` | 导出指标(TradingView + TDX + MT5) |
| `/trace ` | 完整执行回放 |
| `/continue ` | 使用新指令继续运行 |
| `/sessions` | 列出聊天会话 |
| `/settings` | 显示运行时配置 |
| `/clear` | 清屏 |
| `/quit` | 退出 |
vibe-trading --code
vibe-trading --pine # Export indicators (TradingView + TDX + MT5)
vibe-trading --trace
vibe-trading --continue "refine the strategy"
vibe-trading --upload report.pdf
```
```
vibe-trading alpha list --zoo gtja191 --limit 10
vibe-trading alpha show gtja191_171
vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20
```
## 💡 示例
### 策略 & 回测
```
# 移动平均线交叉应用于美国股票
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均值回归应用于加密货币
vibe-trading run -p "Test RSI(14) mean-reversion on BTC-USDT: buy below 30, sell above 70, last 6 months"
# A股多因子策略
vibe-trading run -p "Backtest a momentum + value + quality multi-factor strategy on CSI 300 constituents over 2 years"
# 回测后导出到TradingView / TDX / MetaTrader 5
vibe-trading --pine
```
**基准测试预构建的 alpha 狮群**(一行):
```
vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20
```
**浏览目录**并检查单个 alpha:
```
vibe-trading alpha list --zoo gtja191 --theme reversal --limit 10
vibe-trading alpha show gtja191_171
```
**从狮群中组合多因素信号**(Python):
```
from src.skills.multi_factor.zoo_signal_engine import ZooSignalEngine
engine = ZooSignalEngine.from_zoo(["gtja191_171", "gtja191_111", "gtja191_163"])
panel = ... # your wide OHLCV panel
signal = engine.compute_signal(panel)
```
### 市场研究
```
# 股票深度分析
vibe-trading run -p "Research NVDA: earnings trend, analyst consensus, option flow, and key risks for next quarter"
# 宏观经济分析
vibe-trading run -p "Analyze the current Fed rate path, USD strength, and impact on EM equities and gold"
# 加密货币链上分析
vibe-trading run -p "Deep dive BTC on-chain: whale flows, exchange balances, miner activity, and funding rates"
```
### 蜂群工作流程
```
# 股票的牛市/熊市辩论
vibe-trading --swarm-run investment_committee '{"topic": "Is TSLA a buy at current levels?"}'
# 从筛选到回测的量化策略
vibe-trading --swarm-run quant_strategy_desk '{"universe": "S&P 500", "horizon": "3 months"}'
# 加密货币部门:融资 + 清算 + 流量 → 风险管理
vibe-trading --swarm-run crypto_trading_desk '{"asset": "ETH-USDT", "timeframe": "1w"}'
# 全球宏观经济投资组合配置
vibe-trading --swarm-run macro_rates_fx_desk '{"focus": "Fed pivot impact on EM bonds"}'
```
### 跨会话内存
```
# 保存您的偏好一次
vibe-trading run -p "Remember: I prefer RSI-based strategies, max 10% drawdown, hold period 5–20 days"
# 代理将在未来的会话中自动回忆
vibe-trading run -p "Build a crypto strategy that fits my risk profile"
```
### 上传 & 分析文档
```
# 分析经纪商导出或收益报告
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 服务器
```
vibe-trading serve --port 8899
```
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| `GET` | `/runs` | 列出运行 |
| `GET` | `/runs/{run_id}` | 运行详情 |
| `GET` | `/runs/{run_id}/pine` | 多平台指标导出 |
| `POST` | `/sessions` | 创建会话 |
| `POST` | `/sessions/{id}/messages` | 发送消息 |
| `GET` | `/sessions/{id}/events` | SSE 事件流 |
| `POST` | `/upload` | 上传 PDF/文件 |
| `GET` | `/swarm/presets` | 列出蜂群预设 |
| `POST` | `/swarm/runs` | 开始蜂群运行 |
| `GET` | `/swarm/runs/{id}/events` | 蜂群 SSE 流 |
| `GET` | `/alpha/list` | 列出 alpha(按动物园/主题/宇宙过滤) |
| `GET` | `/alpha/{alpha_id}` | Alpha 元数据 + 源代码 |
| `POST` | `/alpha/bench` | 开始基准测试作业(返回 `job_id`) |
| `GET` | `/alpha/bench/{job_id}/stream` | SSE 进度流 |
| `GET` | `/settings/llm` | 读取 Web UI LLM 设置 |
| `PUT` | `/settings/llm` | 更新本地 LLM 设置 |
| `GET` | `/settings/data-sources` | 读取本地数据源设置 |
| `PUT` | `/settings/data-sources` | 更新本地数据源设置 |
交互式文档:`http://localhost:8899/docs`
### 安全默认值
对于本地开发,`vibe-trading serve` 保持浏览器工作流程简单。对于任何非本地客户端,敏感的 API 端点需要 `API_AUTH_KEY`;对于 JSON/upload 请求,使用 `Authorization: Bearer `。浏览器 EventSource 流在您在设置中输入相同的密钥一次后由 Web UI 处理。
具有 Shell 功能的工具可用于本地 CLI 和受信任的本地工作流程,但除非您明确设置 `VIBE_TRADING_ENABLE_SHELL_TOOLS=1`,否则不会暴露给远程 API 会话。默认情况下,文档和日志阅读器仅限于上传/导入根目录;将文件放在 `agent/uploads`、`agent/runs`、`./uploads`、`./data`、`~/.vibe-trading/uploads` 或 `~/.vibe-trading/imports` 之下,或通过 `VIBE_TRADING_ALLOWED_FILE_ROOTS` 添加专用目录。
### Web UI 设置
Web UI 设置页面允许本地用户更新 LLM 提供商/模型、基本 URL、生成参数、推理努力程度以及可选的市场数据凭据,例如 Tushare 令牌。设置持久化到 `agent/.env`;提供者默认值从 `agent/src/providers/llm_providers.json` 加载。
设置读取没有副作用:`GET /settings/llm` 和 `GET /settings/data-sources` 从不创建 `agent/.env`,并且它们只返回项目相关路径。设置读取和写入可以暴露凭据状态或更新凭据/运行时环境,因此当配置时需要 `API_AUTH_KEY`。如果开发模式未设置 `API_AUTH_KEY`,则仅接受来自回环客户端的设置访问。
## 🔌 MCP 插件
Vibe-Trading 向任何 MCP 兼容客户端公开 36 个 MCP 工具。作为 stdio 子进程运行——无需设置服务器。核心研究工具无需 HK/US/crypto 的 API 密钥即可工作;交易连接器工具使用所选连接器配置文件,而 `run_swarm` 需要LLM 密钥。
**公开的 MCP 工具(36 个):** `list_skills`、`load_skill`、`start_research_goal`、`get_research_goal`、`add_goal_evidence`、`update_research_goal_status`、`backtest`、`factor_analysis`、`analyze_options`、`pattern_recognition`、`read_url`、`read_document`、`web_search`、`write_file`、`read_file`、`list_swarm_presets`、`run_swarm`、`get_market_data`、`get_swarm_status`、`get_run_result`、`list_runs`、`reap_stale_runs`、`retry_run`、`analyze_trade_journal`、`extract_shadow_strategy`、`run_shadow_backtest`、`render_shadow_report`、`scan_shadow_signals`、`trading_connections`、`trading_select_connection`、`trading_check`、`trading_account`、`trading_positions`、`trading_orders`、`trading_quote`、`trading_history`。
### SWARM 外部 MCP 工具
`run_swarm` 工作者可以调用来自外部 MCP 服务器的经过运营商批准的工具。在 `VIBE_TRADING_SWARM_AGENT_CONFIG`、`~/.vibe-trading/swarm-agent.json` 或回退 `~/.vibe-trading/agent.json` 中配置服务器端允许列表;然后使用本地 MCP 包装器名称(例如 `mcp_internal_kb_search`)在蜂群预设中列出远程工具;调用者提供的 `variables` 保持模板数据仅限,并且不能注入 MCP URL、命令、环境变量或允许列表覆盖。
## 🔌 从外部 MCP 服务器加载工具(MCP 客户端模式)
### 快速入门
创建 `~/.vibe-trading/agent.json`:
```
{
"mcpServers": {
"my-server": {
"command": "uvx",
"args": ["my-mcp-server"]
}
}
}
```
运行任何 CLI 命令——普通外部服务器的工具在本地工具之后自动注入到代理的注册表中:
```
vibe-trading run "use my-server to do X"
```
### 官方 IBKR MCP 只读探测
Vibe-Trading 可以以只读模式直接连接到 Interactive Brokers 的官方远程 MCP 端点。将其添加到 `~/.vibe-trading/agent.json`:
```
{
"mcpServers": {
"ibkr": {
"type": "streamableHttp",
"url": "https://api.ibkr.com/v1/api/mcp",
"auth": {
"type": "oauth",
"scopes": ["mcp.read"],
"clientName": "Vibe-Trading",
"cacheDir": "~/.vibe-trading/live/ibkr/oauth"
},
"enabledTools": ["*"]
}
}
}
```
然后启动浏览器 OAuth 流:
```
vibe-trading connector authorize ibkr-live-official-mcp-readonly
```
通配符仅适用于 IBKR 的 `mcp.read` 探测。授权此配置文件确认了对 IBKR 官方读取范围的访问;通用的 `trading_account` 和 `trading_positions` 调用保持禁用,直到 IBKR 发布稳定的读取工具名称,Vibe-Trading 可以安全映射。添加 `mcp.write` 的配置必须固定显式工具允许列表,并且仍然通过实时订单守卫传递。
如果 IBKR 发布了预注册的 OAuth 客户端,请将 `clientId` 和 `clientSecret` 添加到 `auth` 内部。
### 交易连接器:最快路径
对于无法等待 IBKR OAuth 客户端批准的用户,连接到本地 TWS 或 IB Gateway 会话。凭据保留在 IBKR 的桌面应用程序中;Vibe-Trading 仅连接到 `127.0.0.1` 并将其公开为连接器配置文件。
安装可选的 SDK:
```
pip install "vibe-trading-ai[ibkr]"
```
打开 TWS 纸质交易或 IB Gateway 纸质,启用 API 套接字客户端,然后运行:
```
vibe-trading connector list
vibe-trading connector use ibkr-paper-local
vibe-trading connector configure ibkr-paper-local --yes
vibe-trading connector check
vibe-trading connector account
vibe-trading connector positions
vibe-trading connector orders
vibe-trading connector quote AAPL
vibe-trading connector history AAPL --duration "30 D" --bar-size "1 day"
```
默认本地端口:
| 应用 | 纸质 | 实时只读 |
|-----|-------|----------------|
| TWS | `7497` | `7496` |
| IB Gateway | `4002` | `4001` |
代理公开了连接器范围内的工具,名称为 `trading_connections`、`trading_select_connection`、`trading_check`、`trading_account`、`trading_positions`、`trading_orders`、`trading_quote` 和 `trading_history`。
实时经纪人原始 MCP 工具不会直接注册为 `mcp__*`。
没有注册任何 IBKR 订单放置工具。
### 配置参考
| 字段 | 类型 | 默认 | 描述 |
|-------|------|---------|-------------|
| `type` | string | inferred for stdio; required for HTTP | Omit for stdio, or set to `sse` / `streamableHttp` for URL-based servers. |
| `command` | string | required for stdio | Executable to spawn for stdio servers. Invalid for `sse` / `streamableHttp` servers. |
| `args` | array | `[]` | 仅适用于 stdio 服务器的命令行参数。 |
| `env` | object | `{}` | 仅适用于 std
TUI 内部斜杠命令
| 命令 | 描述 | |---------|-------------| | `/help` | 显示所有命令 | | `/skills` | 列出所有 77 个金融技能 | | `/swarm` | 列出 29 个蜂群团队预设 | | `/swarm run单个运行 & 标志
``` 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 --showClaude 桌面版
添加到 `claude_desktop_config.json`: ``` { "mcpServers": { "vibe-trading": { "command": "vibe-trading-mcp" } } } ```OpenClaw
添加到 `~/.openclaw/config.yaml`: ``` skills: - name: vibe-trading command: vibe-trading-mcp ``` 对于首次仅进行研究的烟雾测试,在选择交易连接器配置文件之前,确认工具发现并运行市场数据或回测请求。核心研究工具可以在没有经纪人凭据的情况下运行;连接器支持的 `trading_*` 工具应在您有意选择并检查连接器配置文件后使用。`run_swarm` 需要 LLM 密钥。Cursor / Windsurf / 其他 MCP 客户端
``` vibe-trading-mcp # stdio (default) vibe-trading-mcp --transport sse # SSE for web clients ```从 ClawHub 安装(一条命令)
``` npx clawhub@latest install vibe-trading --force ``` 这会将技能 + MCP 配置下载到您的代理技能目录中。无需克隆。 在 ClawHub 上浏览:[clawhub.ai/skills/vibe-trading](https://clawhub.ai/skills/vibe-trading)OpenSpace — 自进化技能
所有 77 个金融技能都发布在 [open-space.cloud](https://open-space.cloud) 上,并通过 OpenSpace 的自进化引擎自主进化。 要使用 OpenSpace,请将两个 MCP 服务器添加到您的代理配置: ``` { "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 将自动发现所有 77 个技能,并启用自动修复、自动改进和社区共享。在任何 OpenSpace 连接的代理中通过 `search_skills("finance backtest")` 搜索 Vibe-Trading 技能。标签:API安全, API服务器, JSON输出, Markdown渲染, 个人金融助手, 交互式命令, 交易代理, 交易会话管理, 交易分析, 交易分析工具, 交易历史, 交易历史记录, 交易回放, 交易回测, 交易团队, 交易执行, 交易技能, 交易指标, 交易指标导出, 交易数据导出, 交易数据管道, 交易监控, 交易策略, 交易策略代码, 交易策略生成, 交易视图, 交易设置, 交易配置, 交易预设, 命令行界面, 屏幕清除, 文档结构分析, 终端用户界面, 脚本友好, 退出程序, 逆向工具, 量化交易, 金融分析