miniprogram-browser
当想要在微信开发者工具里用接近 agent-browser 的方式操作小程序时加载。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
当想要在微信开发者工具里用接近 agent-browser 的方式操作小程序时加载。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| 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