
这次看到的是这个项目:
aidenybai/react-grab

Stars:7,368 | Forks:334 | License:MIT | Language:TypeScript |
|---|
react-grab 是一个给 React 项目用的开发期工具。
它做的事情很具体:在浏览器里选中一个 UI 元素,然后把这个元素背后的 React 组件、源码文件和行号复制出来,交给你的 coding agent。
README 里的例子很直白。
你选中登录页上的链接,复制出来的上下文会像这样:
[<a class="ml-auto inline-block text-sm" href="#">Forgot your password?</a> in LoginForm (at components/login-form.tsx:46:19)]这不是再做一个网页调试器。
它更像是给 agent 一根指路针:别只看 DOM,直接告诉它这个界面元素大概来自哪个组件、哪一个文件。

现在很多前端改动,已经是这样开头了:
“把错误提示里的重试按钮调大一点。”
“侧边栏头像有点歪,修一下。”
人看得懂这个需求。
Agent 接到以后,第一步却经常卡在找文件。
真实 React 项目里,一个按钮可能穿过 HOC、forwardRef、动态导入、barrel re-export、设计系统封装。页面上看到的是按钮,源码里可能不叫 Button,也可能不在 components 目录。
react-grab 想补的就是这一段上下文。
你在页面里点到那个元素,它把元素 HTML、组件名、component stack、source location 组合起来,让 agent 少做几轮盲搜。

第一个看点是用法轻。
项目根目录跑:
npx grab@latest init它也支持手动接入。README 给了 Next.js App Router、Next.js Pages Router、Vite、Webpack 的方式。核心都是只在 development 环境加载,不应该放到线上用户环境里。
第二个看点是复制内容不是只有组件名。
它会尽量拿到 source file、line number、component name。对 agent 来说,LoginForm at components/login-form.tsx:46 比“页面上有个 a 标签”有用得多。
第三个看点是可扩展。
仓库里的类型定义能看到 plugin、actions、hooks、transformCopyContent、onOpenFile、transformAgentContext 这些接口。也就是说,团队可以把“复制给 agent 的内容”改成自己的格式,或者把“打开文件”接到自己的编辑器链接里。

它值得看的地方,不是“AI 自动改前端”这个口号。
更实际的是,它抓住了 agent 做前端任务时很常见的一步:从界面回到源码。
项目 README 指向了 React Bench。这个 benchmark 专门测 coding agent 能不能根据页面元素描述找到 React 源文件。
React Bench 里有 330 个测试用例,覆盖 14 类模式,包括 HOC 堆叠、复合组件、barrel re-export、动态导入、render props、同名组件冲突等。
在公开结果里,React Grab + Claude Code 的准确率是 96%,平均解析时间是 20.7 秒。没有工具提示时,Claude Code 是 86% 和 45.1 秒。
这个数字不必当成绝对结论。它只是在一个 benchmark、一个模型组合里测出来的。
但它说明了一件事:给 agent 一个靠谱的 source hint,确实可能比让它自己 grep 半天更稳。

最短路径就是在现有 React 项目里初始化。
npx grab@latest init如果不想用 CLI,也可以手动加载。
Next.js App Router 里,可以在 app/layout.tsx 的 head 里按 development 条件加载 react-grab/dist/index.global.js。
Vite 项目里,可以在入口文件里写:
if (import.meta.env.DEV) {
import("react-grab");
}Webpack 项目也类似,用 process.env.NODE_ENV === "development" 控制。
跑起来以后,在页面里 hover 元素,按住快捷键复制,再把结果贴给 agent。更进一步,可以注册 plugin,把右键菜单、toolbar action、复制内容转换成团队自己的工作流。
它适合两类人。
一类是经常用 Cursor、Claude Code、Codex 这类 coding agent 改 React 页面的人。尤其是需求从视觉描述出发,而不是从文件名出发时,它会比较顺手。
另一类是维护组件层级比较深的前端团队。组件被设计系统、业务壳、权限壳、埋点壳包了几层以后,agent 找文件的成本会明显上来。
要注意的是,它不是生产功能。
最好只在开发环境启用。它会读取页面元素和 React source location,也会给页面挂 overlay 和 toolbar。线上环境没必要暴露这些东西。
另外,benchmark 结果可以参考,但别只看图表就下结论。真正接入前,还是应该拿自己项目里的几个典型页面试一下:能不能拿到正确文件,行号准不准,复制出来的上下文是不是刚好够 agent 用。
今天就先聊到这里。我们下期再见!