miniprogram-browser
当想要在微信开发者工具里用接近 agent-browser 的方式操作小程序时加载。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
当想要在微信开发者工具里用接近 agent-browser 的方式操作小程序时加载。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | miniprogram-browser |
| description | 当想要在微信开发者工具里用接近 agent-browser 的方式操作小程序时加载。 |
miniprogram-browser 用来把微信小程序自动化收敛成接近 agent-browser 的命令体验。
命令可按环境选择:
miniprogram-browser ...
# 或
npx miniprogram-browser ...
它适合让 agent 直接操作微信小程序,但要记住两点:
projectPath 必须是开发者工具实际打开的项目根目录不要用它做上传、预览、发布、CI 打包;那属于 miniprogram-ci。
snapshot -i、@e1、click、fill、get text 这类 agent-friendly 命令open 绑定的是一个小程序实例,不是页面 URLpath 或 app inspect 确认当前状态goto 到目标路由(默认首页)logs / exceptions 看运行时输出,理解小程序当前发生了什么screenshot --mode layout 理解页面结构snapshot -i --layoutsnapshot -i 生成 @eN refspage/visual/annotatesnapshot -i如果你的目标是让模型稳定理解页面结构,优先使用:
miniprogram-browser screenshot out.png --session feat-a --mode layout --focus @e20,@e21
miniprogram-browser screenshot out.png --session feat-a --mode layout --no-ref
miniprogram-browser screenshot out.png --session feat-a --mode layout -c --capsule
如果需要纯文字布局信息,再使用:
miniprogram-browser snapshot -i --layout --session feat-a
它会为每个 ref 附加相对窗口的比例位置/尺寸(x/y/w/h 百分比)。
layout 截图模式会:
-c/--compact 时输出更紧凑的语义布局--raw 时切到更底层的运行时节点布局--focus 高亮--no-ref 时隐藏图片里的 @eN 标签,但不影响 focus 框--capsule 叠加右上角微信胶囊# 如果本地还没设置 WECHAT_DEVTOOLS_CLI,再先 export
export WECHAT_DEVTOOLS_CLI=/path/to/cli
miniprogram-browser open --session feat-a --project /path/to/miniprogram-root
miniprogram-browser app inspect --session feat-a
miniprogram-browser logs --session feat-a --limit 20
miniprogram-browser exceptions --session feat-a
miniprogram-browser goto /pages/dashboard/index --session feat-a
miniprogram-browser screenshot artifacts/layout.png --session feat-a --mode layout --no-ref
miniprogram-browser snapshot -i --layout --session feat-a
miniprogram-browser screenshot artifacts/layout-focus.png --session feat-a --mode layout --focus @e16,@e17
miniprogram-browser snapshot -i --session feat-a
miniprogram-browser click @e1 --session feat-a
miniprogram-browser timeline --session feat-a
miniprogram-browser screenshot --session feat-a --mode annotate
miniprogram-browser close --session feat-a
miniprogram-browser help
如果本地 shell 已经设置了 WECHAT_DEVTOOLS_CLI,就不需要重复 export。
如果当前环境还没安装 CLI,也可以改用:
npx miniprogram-browser help
完整命令清单以 CLI 自带帮助为准。
一个 session 绑定的是:
projectPathdevtoolsPortautoPort规则:
open/connect 必须显式传 --session 和 --projectdevtoolsPort 和 autoPort 都可以自动分配devtoolsPort;工具不会静默把它改到另一个端口session 内部会串行化;不同 session 可以并发session + autoPort;devtoolsPort 通常复用当前 live IDE 端口close --session <name>,关闭对应 DevTools 实例并解绑session list 可以查看当前已绑定列表app inspect:应用结构摘要timeline:路由变化时间线logs / exceptions:运行时输出与异常;优先用它们理解当前页面的数据加载、报错、按钮点击后发生了什么system-info / page-stack:设备与页面栈典型诊断流程:
miniprogram-browser app inspect --session feat-a
miniprogram-browser logs --session feat-a --limit 20
miniprogram-browser exceptions --session feat-a
miniprogram-browser timeline --session feat-a
使用建议:
logs / exceptionslogs 已经明确报错,再去看 layout / snapshot 会更容易判断问题归因如果当前项目是跨端 Taro 项目,并且已经有可用的 H5 输出,这时可以把浏览器渲染作为辅助视觉工作流:
miniprogram-browser 拿真实小程序运行时结构、ref、logs、exceptions适用场景:
不适用场景:
wx 能力,H5 端并没有完整实现推荐步骤:
miniprogram-browser system-info --session feat-a
重点看:
windowWidthwindowHeightpixelRatio推荐移动基线:
375 x 812414 x 8962 或 3logs / exceptionssnapshot -isnapshot -i --layoutscreenshot --mode layout重要边界:
screenshot --mode layout;不要因为有浏览器就跳过小程序取证当 snapshot/click/fill/get 不够用时,再退到:
eval / eval --stdinnative <method> [...args]get attr|get prop|get rectcall wx / call page原则:
app inspect 默认只给摘要,不直接吐完整应用图。
默认摘要包含:
pagesSummarytabBarSummarycurrentpageStackrecentRoutescurrentOutgoingEdgesstaticSummary更详细时再用:
--sections a,b,c--all对 agent 而言,推荐顺序通常是:
--mode layoutsnapshot -i --layout--mode annotate--mode page / --mode visual原因:layout 更稳定,也更适合把结构、层次和 focus 交给模型分析;真实像素截图更适合留证或核对视觉细节。
补充边界:
page/visual/annotate 这些真实像素截图,本质上依赖开发者工具模拟器截图通道layout 不依赖真实像素截图通道,更适合作为默认分析入口支持四种模式:
--mode layout:结构化布局图,优先推荐给 agent--mode page:官方页面截图--mode visual:页面截图 + 胶囊视觉合成--mode annotate:页面截图 + @eNN 标注叠加--focus @e1,@e2:对指定 ref 叠加高亮框,支持多元素自动换色;当前样式是高对比配色 + 双层边框 + 轻纹理填充--no-ref:隐藏截图里的 @eN 标签;适合只看结构或汇报图默认模式是 page。
保存方式:
artifacts/screenshots)如果你主要是为了让模型理解页面,不要默认先追求真实截图;优先走 screenshot --mode layout。如果真实截图偶发超时,优先切到 --mode layout,其次才是 snapshot -i --layout。不要把 close/open 或重启 DevTools 当默认修复手段;只有在不同 session / 项目都持续超时时,再把完全重启 DevTools 当成最后手段。
截图前的通用建议:
goto / click / fill / call / native 后适度 waitpath、app inspect 或 snapshot -i 确认页面已经稳定--mode layout--focus 的推荐用法:
snapshot -i 拿当前页面的 refscreenshot --focus @e1,@e2snapshot -i -c;但 compact 现在只是同一套 ref 的子集,不会再重新编号snapshot -isnapshot -i -c 只是更紧凑的显示方式;compact 视图中的 ref 现在会复用普通快照里的同一 identitysnapshot -i --layout 会附加比例 rect;适合让模型做纯文字布局分析open 是打开页面 URL;它的本质是绑定实例open 成功就代表当前页已经对了;应先 path 或 app inspect--project 必须是开发者工具实际打开的项目根目录snapshot -i 需要业务自己提供 tree;不需要timeline 是截图历史;它记录的是路由事件,不是视觉历史eval 等价于浏览器 DOM 脚本;这里执行的是小程序 AppService 运行时native 是普通 click;它走的是开发者工具暴露的原生控制通道projectPath + autoPort,不要依赖抢占不同 devtoolsPort 来做多分支并行wait