【免费下载链接】reticleAI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web desktop applications.项目地址https://gitcode.com/gh_mirrors/reti/reticle点击查看免费下载Reticle 是一个面向 Web 与桌面应用的运行时验证工具:它不看截图,而是从运行中的应用内部直接读取网络响应、程序状态与控制台输出,给出 pass / fail / 无法判断的结论,并附上证据和要修的file:line。本文实战讲解如何把 Reticle 用作 CI 门禁——每次提交确定性重放已保存的 flow,无 AI 模型参与、默认 fail-closed、误报近乎 0,让每一个 commit 都经过一次真实的运行时验证,而不是停留在构建通过的纸面绿灯上。为什么 CI 门禁要验证运行时而不是构建构建、lint、单元测试都是站在应用外面的检查。而一批最难发现的 bug 恰好藏在外面看不见:Pay 按钮背后悄悄返回了500,页面渲染得毫无破绽角标显示 12,但 store 里真实状态是0表单把请求发了两次,界面上一次都没看出来这些沉默失败的共同点是:屏幕看起来正常,程序内部早已不对。传统 E2E 工具只能观察 DOM 和像素,结构性地看不见它们。Reticle 的 SDK 运行在页面内部(仅开发构建),因此能读到 DOM、网络、console 背后的程序状态,并把每次检查收敛成一个结论(verdict),而不是一张需要人眼去猜的截图。Reticle CI 门禁的三层结构第一层:flow 只录制一次,之后无限重放先在本地让编码 agent 驱动一遍真实旅程(如登录 → 下单 → 支付),说一声save that as a flow。flow 会被保存到.reticle/flows/并随代码提交。此后的每一次验证都是确定性重放:没有模型、没有随机漂移,输入相同,结论相同。这是每次提交都能验证的前提——你不可能让一个概率性的 LLM 在 CI 里稳定地通过。第二层:reticle verify,一条命令就是 PR 检查docs/cli/verify.mdx 中写得很直白:reticle verify就是 CI 命令——no model in the loop, no MCP。它启动引擎、等待页面内 SDK 拨号接入、重放全部已保存 flow、渲染结论后退出:npx reticlehq/server verify preview-url --timeout 60000退出码即契约:全部 flow 通过退 0,否则退 1。PR 检查只需要这一个 0/1,不需要再写任何工作流逻辑。第三层:官方 GitHub Action,每个 PR 一条 check仓库自带 action/ 组件,在每次 push / pull request 时重放你的 journeys 并报告一条 check。最小配置如下(来自 action/README.md):# .github/workflows/reticle.yml name: reticle on: [pull_request] jobs: verify: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 # 先启动或部署你的应用;action 需要一个有响应的 URL - uses: reticlehq/reticle/actionmain with: url: https://preview.example.com api-key: ${{ secrets.RETICLE_API_KEY }}Action 内部自动完成四步:安装reticlehq/server与配套 Chromium → 读取.reticle/flows(仓库里没有时从平台拉取项目 suite)→ 执行reticle verify url --results-json→ 把每个 journey 的 verdict 汇总成一条 check 发到该 commit 上。action/action.yml 中定义了全部输入:必填url和api-key,可选project、node-version、cloud-url,并输出details-url指向 dashboard 详情。近乎0误报:门禁如何失败封闭近乎 0 误报在 Reticle 里是两个可以分别度量的事实,官方基准 bench/FALSE-GREEN-SCORECARD.md 给出了数据:指标ReticlePlaywright 脚本88 个注入 bug 的检出85 / 8859 / 88假绿(坏了却报 OK)1 / 8829 / 88误报(干净构建被标记)00而失败封闭(fail-closed)保证了剩下的假绿也不会长大,规则都写在 action/ci-check.mjs 的判决逻辑里:verdict 为no→ 门禁失败,并打印详情链接一个 journey 都没验证到 → 门禁失败。checked nothing is never a pass,空跑永远不可能是绿灯平台拒绝(401/402 等) → 门禁失败,直接透传平台消息应用没连上(No app connected)、仓库没有任何已保存 flow(verify 的诚实守卫)同样以退出码 1 收场配合本地侧的reticle gate,门禁在合并前还多问一句:你改动的文件,其受影响的 flow 有没有一份通过的验证工件? 它会阻断六类情况:未覆盖(uncovered)、断言被削弱(downgraded)、覆盖被删除(deletedCoverage)、新交互组件无人驱动(unflowed)、覆盖率回退(coverageRegressed)、浏览器加载了却从未执行(unexecuted);而 flake 隔离区(quarantined)只做展示、永不阻断——一次无法解释的 flake 挡住合并,会摧毁所有人对红灯的信任。详见 docs/cli/gate.mdx。门禁变红时:直接跳到要修的文件Reticle 的每条结论都自带证据:是POST /api/order返回了 500 而不是 200,是 store 里auth状态没有落地,还是 console 里混进了一条 error——并且定位到具体源码行,例如src/checkout/PayButton.tsx:42。这把某处坏了变成了打开这一行修掉它。每次运行还会落盘一份版本化工件.reticle/runs/id.json(其中repair.failurePackets[]写明坏在哪),CI 里的 check 和本地的 gate 消费的是同一份工件——本地绿灯与 PR 绿灯从此是同一件事。三步接入,开始运行时验证安装并初始化(应用目录内):npm install -g reticlehq/serverreticle setup mcp,再运行npx reticlehq/server init。让 agent 驱动一遍真实流程,把关键旅程存为 flow 提交到.reticle/flows/。加一条 Action:把上面的reticle.yml放进.github/workflows/,把 workspace API key 存为 secretRETICLE_API_KEY。此后每个 PR 自动重放、自动出 check。可选:在部署即预览时刻再加一道——部署成功后在 CI 里跑一条npx reticlehq/server verify preview-url,退出码 0/1 就是 PR 检查,完整做法见 docs/deploy-checks.md。gate管改动落盘前,verify管预览上线时,两者读取同一份工件,互不重复。常见问题速查No app connected:部署构建把仅开发用的 SDK tree-shake 掉了,页面里没有任何东西在拨号桥接。让预览构建满足 dev gate 即可;这不是误报——没有 SDK 就没有可读的程序。前一个 flow 登录了,后一个 flow 也登录着:verify 对同一标签页顺序重放,残留状态会互相污染。把每个 flow 写成自包含,或使用并行模式让每个 flow 拿到隔离的浏览器上下文。预览域名不是 localhost:Reticle 会注入带一次性配对 token 的reticle.connect()并放行该预览 origin,无需按环境重新构建。相关源码与文档action/README.md — GitHub Action 输入表与什么情况下作业失败action/ci-check.mjs — 门禁判决的核心逻辑,0 journeys 永不放行action/ci-check.test.mjs — 判决逻辑的测试:no、402、401、空跑全部必须失败docs/cli/verify.mdx — verify 的退出码契约docs/cli/gate.mdx — 本地门禁的阻断/非阻断分类docs/deploy-checks.md — 预览部署检查的两种 recipe 与诚实边界bench/FALSE-GREEN-SCORECARD.md — 误报与假绿的完整基准与重跑方式docs/gates.md — Reticle 团队自己的 CI 门禁设计:分层、路径路由与自测守卫赞分享【免费下载链接】reticleAI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web desktop applications.项目地址https://gitcode.com/gh_mirrors/reti/reticle点击查看免费下载相关推荐Initializer Output Checklist 实战指南用五类初始化产出物让 Agent 每次开工前都可运行、可验证、可交接Initializer Output Checklist 实战指南用五类初始化产出物让 Agent 每次开工前都可运行、可验证、可交接 初始化initRespect Validation 的 All 验证器让集合中每一项都通过校验的实战指南Respect Validation 的 All 验证器让集合中每一项都通过校验的实战指南 本篇指南围绕 Respect ValidationPHP 校验库后端开发工具百元级 ESP32 机器狗完整搭建手册ESP-HI 从接线到开口对话百元级 ESP32 机器狗完整搭建手册ESP HI 从接线到开口对话 把一只 ESP32 机器狗的成本拆开来算4 路舵机约 40 元ESP32 C3 主控人工智能大模型语音交互助手嵌入式物联网智能硬件MCP 服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考