影响范围分析
读取代码 diff,结合生产流量学习到的真实客户旅程,算出改动能触及的每个用例,无需人工编写测试场景。
官方说明 ↗拖动滑块完成拼图,通过后发送验证码
独立第三方 AI 评测平台 · 只用实测数据
Haystack 是面向开发团队的验证工具,读取代码 diff 后确定改动影响范围,并从生产流量中学习真实用户路径生成测试用例。它把服务与数据快照分叉成多份真实环境,每个用例在不同状态下同时运行有无改动的对比,失败时给出前后屏幕、变化的网络调用和停止触发的事件。一次权限重构示例中,两个文件经 3 个服务、27 条代码路径,产生 14 个值得运行的用例,映射约 5 秒完成,14 份生产副本 26 秒就绪。未公开具体价格与完整层级。
Haystack 是一款基于画布的 IDE 类开发工具,核心是让编码 agent 看到代码改动真正影响了什么。它面向使用 Claude Code、Codex、Cursor 等编码 agent 的开发团队,解决的是「测试通过但生产仍出问题」的场景。
当前主力形态是命令行工具 `haystack verify`:它会读取改动、计算影响范围,并从生产流量中学习真实客户旅程,生成实际值得运行的用例,而不是人工编写的测试场景。产品处于早期阶段,正在接纳少量团队,可通过 https://haystack.sh/ 申请早期访问或预约演示。
普通开发者在 checkout 中直接运行 `haystack verify`,Ctrl-C 只停止等待、不终止 crawl,再次运行可接上同一次 crawl。团队可通过 `haystack init` 把流程接入 Claude Code 与 AGENTS.md,让 agent 在每次改动后自动运行验证。
读取代码 diff,结合生产流量学习到的真实客户旅程,算出改动能触及的每个用例,无需人工编写测试场景。
官方说明 ↗对服务及其背后的数据做快照,包括 Postgres、Redis、队列和对象存储,再按用例逐个分叉成真实环境,而非 mock。
官方说明 ↗每个环境被置入不同状态,例如超出席位限制的工作区、无人接受的邀请、角色刚变更的成员,并同时运行有无改动两次。
官方说明 ↗失败时给出改动前后的屏幕画面、发生变化的网络调用,以及停止触发的事件,环境保持在线可直接打开查看。
官方说明 ↗失败用例以编码 agent 可执行的形式回传,agent 修复后重新运行,循环直到不再有失败。
官方说明 ↗无需配置文件,从仓库已有的 lockfiles、Dockerfiles、compose 文件和包脚本推断应用如何运行。
官方说明 ↗以 diff 形式展示将要做的每项改动,同意后写入 Claude Code Stop hook 和 AGENTS.md 提示,并启动后台 onboarding。
官方说明 ↗在无互联网访问的隔离机器上构建并运行应用的 base 与改动两个副本,使用 onboarding 期间生成的替补数据与测试账号。
官方说明 ↗当你的团队用编码 agent 频繁改代码、又担心测试覆盖不到生产真实路径时,Haystack 值得一试:它用真实环境副本做有无改动的对比,能把「请求全部返回 200、测试套件通过」却悄悄破坏权限的静默故障抓出来。缺点是产品仍处早期,只接纳少量团队,需要申请早期访问;onboarding 首次可能耗时约半小时,单次 crawl 默认 3 分钟、最长 30 分钟,按使用节奏看更适合有稳定 CI 或 agent 工作流的团队。官网未公开价格与完整层级,预算敏感或需要立即上线的情况需要先确认。
日常用 Claude Code、Codex 或 Cursor 改动代码,需要每次改动后自动跑真实环境验证,haystack init 会把验证写进 agent 流程。
生产出现请求全部 200、测试套件通过但权限被绕过这类问题,Haystack 的真实环境对比能定位到是哪次改动引入的。
基础设施分叉覆盖 Postgres、Redis、队列与对象存储,数据栈在这一范围内的项目能直接受益于真实副本验证。
仅表示正在接纳少量团队,需要先申请早期访问并沟通后才能做成本判断。
产品处于早期且需申请早期访问,首次 onboarding 可能耗时约半小时,单次 crawl 默认 3 分钟,不适合希望立刻得到结果的轻量场景。
用例不是人工编写的场景,而是从生产流量中学习到的真实客户旅程。每个环境运行有无改动两次,差异必然由该次改动造成。举的例子中,一次权限重构让前端不再发送成员角色、访问 API 把缺失角色当成 editor,请求全部返回 200、测试套件也通过,但任何有待接受邀请的人都能编辑和删除工作区内容——这类静默故障正是它要抓的。
在仓库中运行 haystack init,它以 diff 形式展示每项改动并在你同意后执行:写入一个 Claude Code Stop hook(按开发者保留、不进提交),并在 AGENTS.md 中加一条提示让编码 agent 在改动后运行 haystack verify。也可以把官网给出的说明粘进 Claude Code、Codex 或 Cursor,由 agent 完成接入。
不会。两个副本运行在 Haystack 的隔离机器上,没有互联网访问,使用 onboarding 期间生成的替补数据和测试账号。官网明确说明分叉环境内发生的任何事都不会到达生产,crawl 过程也不需要提交或推送代码。
crawl 默认最多可运行 3 分钟,可通过 --minutes <n> 在 1 到 30 分钟之间调整。官网说明答案通常在启动后 10 到 15 分钟出现,大部分时间花在构建和准备应用的两个版本上;首次 onboarding 可能耗时约半小时,在后台运行。
不用。Ctrl-C 只停止等待,不会终止 crawl;再次运行 haystack verify 会接上同一次 crawl。另外可以用 --no-wait 让命令打印 crawl 信息后立即返回,适合嵌入 agent 循环或 CI 步骤。