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 ```
TUI 内部斜杠命令 | 命令 | 描述 | |---------|-------------| | `/help` | 显示所有命令 | | `/skills` | 列出所有 77 个金融技能 | | `/swarm` | 列出 29 个蜂群团队预设 | | `/swarm run [vars_json]` | 运行带有实时流式的蜂群团队 | | `/swarm list` | 蜂群运行历史 | | `/swarm show ` | 蜂群运行详情 | | `/swarm cancel ` | 取消正在运行的蜂群 | | `/list` | 最近运行 | | `/show ` | 运行详情 + 指标 | | `/code ` | 生成的策略代码 | | `/pine ` | 导出指标(TradingView + TDX + MT5) | | `/trace ` | 完整执行回放 | | `/continue ` | 使用新指令继续运行 | | `/sessions` | 列出聊天会话 | | `/settings` | 显示运行时配置 | | `/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 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 密钥。
Claude 桌面版 添加到 `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 ```
**公开的 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、命令、环境变量或允许列表覆盖。
从 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 技能。
## 🔌 从外部 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
标签:API安全, API服务器, JSON输出, Markdown渲染, 个人金融助手, 交互式命令, 交易代理, 交易会话管理, 交易分析, 交易分析工具, 交易历史, 交易历史记录, 交易回放, 交易回测, 交易团队, 交易执行, 交易技能, 交易指标, 交易指标导出, 交易数据导出, 交易数据管道, 交易监控, 交易策略, 交易策略代码, 交易策略生成, 交易视图, 交易设置, 交易配置, 交易预设, 命令行界面, 屏幕清除, 文档结构分析, 终端用户界面, 脚本友好, 退出程序, 逆向工具, 量化交易, 金融分析