Reticle Skill:让 AI Agent 拥有真正的运行时感知能力
AI 编程助手能生成代码,但生成完之后——谁来告诉它”这段代码到底跑没跑通”?Reticle 给出了答案:它是 AI Agent 的运行时验证层,不需要截图,直接从运行中的应用内部读取真实状态(网络请求、状态管理、控制台、路由),返回 pass / fail / unknown 的确定性判定,附上要修的文件和行号。8 月 23 日 GitHub 刚刷新,334 颗星,79 个 fork,属于那种”发布即进入 trending 视野”的新项目。
功能与原则
Reticle 定位为”AI Agent 的证明层”(proof layer),不是截图工具,也不是浏览器自动化库。它的核心原则:
- 读取程序真相,而非渲染像素:网络请求、状态管理、控制台输出、路由变化——这些才是代码跑没跑通的确凿证据。
- 确定性判定,不靠猜测:
reticle_act_and_wait和reticle_assert产生 verdict;其他工具只移动或读取,不产生结论。 - unknown 不是 pass:如果驱动了应用但无法判断结果,verdict 返回
verified: "unknown",绝不降级为 pass。 - dev-only / localhost-only:不做生产检查,数据不离本地。
认可度
| 指标 | 数据 |
|---|---|
| GitHub Stars | 334(截至 2026-08-23,发布不足 48 小时) |
| Forks | 79 |
| 最近一次 push | 2026-08-23T18:09 UTC(即今日) |
| License | Apache-2.0 |
| trending-claude-skills 排名 | 第 19 位(2026-08-23 更新) |
Reticle 出现在 linny006/trending-claude-skills 的实时榜单中,该仓库每 15 分钟抓取一次 GitHub Search API,按新鲜度和增长势头排名而非全量星数,能进入前 20 说明增长曲线陡峭。
链接
GitHub:https://github.com/reticlehq/reticle
官方文档:https://docs.reticle.sh
原作者
ReticleHQ(GitHub Organization),专注于 AI 编程工具的基础设施层。核心维护者公开在 GitHub profile 中,团队有独立的 Discord 社区(discord.gg/BwABzv9ZRz)用于开发者交流。定位是”给 AI Agent 造一个运行时感知底座”,而非面向终端用户的应用产品。
介绍
Reticle 起源于一个所有 AI 编程助手都会遇到的问题:Agent 报告”功能完成”,但你打开 App 发现页面白屏、接口 500、流程断了——因为 Agent 没有真的跑过它写的代码。传统的”读 diff”和”跑单元测试”都无法解决这个问题:diff 只能证明你改了哪里,单元测试不跑真实应用,而截图对比又太脆弱且依赖视觉模型。
Reticle 的思路是:在你的开发服务器里注入一个 dev-only SDK,通过 MCP 协议暴露一套工具集给 AI Agent。Agent 调用 reticle_navigate 打开页面,调用 reticle_act_and_wait 执行操作并等待可观测的副作用,调用 reticle_network 读取真实发出的 HTTP 请求——最后得到一个带证据的 verdict,告诉你”接口返回 200,数据写入了,页面路由跳转正确”,或者”点击后网络请求没发出来,可能 selector 写错了”。
Reticle 支持 React、Vue、Svelte、Preact、Astro、plain HTML 等所有主流前端框架,以及 Electron 和 Tauri 等桌面环境,macOS / Linux / Windows 全平台覆盖。安装方式是往 Claude Code 里粘贴一行命令,Agent 会自动完成剩下的初始化工作——这不是传统的”配置文件安装”,而是一种 Agent 可以自我驱动完成整个安装流程的设计。
特点
- 无需截图:读取网络层、状态管理、控制台、路由——真正的程序内部状态,而非视觉表征。
- MCP 协议原生:支持 Claude Code、Cursor、Copilot、Codex、Windsurf、OpenCode,以及任何 MCP Agent。
- 框架全覆盖:React、Vue、Svelte、Preact、Astro、plain HTML + Electron、Tauri。
- 自驱动安装:Agent 粘贴一行命令后自动完成 SDK 注入、MCP 注册、Skill 注册,不需要人工介入。
- Flow + 记录回放:录制一次交互为 self-healing 脚本,后续每次运行锚定在语义层而非 CSS selector,长期稳定。
- CI 集成:可将 Flow 转为
@reticlehq/test声明式测试套件,在 Vercel / Netlify PR check 中强制验证。
使用方法
第一步:让 Agent 安装(推荐,Agent 自行完成全部初始化)
在 Claude Code(或任意支持 MCP 的 Agent)输入:
/plugin marketplace add reticlehq/reticle
/plugin install reticle@reticlehq
Agent 会自动:注册 MCP Server → 注入 SDK 到项目 → 启动开发服务器(如未启动)→ 打开应用 → 驱动一个真实 Flow 并返回 verdict。
第二步:验证变更
每次改动后,在 Agent 对话框输入:
/reticle
Agent 会自动驱动你刚才改过的那个 Flow,读取真实运行结果,返回 pass/fail/unknown 及修复位置。
手动安装(不依赖 Agent 自我驱动):
npx @reticlehq/server init
# 然后按文档注册 MCP Server 并添加 SDK
使用场景与人群
适用场景:
– AI Agent 生成页面后,需要验证功能是否真正跑通(表单提交、API 调用、状态更新、路由跳转)
– CI/CD 流程中,对 AI 生成的代码做自动化回归验证
– 多 Agent 并行驱动同一个应用时,做一致性验证
– 前端应用(Web / Electron / Tauri)在改动后的快速 smoke test
目标用户:
– 使用 Claude Code、Cursor、Codex 等 AI 编程助手的开发者
– AI 应用构建平台(需要对其生成代码做验证的 Builder)
– 有 AI 生成代码质量门禁需求的工程团队
输入与输出案例
案例一:验证新增的登录 API 调用
输入(Agent 动作):点击登录按钮,填写邮箱 test@example.com 和密码,进入仪表盘
Reticle 实际读取到:
- POST /api/login → 200 OK,响应体含 {token: "eyJ..."}
- localStorage.setItem('auth_token', 'eyJ...')
- window.location → /dashboard
- Zustand store 中的 isAuthenticated 变为 true
输出(verdict):
{
"verified": "pass",
"evidence": [
"POST /api/login returned 200",
"auth_token written to localStorage",
"Route changed to /dashboard",
"Zustand isAuthenticated: true"
]
}
案例二:Agent 声称”修复了”按钮点击无响应
输入(Agent 动作):点击"提交订单"按钮,等待页面出现成功提示
Reticle 实际读取到:
- 点击事件未触发任何网络请求
- 控制台无新输出
- 页面状态未变化
输出(verdict):
{
"verified": "unknown",
"evidence": [
"No network request after click",
"Console: no new entries",
"No state change detected"
],
"fix": "Check event listener binding — button may not be connected to handler"
}
Agent 收到 unknown verdict 后知道没有真正修复,会继续排查而非直接报告完成。
评论区
登录后可评论。