wechat-search-collector

统一安装与执行目录:~/.agents/skills/wechat-search-collector/ 。执行前先进入该目录:

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "wechat-search-collector" with this command: npx skills add httprunner/skills/httprunner-skills-wechat-search-collector

微信视频号搜索

约定

统一安装与执行目录:~/.agents/skills/wechat-search-collector/ 。执行前先进入该目录:

cd ~/.agents/skills/wechat-search-collector

  • 使用 android-adb 执行设备操作;使用 ai-vision 从截图定位元素(不要用 dump-ui )。

  • 关键:所有 UI 操作(如点击、输入)必须使用 plan-next 进行规划和执行。严禁先执行 query 再使用返回坐标进行点击,因为存在坐标偏移问题。

  • 优先复用 references/commands.md 的函数封装(ADB /VISION /TASK /REPORT ),避免 cd 漂移。

  • 产物目录:TASK_ID 存在则写 ~/.eval/<TASK_ID>/ ,否则写 ~/.eval/debug/ (文件名带时间戳)。

  • 结果采集与上报:使用 result-bitable-reporter ;进入微信流程前必须 collect-start ,结束时必须 collect-stop

  • report 。

前置处理

  • 读取设备序列号:使用环境变量 SerialNumber (或 ADB devices 自行确认)。

  • 准备输出目录:TASK_ID 必须为数字;创建 ~/.eval/<TASK_ID>/ 。

  • 启动采集:执行 REPORT collect-start --task-id <TASK_ID> --db-path ~/.eval/records.sqlite --table capture_results (见 references/commands.md )。

  • 可选拉取任务:用 TASK claim 从飞书领取任务;按 Scene 选择流程(综合页搜索 / 个人页搜索)。

共享子流程:滚动结果到触底(每滑动 5 次检测一次)

目标:避免视觉误判,优先用 sqlite capture_results 增量判断是否还有新增。

  • 进入某个关键词结果页后,记录基线 LAST_COUNT : LAST_COUNT="$(REPORT stat --task-id <TASK_ID>)"

  • 循环执行直到触底:

  • 滑动 5 次:ADB -s <SERIAL> swipe 540 1800 540 400 --duration-ms 800 (循环 5 次;每次滑动后随机等待 500~1000ms)

  • 查询当前总行数:CUR_COUNT="$(REPORT stat --task-id <TASK_ID>)"

  • 若 CUR_COUNT == LAST_COUNT 连续出现 N 次(建议 N=3 ),判定触底;否则更新 LAST_COUNT=CUR_COUNT 并继续。

  • sqlite 判定不可用时,用 ai-vision assert 二值兜底(不确定必须判定为否),见 references/commands.md 。

综合页搜索流程

适用于“在视频号综合页搜索单个或多个关键词并遍历结果”的需求。

  1. 任务参数校验
  • 任务信息必须提供搜索关键词(以逗号拆分为 KEYWORDS )
  1. 启动微信
  • 若当前已在微信内,先使用 android-adb 的 back-home 命令返回手机桌面。

  • 回到桌面后再启动微信。

  1. 进入 发现 -> 视频号
  • 通过截图 + ai-vision 定位并点击 发现 与 视频号 入口。
  1. 进入搜索界面
  • 通过截图 + ai-vision 点击搜索框/放大镜进入搜索页;若被遮挡则先滑动后再定位。
  1. 依次输入关键词并触发搜索
  • 对关键词列表 KEYWORDS 逐个执行:清空输入框 -> 输入关键词 -> 触发搜索。

  • 若未进入结果页,重试触发直到进入结果页。

  1. 结果滚动到底并切换下一个关键词
  • 每个关键词的结果页都执行“结果滚动到底”的滑动循环。

  • 对每个关键词执行“共享子流程:滚动结果到触底(每滑动 5 次检测一次)”。

  • 确认触底后:点击搜索框确保输入框激活 -> 清空 -> 输入下一个关键词 -> 触发搜索,直到完成所有关键词的遍历。

  1. 场景后置处理
  • 当综合页搜索任务成功完成后,调用 piracy-handler ,实现盗版聚类筛查、子任务创建与 webhook 推送计划创建。

  • 若综合页搜索流程失败或中断,不调用该编排器。

个人页搜索流程

适用于“先进入某账号个人页,再在个人页内检索多个关键词并遍历结果”的需求。

  1. 任务参数校验
  • 任务信息必须提供:账号名称(ACCOUNT_NAME )和搜索关键词(以逗号拆分为 KEYWORDS )
  1. 启动微信
  • 若当前已在微信内,先使用 android-adb 的 back-home 命令返回手机桌面。

  • 回到桌面后再启动微信。

  1. 进入 发现 -> 视频号
  • 通过截图 + ai-vision 定位并点击 发现 与 视频号 入口。
  1. 进入搜索界面
  • 通过截图 + ai-vision 点击搜索框/放大镜进入搜索页;若被遮挡则先滑动后再定位。
  1. 搜索账号并进入个人页
  • 输入账号名称 ACCOUNT_NAME 并触发搜索

  • 进入搜索结果后,若有目标账号则直接点击进入个人页

  • 否则可先点击 账号 Tab,然后在账号列表中点击目标账号进入个人页

  1. 在个人页依次搜索关键词
  • 对关键词列表 KEYWORDS 逐个执行:先点击个人页搜索框确保输入框激活 -> 清空 -> 输入关键词 -> 触发搜索 -> 滑动结果到底。

  • 每个关键词的结果页都执行“结果滚动到底”的滑动循环。

  • 对每个关键词执行“共享子流程:滚动结果到触底(每滑动 5 次检测一次)”。

  • 每个关键词搜索前确认仍在该账号个人页;若误退出则重进个人页后继续。

  1. 场景后置处理
  • 个人页任务结束并进入终态(success/error )后,若任务存在 GroupID ,调用 piracy-handler 做“是否就绪 + webhook 推送”。

任务结束后的收尾逻辑

  • 若 claim 未获取任务,直接结束不做收尾。

  • 所有关键词遍历完成后,使用 android-adb 的 back-home 命令返回手机桌面

  • 无论任务成功、失败或中断,都必须执行以下动作(finally 语义):

  • 调用 result-bitable-reporter 的 collect-stop 结束当前设备采集,并打印采集统计。

  • 调用 result-bitable-reporter 的 report ,并带 --task-id <TASK_ID> ,仅上报当前任务在 capture_results 中 reported in (0,-1) 的数据到飞书多维表格采集结果表。

  • 调用 feishu-bitable-task-manager 更新该 TaskID 的字段:Status -> success/failed/error (基于任务执行结果)、EndAt ->now

备注与排障

  • 点击不准:重新截图,让 ai-vision 提供更精确坐标(不要改用 dump-ui )。务必确认使用了 plan-next 而非 query 。

  • 异常流程(弹窗遮挡或步骤卡住):先识别弹窗并关闭,再继续原步骤。处理命令见 references/commands.md 。

  • 任务超时限制:若单个任务执行时长超过 30 分钟,则终止执行,任务状态更新为 failed。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

android-adb

No summary provided by upstream source.

Repository SourceNeeds Review
General

feishu-bitable-task-manager

No summary provided by upstream source.

Repository SourceNeeds Review
General

result-bitable-reporter

No summary provided by upstream source.

Repository SourceNeeds Review
General

harmony-hdc

No summary provided by upstream source.

Repository SourceNeeds Review