WyckoffAgent 实测评估:自然语言操盘 A 股,但先看清它的审批闸门和成本模型
该项目围绕「Open-source Wyckoff trading agent and AI stock screener for volume-price analysis, A-share screening, CLI workflows, and MCP tools. trader @Hoyooyoo.」构建,适用于实际场景的开源实践,提供可复用的工具链与集成方式。
秒懂
- 它是什么?
- WyckoffAgent 是一个把威科夫量价分析、AI 研报和持仓风控串成自动化链路的开源交易智能体。本文基于仓库文档评估其 CLI、Web、MCP 和桌面端形态,重点分析审批机制、云端依赖与适用边界。
- 适合谁用?
- WyckoffAgent 适合两类人:一是熟悉威科夫理论、愿意用命令行和定时任务管理 A 股持仓的个人交易者,二是想研究 LLM 工具调用与交易审批流程结合的开发者。不适合追求零成本或完全本地化的人,因为行情、AI 报告和数据库都依赖付费云端服务,且 AGPL-3.0 许可证对商用闭源改造不友好。
- 能商用吗?
- 可以,但条件严格。AGPL-3.0 是网络 copyleft 许可证:如果别人通过网络使用你修改过的版本(例如作为托管服务),你必须以同一许可证向他们提供源代码。
- 还在维护吗?
- 在维护。仓库最近一次提交在 2 天前。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决什么问题,以及谁需要它
WyckoffAgent 把威科夫量价分析从手工读图变成一条自动化链路。你不需要自己盯 K 线找吸筹、拉升、派发这些结构,而是用自然语言告诉它「检查我的持仓风险」或「筛选今天的主线板块」,它会调用行情、结构识别、AI 研报和风控工具,最后给出带执行纪律的结果。这个项目明确面向 A 股、港股和美股,但 A 股是主战场,全市场约 5000 只股票的漏斗筛选是核心功能。它适合两类人:一是已经懂威科夫理论但不想每天手工复盘的个人交易者,二是对 LLM 工具调用和交易审批流程感兴趣的开发者。注意,它不提供投资建议,README 的风险声明写得很清楚,它只是教育研究工具。
架构拆解:TickFlow 行情、Supabase 存储、Hono Worker 边缘后端
从 README 看,系统分四层。行情层用 TickFlow 实时拉取日线数据,README 明确说没有 Supabase 行情缓存,意味着每次分析都走实时请求。存储层用 Supabase 保存用户配置、持仓、形态复盘、市场信号和任务结果,不存行情。计算层是独立边缘后端,React Web 统一调 Hono Worker,Worker 提供请求 ID、安全响应头、Redis 共享限流和白名单沙箱任务。研究计算必须经用户确认,先进入单并发 Cloudflare Queue,再由签名的 Node 执行桥进入无网络、自动销毁的 Vercel Sandbox。这个设计很谨慎,每个用户同时只有一个任务,按日限制创建次数和 CPU 用量。本地 CLI 和 TUI 则直接连同一套工具注册表,不经过云端队列。
CLI 启动与三种运行模式:对话、单轮、守护进程
安装方式有三种:curl 一键脚本、Homebrew tap、pip 安装 youngcan-wyckoff-analysis。装完后 `wyckoff` 进入 TUI 对话,`wyckoff dashboard` 启动本地可视化面板。首次使用用 `/model` 选 Gemini、Claude 或 OpenAI,输入 API Key。除了交互对话,还有两种无人值守模式。`wyckoff run "盘前风控检查"` 手动跑一轮不进 TUI,适合 cron。`scripts/daemon_install.sh` 装成 macOS launchd 用户级服务,让定时任务在关掉 TUI 后继续跑。daemon 持锁时 TUI 会自动让出调度权,避免重复触发。日志在 `~/.wyckoff/logs/daemon.log`。这个设计解决了一个实际问题:很多人开着终端跑定时任务,一关窗口就停,daemon 把调度从 UI 生命周期里解耦出来。
审批闸门:无人值守时写操作如何被限制
这是 WyckoffAgent 最值得关注的安全机制。daemon 或 `wyckoff run` 在无人监督时,先恢复本机已保存的 CLI 登录态,再跑工具。否则自动止损会写到本地 `USER_LIVE:local` 而不是云端持仓。关键限制是:daemon 只会自己执行 `set_stop_loss`,这个工具只能改止损价,签名里没有股数、成本、现金,所以不会移仓也不会花钱。其余所有写操作都进待批准队列,并且绑定入队时的账户,换号后不能批准别人的项。`wyckoff approve list` 查看脱敏后的完整参数,`approve ok <id>` 批准并执行队列中保存的精确参数,`approve no <id>` 拒绝。失败不会自动重试,避免重复成交。待批项 12 小时后过期,意味着隔夜的调仓会按旧价成交。这个时间窗口是双刃剑,防止了无人干预的失控,但也可能导致错失时机。
MCP 扩展:外部工具接入的边界与风险
WyckoffAgent 允许把第三方 MCP server 接入同一会话,和原生工具走同一套审批闸门。安装时需要 `uv pip install -e '.[mcp]'`。接入流程分三步:`wyckoff mcp-add github --command npx --args -y @modelcontextprotocol/server-github --env GITHUB_TOKEN` 添加,注意从环境读取 token 避免写进命令历史;`wyckoff mcp-test github` 先试连列出工具,不进会话;`wyckoff mcp-enable github` 确认没问题再启用。默认新增后未启用,模型不能新增 server,配置只能你自己写。项目自建的 `mcp_server.py` 会被拒绝接入,避免重复工具。外部工具名带 `mcp__<server>__` 前缀,不会顶掉原生工具。写操作按工具名和 annotations 启发式识别,认不出就当写,进待批准队列。daemon 无人时永不自动执行外部写入。这个策略很保守,但 README 也警告:接一个 server 等于允许在本机 spawn 它的命令,风险自担。
回测、信号反馈与分层记忆:它如何自我验证
项目不只是一个执行工具,还有一套自我验证机制。信号反馈闭环里,漏斗记录 observations,盘后 feedback 聚合 health 和 registry,支持 shadow 动态策略验证。这意味着策略可以在影子模式下跑,不实际下单,只记录信号质量。Agent 分层记忆分 L1 原子记忆、L2 场景、L3 画像,用 FTS5、代码、关键词混合召回并保留来源追溯。回测网格支持参数矩阵,但 README 没有给出任何回测结果或胜率数据,这点要诚实说明:它提供回测框架,不承诺策略有效性。会话分叉 `wyckoff session export/fork` 或 TUI `/fork` 可以把历史对话变成新分支,方便复盘。标准事件流 `wyckoff trace --events <scratchpad.jsonl>` 产出统一 JSONL,供外部工具调用时间线。这些功能说明设计者重视可追溯性,但实际效果需要你自己跑数据验证。
成本模型与维护负担:开源不等于免费
README 专门有一节讲云端运行成本透明。项目保持开源,但云端共享服务按付费基础设施运行,行情源、数据库、AI 报告、在线分析服务和自动化维护都进入显性成本模型。具体数字在 docs/COST_MODEL.md,但本评估只基于 README 片段,无法确认具体金额。这意味着如果你用在线 Web 版,别人在替你付钱,长期看要么限流要么收费。自部署可以避免共享服务的排队限制,但你需要自己承担 TickFlow 行情费用、Supabase 存储和 LLM API 调用费。维护方面,最近 release 显示桌面端 v0.1.1 是未签名包,Windows 会警告,macOS 是临时签名,安装时得手动绕过系统拦截。Streamlit MVP 已下线,主分支移除相关代码,如果你依赖 Streamlit 需要切到 release/streamlit 分支,但那个分支不再迭代。许可证是 AGPL-3.0,如果你打算把修改后的版本作为网络服务提供,必须开源全部代码,这点对商业公司是硬约束。
替代方案与最终判断:CZSC 是底层,不是对手
README 特别感谢了 CZSC(缠中说禅)项目作者 zengbin93 的指导,但 CZSC 是技术分析库,提供缠论和量价结构识别函数,不包含 LLM 对话、审批队列或云同步。WyckoffAgent 更像是在 CZSC 这类库之上构建的完整应用层。真正的替代方案是直接用 CZSC 写自己的策略脚本,配合 cron 和自建数据库,完全本地化,但你需要自己实现自然语言交互和风控审批。另一个方向是商业量化平台如聚宽或掘金,它们提供回测和实盘接口,但闭源且有平台锁定。WyckoffAgent 的独特之处在于把 LLM 工具调用和交易审批做成一个可审计的流程,这是多数开源交易项目没有的。最终判断:如果你要的是开箱即用的威科夫分析工作台,且愿意接受云端依赖和审批延迟,它值得试。如果你追求完全自主可控的低延迟交易系统,它不合适。先跑 `wyckoff mcp-test` 验证 MCP 工具链,再决定是否把真实持仓接进去。
编辑结论
WyckoffAgent 适合两类人:一是熟悉威科夫理论、愿意用命令行和定时任务管理 A 股持仓的个人交易者,二是想研究 LLM 工具调用与交易审批流程结合的开发者。不适合追求零成本或完全本地化的人,因为行情、AI 报告和数据库都依赖付费云端服务,且 AGPL-3.0 许可证对商用闭源改造不友好。采用前先验证三件事:确认 TickFlow 行情源的可用性和费用,检查 Supabase 中用户配置与持仓的隐私边界,以及测试 daemon 无人值守时 set_stop_loss 之外的写操作是否真的全部进入待批准队列。这个项目的核心价值在审批闸门和跨市场漏斗,不在预测准确率,别把它当成稳赚工具。
社区笔记