◆
qr-login —— 第三方网站微信扫码登录 + 二维码推送
qr-login:第三方网站微信扫码登录
人不在电脑前、又需要登录某个只支持微信扫码的第三方网站时,让 agent 在 ego-lite 隔离空间里把二维码抓出来推到手机上;扫码确认后,agent 继续在原 task space 复核平台登录态。
用法
直接说目标即可:
- 「登录掘金」/「帮我登一下知乎」
- 「登录 CSDN,把微信小程序码推给我」
- 「登录简书」/「登录今日头条」/「登录博客园」/「登录 51CTO」
- 「登录 SegmentFault,用微信扫码」
- 「扫码登录 xx 网站,把二维码推给我」
agent 会复用(或创建)名为 qr-login-<平台> 的 task space。八个内置站点分别按已实测路径完成刷新、交互、抓码和保存。
流程与踩坑
- 微信入口因站而异:掘金、知乎要绕过平台默认 App 码;CSDN 使用登录 iframe 中的微信小程序码;简书、今日头条走标准微信 OAuth;博客园、51CTO 使用站内公众号二维码。
- 今日头条协议框是自定义控件:真实节点为
span.web-login-confirm-info__checkbox[role="checkbox"],不是原生input。点击后必须严格读回aria-checked="true",否则禁止继续打开微信 OAuth。 - OAuth popup 必须保留:微信入口用 ego 真实鼠标点击,DOM
.click()会因缺少用户激活被 Chromium 拦截。通过点击前后的 targetId 差集锁定原始open.weixin.qq.com/connect/qrconnecttarget,再用 CDP session 直接控制;不能关掉后复制 URL 到新 tab,掘金会因 opener 上下文丢失在回调时报参数错误。 - 快捷登录视图要真实切换:微信记住头像时会显示「使用微信快捷登录」。先读
.js_switchToNormal的 rect,再向 popup session 发送真实鼠标按下/抬起;元素.click()可能不切视图。必须同时验证切换按钮消失且二维码真实可见,不能被页面预置节点骗过。 - 二维码同源抓取:
img.js_qrcode_img的 src 是open.weixin.qq.com/connect/qrcode/*,在页面里fetch(credentials: 'include')拿二进制,不落 URL。 - 推送走
scripts/notify-qr.py:BeeImg 图床(失败回退 Uguu)+ PushPlus HTML 图片消息,可选 ntfy 附件提醒。脚本不读任何密钥文件,PUSHPLUS_TOKEN等一律由调用方 export——私有封装vft-ai:qr-login-private负责从.secrets/供给;公众号流程复用同一脚本时加--title-prefix 公众号。 - CSDN 是专用分支:二维码为
.login-code-wechat .public-code img的 JPEG data URI,直接解码;不能等待open.weixin.qq.com。扫码可能登录或注册 CSDN。 - 站内公众号二维码也是专用分支:博客园、51CTO 的二维码来自
mp.weixin.qq.com,不能等待open.weixin.qq.com/connect/qrconnect;博客园扫码会同时关注博客园服务号。 - SegmentFault 是嵌入式 OAuth:二维码位于
#weixinQrCode iframe。快捷登录切换按钮会被 160px iframe 裁掉,需临时扩高父容器后真实点击;iframe 内图片fetch可能被跨域拒绝,此时按父页 iframe rect 截顶部二维码区域。登录验证的导航和稳定 DOM 检查分两个 heredoc,避免重定向瞬间的 target 切换误报。 - 扫码是真人步骤:推码成功后停止浏览器操作。回复「继续」或要求继续当前任务即自动重新接管,以 OAuth 回调或平台首页真实登录态复核为准。
支持范围
当前 skill 内置支持掘金、知乎、简书、今日头条、博客园、51CTO、CSDN、SegmentFault;其他站点需先实测登录入口和二维码形态,不能直接套用。
平台实测矩阵
截至 2026-08-29:
| 分类 | 平台 |
|---|---|
| 已完成真实扫码登录 | 掘金、知乎、简书、今日头条、博客园、51CTO、CSDN、SegmentFault |
CSDN 从官方登录 iframe 打开 code=applets 页面,等待 280×280 JPEG data URI 小程序码并直接解码;已经完成真实扫码及首页登录态复核。
简书、今日头条走标准 open.weixin.qq.com OAuth,已经完成真实扫码及站内登录态复核;博客园、51CTO 走站内 mp.weixin.qq.com 公众号二维码,其中博客园扫码会同时关注博客园服务号,两站均已完成登录态复核。
SegmentFault 在站内嵌入 160×160 的跨域微信 OAuth iframe。实测需要附着 OOPIF、处理被裁掉的快捷登录切换按钮,再严格排除隐藏节点和过期模糊码;已经完成真实扫码及首页账号入口、头像复核。

还没有留言,来发表第一条吧~