给 AI 用的 React 调试小工具:选中节点即可精准定位源码行号复制给 AI - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
linhey
V2EX    程序员

给 AI 用的 React 调试小工具:选中节点即可精准定位源码行号复制给 AI

< href="Javascript:" Onclick="upVoteTopic(1199307);" class="vote">
  •  
  •   linhey 6 天前 836 次点击

    最近在用 AI 改前端时,我反复遇到一个问题:

    页面上“想改的区域”很难一次说清楚,
    经常需要多轮确认“到底是哪个节点、哪个组件、哪一行”。

    所以我做了一个小工具:
    https://github.com/linhay/react-debug-inspector

    它解决什么问题?

    把“视觉区域描述”变成“可执行的源码定位信息”。

    选中页面元素后,可以直接拿到: 文件路径:组件名:标签:行号

    例如: src/components/Button.tsx:Button:button:42

    这样你把这串信息丢给 AI ,它就能更快、更准地改到你要的位置。

    使用流程

    1. 开启检查模式(右下角按钮)
    2. 鼠标悬停/点击目标节点
    3. 一键复制定位信息(或文案/图片/完整上下文)
    4. 粘贴给 AI ,开始定向修改

    流程:开启 bug 模式 -> 选节点 -> 丢给 AI 开始定向许愿

    适用场景

    • UI 微调(间距、颜色、字体、对齐)
    • 交互修复(按钮状态、弹窗层级、点击区域)
    • 多人协作时的“精确定位”沟通
    • 给 AI 提需求时减少来回确认成本

    设计原则

    • 开发环境可用,生产构建可剔除
    • 尽量零侵入(通过插件注入调试标识)
    • 面向真实协作链路,不是“只看不改”的演示型工具

    在线体验:
    https://linhay.github.io/react-debug-inspector/

    欢迎拍砖,尤其想听听大家在“AI + 前端协作定位”这块还有哪些痛点。

    9 条回复    2026-03-20 10:07:46 +08:00
    aojunhao123
        1
    aojunhao123  
       6 天前
    你造的这个轮子有什么是它不能满足或者你做的更好的吗: https://github.com/aidenybai/react-grab
    linhey
        2
    linhey  
    OP
       6 天前 via iPhone
    @aojunhao123 哈哈,之前不知道有这个库,我试试先
    Chuckle
        3
    Chuckle  
       6 天前
    最近刚好也需要个从页面元素定位到源码的方案,为的也是 AI 能知道要改哪里、影响范围评估等等。
    umi+qiankun 微前端,要改的东西都在独立包里,app 工程就是个页面入口,有时候套快 5 层包人找起来很麻烦,本地只跑 app 的 source map 也没用,安装的包产物都是服务器构建出来的,构建时在节点上注入大量信息也不太行,除非每个包都构建两个版本,构建生产 app 用的 和 开发时带信息的产物。
    我现在做法是提取 dom 特征节点(还是有注入一些特殊属性的)、url 路径等元信息,克隆所有的几百个包到本地,让 AI 自己先暴力找,确实能找到,就是慢,也费 token 。优化的话,找到了就把信息落向量数据库里,类似 RAG 一样,特征信息变动还是少的,特征节点嵌套结构也稳定,下次找就快了,至少能快速找到对应包工程,再去定位具体代码。
    不过,如果从 React 本身入手,模仿 React Scan 运行时注入应该更好?
    另外 AI 写代码确实好用,就是测试起来太麻烦了,很难自闭环,业务链路长又大,e2e 测试的时候没数据,或者接口报错,AI 能自己 call 后端,或者自己造、自己修(
    Chuckle
        4
    Chuckle  
       6 天前
    @Chuckle 只改 app 的构建,能做到给安装的依赖包产物里的组件加上 data-***的额外信息么
    linhey
        5
    linhey  
    OP
       5 天前 via iPhone
    @Chuckle 我这个原理就是在编译时给节点注入 debug-data 属性,是作为 vite 或者 babel 插件来执行注入的
    linhey
        6
    linhey  
    OP
       5 天前 via iPhone
    @Chuckle 我的场景是不看 AI 写的代码,只验收(纯 vibe)
    Chuckle
        7
    Chuckle  
       5 天前
    @linhey #5 组件在依赖包里怎么办,发到生产包的总不能编译时注入 debug-data 属性吧
    Chuckle
        9
    Chuckle  
       4 天前
    @linhey #8 看了,我们一个微前端 app 入口 50 多个依赖包,依赖包还有依赖包,业务组件都是封装抽离的,构建注入这套不现实,在看 bippy 动态注入的方案了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1163 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 17:56 PVG 01:56 LAX 10:56 JFK 13:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86