开源项目

Vibe-Trading

Vibe-Trading

基于 LLM 的个人交易智能体框架,通过自然语言交互完成市场研究、策略回测、多智能体协作交易等全流程。亮点在于内置 452 个预构建量化因子、支持 7 个市场数据源自动回退、提供 36 个 MCP 工具可嵌入 Claude 等外部 Agent,且近期新增 Robinhood 等券商实盘交易连接器(需用户授权并受严格风控约束)。研究工具,非投资建议,实盘功能尚处于实验阶段。

README

English | 中文 | 日本語 | 한국어 | العربية

Vibe-Trading Logo

Vibe-Trading:你的个人交易智能体

一条命令让你的智能体拥有全面的交易能力

Python FastAPI React PyPI License
Feishu WeChat Discord

网站  ·  文档  ·  新闻  ·  特性  ·  影子账户  ·  演示  ·  快速开始  ·  示例  ·  API / MCP  ·  路线图  ·  贡献

pip install vibe-trading-ai


📰 新闻

  • 2026-06-03 🧹 社区分类 + 跟踪关联:工具调用跟踪条目现在携带发起方的 call_id,因此在回放运行跟踪时可以将 tool_result 匹配回其 tool_call——参数预览保持截断以保持跟踪文件较小(#168,感谢 @zwrong)。源注释不再指向外部贡献者找不到的内部文档路径(#166,感谢 @jaleelpersonal)。还澄清了安装时 langchain-community 解析器警告是无害的残留包通知,而非故障(#167),并将 Gemini 2.5/3.0 thoughtSignature 函数调用的往返处理定为 help wanted 任务,附完整修复方案(#170,感谢 @jliu6789)。
  • 2026-06-02 🔌 六个新的券商连接器(Tiger / Longbridge / Alpaca / OKX / Binance / Futu):以连接器为先的交易层在 IBKR(本地)和 Robinhood(MCP)之外增加了直接 SDK 传输。每个连接器都暴露只读的账户/持仓/订单/行情/历史,以及 模拟账户下单——在这些券商的模拟账户上测试你的策略。其中五个(Tiger、Alpaca、OKX、Binance、Futu)同样支持 受限制、受指令约束的下单,采用与 Robinhood 相同的安全模型:用户承诺的指令(品种范围/订单规模/敞口/杠杆/日限额)、文件系统紧急停止开关、故障安全预交易门控、以及完整审计日志。Longbridge 仅支持模拟和只读(其 API 不暴露运行时模拟/实盘区分标识)。每个模拟/实盘的区分都是结构性分券商防护——账户 ID 格式、主机隔离、演示标志或交易环境。新增 trading_place_order / trading_cancel_order 工具;港股和A股资产类别已加入指令范围。实验性功能 / 使用风险自负。
  • 2026-06-01 🚀 v0.1.9 发布(pip install -U vibe-trading-ai):汇总了自 0.1.8 以来的所有更新。连接器优先的券商配置(IBKR 本地只读 TWS / IB Gateway + Robinhood 代理交易,背后是 OAuth、承诺指令、订单守卫、审计日志和即时暂停)。Research Goal 运行时跨 CLI / REST / MCP / Web。Swarm 增强——实时协调 + MCP keepalive、操作员配置的 worker MCP 工具、严格 alpha 基准随机对照、以及新的 retry_run 用于重启失败/过期的运行(目前共 36 个 MCP 工具)。agent/cli/ 包重构,带来焕然一新的终端 UI;mootdx 无令牌 A 股加载器;以及回测/智能体循环/会话的健壮性改进。--version 现在始终与已安装包版本一致,修复了 0.1.8 的偏差(#156)。
更早的新闻
  • 2026-05-31 🔌 连接器优先的券商架构(IBKR + Robinhood):交易访问现在从可选连接器配置开始,取代了单独的券商/实盘入口点。vibe-trading connector list/use/check/account/positions/orders/quote/history 和 MCP trading_* 工具共享相同的选中配置,其中模拟/实盘是连接器的属性。IBKR 可以通过本地只读 TWS / IB Gateway 配置立即使用,而官方 IBKR 远程 MCP 路径则作为 OAuth mcp.read 探针植入,等待稳定的读取工具名称。Robinhood 代理交易仍然是有限的实盘 MCP 连接器,背后是 OAuth、承诺指令、订单守卫、审计日志和即时暂停。

  • 2026-05-30 🧰 健壮性改进——回测、智能体循环、会话:LLM 生成的信号引擎在实例化前现在通过预检接口验证,捕获循环自导入、缺少 generate()、非默认的 __init__ 参数以及错误的返回类型,并以可操作的 JSON 错误代替原始回溯(#149);后续将源代码级 AST 验证错误也通过相同干净的 JSON 信封路由。智能体循环不再将全部 50 次迭代浪费在无输出的 failed 状态——它模仿 swarm worker 在 80% 迭代预算时的总结提示,并在最后一次迭代时丢弃工具定义,强制输出最终文本答案(#148),仅在中途触发,因此不会干扰 research-goal 上下文。会话消息写入现在每个追加操作都执行 flush + fsync,以便昂贵的 AI 响应能在写入中途崩溃时幸存;读取路径跳过损坏的 JSONL 行(记录前 200 个字符以便恢复),而不是导致整个 /messages 端点返回 500 错误(#147)。Web 编辑器还修复了 IME 回车处理,使确认输入法的回车不再中途提交(#146)。

  • 2026-05-29 🔐 Robinhood 代理交易支持(选择加入,有限自主权):增加了对 Robinhood 代理交易的支持(远程 MCP,OAuth)。默认关闭且仅只读;智能体仅在用户承诺的指令(品种/订单大小/敞口/杠杆/日限额)内行动,带有文件系统级别的即时紧急停止开关、预防性平仓、指令自动过期、完整审计日志和持久自主运行器。无托管,无交易所——券商持有资金并执行;我们仅传递意图。实验性功能 / 使用风险自负。

  • 2026-05-28 🧪 Swarm 安全 + 严格 alpha 门控 + worker MCP:Swarm DAG 在上游任务失败时阻止下游任务(#145)。新的 run_bench_strict() 添加了同品种随机对照 + 样本外分割,以捕获仅跟踪市场 beta 的因子(#143,感谢 @Soli22de)。Swarm worker 可以调用操作员配置的外部 MCP 服务器,信任边界已锁定(#142,感谢 @shadowinlife)。

  • 2026-05-27 📊 mootdx A 股数据源 + 输出美化:新的 mootdx 加载器使用原生通达信 TCP 协议获取 A 股 OHLCV 数据(无需认证,无 IP 限速,日线及日内数据支持 25 页回退分页),在回退链中介于 tushare 和 akshare 之间(#107)。CCXT 加载器现在读取 HTTP_PROXY/HTTPS_PROXY/ALL_PROXY 环境变量,以便 Binance/OKX 公共数据在受限网络下可用(#126,感谢 @ruok808)。最终答案渲染也去掉了 CLI 和 Web 上难看的全宽 --- 水平分隔线:系统提示现在引导智能体使用 markdown 表格和 ## 标题;CLI 渲染器作为深度防御会剔除独立的 HR;聊天气泡会隐藏任何漏网的 <hr>(#139,感谢 @sdwxm188)。

  • 2026-05-26 ✅ Research Goal 生命周期闭环:目标模式现在像一个真正的任务运行器:Web UI 目标创建会创建或绑定会话并立即发送启动轮;活动目标可以在 Web/API/CLI/MCP 上继续、编辑、取消和完成;智能体会从当前目标快照(标准、证据、主张、待办项)推进,而不仅仅是原始提示。覆盖但仍活跃的目标现在进入审计/状态更新而不是静默停止,后端、CLI、MCP 和前端事件均有回归覆盖。

  • 2026-05-25 🧼 更清晰的聊天 UI + 编辑器工作流:Web UI 让聊天聚焦于下一步操作:上传、swarm 和研究目标模式现在位于编辑器 + 菜单中,而非浮动面板。活动上下文以紧凑 chips 形式显示在输入框上方,目标详情仅在有需要时内联展开。UI 还放弃了旧的定制 i18n 层,采用直接英文副本;将 Full Report 卡片限制为值得报告的运行;并加固了本地开发启动/状态报告,以便进行可靠的浏览器冒烟测试。

  • 2026-05-24 🎯 Research Goal 运行时:在 backend、CLI、API/MCP、SSE 和 Web UI 中添加了会话范围的 Research Goal 层。目标持久化主张、验收标准、证据行、预算和完成策略;智能体工具可以创建目标和附加证据;/goal 为 CLI 提供了直接入口点;REST/MCP 暴露目标快照和证据写入;SSE 保持聊天客户端最新。后续审计修复锁定了已验证证据,通过智能体工具阻止了实时交易风险等级,将 CLI 创建的目标挂接到后续轮次,在会话删除时清理目标账本,启用全部重放,并修复了跨会话前端竞争条件。

  • 2026-05-23 🖥️ 交互式 CLI 更新:终端前端现在以更大的 Vibe-Trading 横幅、更清晰的分隔线、上一轮回顾、运行后计时以及用于实时智能体工作的 Claude Code 风格活动栏打开。工具调用、网络/数据获取、shell 风格动作、Markdown 答案和管道表格以更可读的转录形式渲染,而管道或非 TTY 运行保留纯文本输出以便自动化。生成的 CLI 截图现在作为本地工件而非提交的文档文件处理,使仓库更轻量。

  • 2026-05-22 🧭 Swarm 恢复 + MCP keepalive:Swarm 状态现在每次读取时从实时任务文件协调,因此 API/MCP/SSE/列表视图可以恢复崩溃或过期的运行,而不是显示永久的 running 快照。run_swarm 在轮询时发送 MCP 进度心跳,固定第一帧为 swarm_started run_id=<id>,以便在传输断开后重连的客户端识别;worker 现在通过 LLM 流式传输、数据获取和工具执行发送心跳。过期运行回收使用每运行阈值,并从任务状态派生出终端状态;SwarmTool 不再仅仅因为等待预算已用完就取消仍在运行的团队;MCP 客户端可以调用 reap_stale_runs() 进行显式清理。今天的 DX 更新还刷新了提供者默认模型,并使 CI 语法检查与新的 agent/cli/ 包对齐。22 个新的回归测试涵盖了水化、终端恢复、过期回收、存活频率、环境变量解析和心跳连线;整个 swarm/MCP 套件为 169 通过,4 跳过。

  • 2026-05-21 🧱 CLI 包重构:agent/cli.py(3216 行)拆分为 agent/cli/ 包——交互式前端、斜杠路由器、Rich 组件,加上一个保留所有子命令并重新导出所有公开符号的 _legacy.py 垫片,因此 cli.cmd_* / cli._INIT_ENV_PATH / cli.Confirm 继续工作。新的 FastAPI 中间件在浏览器直接打开 /runs/{id} 或 /correlation 时提供 SPA shell;相同的缩减也应用于 Vite 开发代理。版本统一通过 cli/_version.py(--version 和横幅之间不再漂移),通过 __main__.py 恢复了 python -m cli,并且聊天门控已收窄,以便 chat --help / chat extra 到达遗留 argparse 而不是被 REPL 吞掉。

  • 2026-05-20 🔬 假设注册表 CLI:补全了 2026-05-16 仅在后端发布的假设注册表的 CLI 侧。vibe-trading hypothesis list 打印 Rich 表格或 JSON(--status 过滤,--limit);show <id> 渲染详细信息面板,包括关联的运行卡片;invalidate <id> --note "..." 将状态翻转为 rejected,同时在省略 --note 时保留先前的失效备注。支持现有 VIBE_TRADING_HYPOTHESES_PATH 环境变量覆盖,并增加了每次调用的 --path。22 个新测试涵盖连线、JSON 输出、状态过滤、限制、缺失 ID 错误和备注持久化。

  • 2026-05-19 ✨ 实时工具反馈 + 优雅取消:长时间运行的工具(回测、大型 PDF、swarm worker)不再看上去冻结。每个工具调用现在每 3 秒发送一次心跳,外加结构化的分阶段进度——run_backtest 显示阶段标记(validate / simulate / finalize),read_document 对 PDF 按页、对 Excel 按工作表打勾,read_url 标记 fetch / parse。CLI Rich Live 仪表板渲染 Unicode 转轮、ASCII 进度条、剩余时间,并最多堆叠 3 个按名称区分的并行工具;前端聊天附带新的 ToolProgressIndicator,具有 rAF 合并渲染、ARIA role="status" + 隐藏的原生 <progress> 用于屏幕阅读器,以及当总步骤数已知时的确定 ProgressRing SVG。CLI 运行期间的首次 Ctrl+C 现在调用 agent.cancel() 进行优雅退出(当前步骤完成,跟踪正常关闭);2 秒内的第二次强制退出。在此过程中提取了可复用的原语:ProgressBar.tsx 和 lib/tools.ts(共享的工具名称 i18n)。

  • 2026-05-18 🧹 清理 + 三个潜在 bug 修复:CompositeEngine 不再将裸的中国期货代码(如 RB2410)错误地路由到 GlobalFuturesEngine——_is_china_futures 已移入共享的 _market_hooks 模块,带有大小写规范化的产品表和非 CN 交易所守卫,外加 9 个新的回归测试用例。会话 FTS5 索引现在持久化时间戳,因此跨会话搜索可以按日期排序;同一路径还修复了一个每次重新插入都会更新会话 started_at 的问题。Vite 开发模式代理增加了缺失的 /alpha 入口,因此 AlphaZoo 页面可以在 npm run dev 上解析。tests/test_e2e_harness_v2.py(真实 LLM 端到端套件)现在由 VIBE_TRADING_RUN_LIVE_E2E=1 门控,因此 CI 不再根据环境密钥的存在而改变形状。为因子动物园添加了 Ruff per-file-ignores(3783 → 0 F401 噪音),前端 tsconfig 启用 noUnusedLocals / noUnusedParameters 作为回归守卫,并从 gtja191 alpha 中删除了 76 行未使用的 vw = vwap(...) 样板。净 -918 行。

  • 2026-05-17 🧬 Alpha Zoo v1 (0.1.8):4 个动物园中的 452 个预建量化 alpha——qlib158(Microsoft Qlib,Apache-2.0 归属)、alpha101(Kakushadze 101 公式化阿尔法,论文改写自 arXiv:1601.00991)、gtja191(国泰君安 2014 短期因子报告)和 academic(Fama-French 5 + Carhart 基于价格代理)。一行 CLI 即可在你的品种上对任何动物园进行基准测试:vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025。附带了 AST 纯度门控、前瞻性守卫测试、pytest-socket 网络关闭开关、每个动物园的 LICENSE.md 以及社区 PR 的开发者来源证书 (DCO) 工作流。自动渲染的 Alpha 库位于 vibetrading.wiki/alpha-library/ + 研究实验室文章 Which of the 191 GTJA alphas still work in 2026?

  • 2026-05-16 🧪 研究骨干更新:添加了后端假设注册表,包含 create_hypothesis、update_hypothesis、link_backtest 和 search_hypotheses;外部内容阅读器现在附加仅警告的 security_warnings;影子账户扫描现在使用确定性 OHLCV 特征评估,而不是旧的日历阶段存根。

  • 2026-05-15 🪪 运行详情页面现在在指标和工件旁边显示 Trust Layer 运行卡片,完成了 2026-05-12 落地的 run_card.json 工作的 UI 侧。PersistentMemory.add() 也针对长度、空/仅空白名称以及 #108/#109/#110 分类中的 C0/C1 控制字节进行了加固(#112,感谢 @Teerapat-Vatpitak)。

  • 2026-05-14 🌐 公开 wiki 现在在 vibetrading.wiki 上线,包含文档、教程、研究实验室和 Alpha 库部分,部署在 Cloudflare Pages 上。持久化记忆现在可以通过 CLI 从 vibe-trading memory list/show/search/forget 检查(#102,感谢 @Teerapat-Vatpitak),并且记忆分词/slug 现在支持泰语、阿拉伯语、希伯来语和西里尔文(#104)。

  • 2026-05-13 🧭 Swarm 运行现在用获取的市场数据和更干净的持久化报告来支撑 worker(#93,#84)。

  • 2026-05-12 🧾 回测现在输出 run_card.json 和 run_card.md,与工件一起用于可重现的研究运行。

  • 2026-05-11 🧭 记忆 slug、swarm 记账和 CLI 预检:持久化记忆在生成文件 slug 时现在保留 CJK 字符,避免中文/日文/韩文笔记无声的文件名冲突(#95,感谢 @voidborne-d)。Swarm 运行总数现在优先使用提供者报告的 token 使用量,并保留现有估计回退(#94,感谢 @Teerapat-Vatpitak),CLI 运行 UI 增加了启动预检检查,用于常见环境问题(#96,感谢 @ykykj)。

  • 2026-05-10 🧱 回归护栏 + 运行元数据:记忆召回现在将下划线视为 token 边界,因此 snake_case 保存的记忆(如 mcp_wiring_test)可以匹配自然语言查询(如 "mcp wiring")(#87,感谢 @hp083625)。MCP 服务器有一个子进程冒烟测试,覆盖初始化 → tools/list → tools/call,以保护首次调用死锁路径(#86),同时低风险加固针对 Windows 路径敏感测试、API 尽力而为异常处理、回测 run_dir 允许根验证以及 SwarmRun 提供者/模型元数据(#88,#90,#91,#92,感谢 @Teerapat-Vatpitak)。

  • 2026-05-09 🛡️ API 路径加固 + MCP 服务器稳定性:API 运行/会话路由现在在查找前验证路径 ID,拒绝包含换行符的恶意参数,并将行为固定在认证/安全回归套件中(#80,感谢 @SJoon99)。MCP 服务器现在在服务 tools/call 之前在主线程上预暖工具注册表,避免了惰性工具发现中的首次调用死锁(#85,感谢 @Teerapat-Vatpitak)。Vite 开发代理现在也尊重 VITE_API_URL,用于非默认后端目标(#82,感谢 @voidborne-d)。

  • 2026-05-08 🧾 筛选器中的 Tushare 财务报表字段:A 股日线回测现在可以通过 fundamental_fields 请求 PIT 安全的财务报表字段,因此信号引擎可以在公告/披露日期后按 income_total_revenue、income_n_income、balancesheet_total_hldr_eqy_exc_min_int、fina_indicator_roe 等表前缀列进行筛选(#76,感谢 @mrbob-git)。后续加固使显式的财务报表字段请求在 Tushare 增强无法运行时快速失败,而不是静默回退到原始价格条(#77)。

  • 2026-05-07 📈 Tushare 基本面 + 社区分类:为基本面研究工作流添加了时间点 TushareFundamentalProvider 合约,并附带项目 TUSHARE_TOKEN 环境路径的回归覆盖(#74)。社区分类还澄清了 Vibe-Trading 目前保持快速迭代专注于一种 UI 语言,避免添加冗余的搜索依赖(因为已捆绑 DuckDuckGo 驱动的 web_search),并将非官方托管部署视为 API 密钥或数据源令牌的不安全地点。

  • 2026-05-06 🚀 v0.1.7 发布(发布说明,pip install -U vibe-trading-ai):安全边界加固现已发布到 PyPI 和 ClawHub,涵盖更安全的 API/阅读/上传/文件/URL/生成代码/shell 工具/Docker 默认值,同时保持本地 CLI/Web UI 工作流低摩擦。此周期还包括 Web UI 设置、相关性热图、OpenAI Codex OAuth、A 股预 ST 过滤、交互式 CLI UX、swarm 预设检查、股息分析、开发工作流优化和经过审计的前端构建依赖基线。感谢 0.1.7 的贡献者以及 lemi9090 (S2W) 的协调安全验证。

  • 2026-05-05 🛡️ 安全边界后续:完成了围绕显式 CORS 来源、设置凭据指示器、Web URL 阅读和影子账户代码生成的剩余安全边界加固,并为每个路径添加了回归测试。正常的本地 CLI/Web UI 工作流保持不变;远程部署应继续使用 API_AUTH_KEY 和显式信任的来源。

  • 2026-05-04 🖥️ 交互式 CLI UX + CI 清理:交互模式现在具有实时底部状态栏,显示提供者/模型、会话持续时间、上次运行延迟和累计工具调用统计,以及通过 prompt_toolkit 的提示历史导航和光标编辑(上下箭头)(#69)。当 prompt_toolkit 或 TTY 不可用时,CLI 仍然回退到 Rich 提示。CI 路径预期也已与加固的文件导入沙箱和跨平台 /tmp 解析对齐,使 main 分支恢复绿色(bb67dc7)。

  • 2026-05-03 🛡️ 安全加固补丁:收紧非本地部署的默认 API 认证,保护敏感的运行/会话/swarm 读取,限制上传和本地文件读取范围,根据入口点门控 shell 能力工具,在导入前验证生成的策略加载,并以非 root 用户身份运行 Docker 映像,默认仅发布到 localhost 端口。本地 CLI 和 localhost Web UI 工作流保持低摩擦;远程 API/Web 部署应设置 API_AUTH_KEY。

  • 2026-05-02 🧭 股息分析 + 更清晰的路线图:为收入型股票、派息可持续性、股息增长、股东收益率、除息机制和收益率陷阱检查添加了 dividend-analysis 技能,并通过捆绑技能回归测试锁定。公开路线图现在专注于即将开展的工作:Research Autopilot、Data Bridge、Options Lab、Portfolio Studio、Alpha Zoo、Research Delivery、Trust Layer 和社区分享。

  • 2026-05-01 🔥 相关性热图 + OpenAI Codex OAuth + A股预ST过滤器:新的相关性仪表板/API 计算滚动收益相关性并渲染 ECharts 热图,用于投资组合和品种分析(#64)。OpenAI Codex 提供者支持现在通过 vibe-trading provider login openai-codex 使用 ChatGPT OAuth,附带设置元数据和适配器回归测试(#65)。添加并加固了 ashare-pre-st-filter 技能,用于 A 股 ST/*ST 风险筛查,包括新浪处罚相关性过滤,因此证券账户提及不会增加 E2 计数(#63)。

  • 2026-04-30 ⚙️ Web UI 设置 + 验证 CLI 加固:新的设置页面用于 LLM 提供者/模型、基础 URL、推理努力和数据源凭据,由本地/受保护的设置 API 和数据驱动提供者元数据支持(#57)。同时加固了 python -m backtest.validation <run_dir>,使缺失、空白、格式错误、不存在和非目录输入在验证开始前以清晰的操作员可读消息失败(#60)。

  • 2026-04-28 🚀 v0.1.6 发布(pip install -U vibe-trading-ai):修复了 pip install / uv tool install 后 vibe-trading --swarm-presets 返回空的问题(#55)——预设 YAML 现在捆绑在 src.swarm 包内,并由 6 测试回归套件锁定。另外 AKShare 加载器现在正确地将 ETF(510300.SH)和外汇(USDCNH)路由到正确的端点,并带有加固的注册表回退。汇总了自 v0.1.5 以来的所有内容:基准比较面板、/upload 流式传输 + 大小限制、Futu 加载器(港股 + A 股)、vnpy 导出技能、安全加固、前端懒加载(688KB → 262KB)。

  • 2026-04-27 📊 基准面板 + 上传安全:回测输出现在附带基准比较面板(代码 / 基准收益 / 超额收益 / 信息比率),支持 yfinance 解析的 SPY、沪深 300 等(#48)。另外 /upload 以 1 MB 块流式传输请求体,并在超过 MAX_UPLOAD_SIZE 时中止,从而在超大/格式错误客户端下限制内存([#53](https://github.com/HKUDS/Vibe-Trading/p

[原 README 过长已截断]

开源项目HKUDS2026-06-03原文

相关内容