潜在触达 · 全流程 + 复刻 SOP + 常态运维

已 DM 触达过、≥1 天没回的高/中意向用户(反评 RC 纳入为待做项)做成事件驱动盯防:本人一发新视频,就在发布 ≤20 分钟内(理想 ≤10min)自动完成点赞 + 评论1(评这条视频内容)+ 评论2(逐字搬首触原文)。每人每天 ≤1 次、累计 ≤7 次、对方一回复就停。潜在触达对已 DM 过的老 lead 统一都触、不按视频内容筛(哪怕当天发的是养狗/雨衣视频也照触;商家/同行排除只在「首次找新 lead」那层、不在这层)。监控 + 三连发送都搬无影一台云电脑常驻(路 B),队列与发送同机闭环。

样板账号:饭粒 / 一筑 c5d236e1 ✅ 三连真视频首落地 2026-06-14 头号坑:连播 autoplay 打偏 待解:无影空闲挂起 → 真 7×24

🆕 2026-06-16:PR #360 已上线 — 路 B 后端收尾

变了什么(已部署 + 生产库验证过):① 停了「派单二触」cron → 潜在触达只剩路 B 一条事件驱动通道,跨通道重复触达从根消除(6-15 和为贵被两通道各触一次那种不会再有)。② 三个云端端点上线 /api/internal/pt/{pool,claim,complete}(用现有 FLY_WORKER_SECRET 鉴权、Vercel 没新增 env)+ 数据库加 claim_second_touch 领号 RPC + second_touch_state 加 e2e 两列。③ 无影可切「端点模式」:每轮 GET pool 直接拉名单+话术(去掉 mac 出表 → gist 摆渡那一整圈)、发前 POST claim 原子领号(别的通道当天碰过就作废)、发后 POST complete 实时回写 DB + 记「发布→完成」时效(journeys 达标徽章数据通了)。
⚠️ 还差一步才真用上:无影消费脚本加 --api-base https://akke.vercel.app/api/internal/pt(token 默认读 FLY_WORKER_SECRET)。没切之前仍走手动摆渡——端点已 ready、随时可切

⏱ 绑死全局的硬约束:视频发布 → 三连完成 ≤ 20 分钟

「趁新鲜」是潜在触达的命门。触达闸 2026-06-14 起放宽到 ≤20 分钟(达标线),≤10 分钟是理想(首个达成=质感 4.3min)。监控检测 + 回复门 + 话术(评论1 JIT 秒级 / 评论2 查表零延迟)+ 三连执行(1–3min)要全挤进这窗口;超过则该视频作废、不触。注:曾以为「feed 上架延迟 10–15min」是硬约束,PM 实测发视频 1–2min 即进 feed、已撤回——检测慢的真因是评论落在抓取周期的随机位置,不是 feed 慢。

六步全流程一个号的生命周期 · 耗时 · 原理 · 落库

这是一个号的「潜在触达生命周期」
起点:某个号被我们首次私信(DM)触达后、≥1 天还没回 → 进池、开始事件驱动盯防他发新视频。
过程:他每发一条新视频(≤20min 新鲜)就触一次(点赞 + 评论1 + 评论2);同一个人每天最多 1 次
终点(二选一):① 累计触达满 7 次仍没回 → 永久出库(人凉了别追);② 中途任意一次触达后扫到他回复 → 立即停、退出自动节奏、转人工接手。

「7 次 / 每天 1 次」的定义沿革(别按"连发 7 次"理解,按这个):早期(6-03/06)是「active 隔 3–5 天、触 ≥2 次转 low_freq 隔 10 天、从不按次数停」+ 进池门 ≥3 天;2026-06-11 改成现行——间隔恒 1 天(每天 ≤1)、累计满 7 次出库、进池门 ≥3 天 → ≥1 天;2026-06-13 加 deferred:wrong_user 等"触达尝试失败"不算成功次数、只冷却 1 天、不出库。单一真相源 = mark_second_touch RPC + second_touch_state 表。

#步骤耗时原理可云自动
0关注补齐
(前置·瓶颈)
日限 30/号
补 164 ≈ 5–6 天
监控只能看到「号关注了的人」。关注动作被抖音反爬挡死(raw API 403、Playwright 空白页),唯一通路 = 无影 GUI 原生登录点关注(_follow_grounded.py)。半自动
无影 GUI 常驻
1进池筛选
(候选计算)
秒级
批量 SQL
second-touch-worklist.ts:本号 DM 过 · 距最后一条 DM ≥1 天 · 原评论高/中意向 · 未停(未回未满 7 次)。可全云
纯 DB,可 cron
2实时监控
发新视频
检测延迟
≤60s + 网络
f2 签名拉账号关注流 follow/feed,每 ~45s 翻 5 页,视频 age≤20min 才算新鲜入队。_realtime_touch_watch_wuying.py,纯只读 API。产物 → 入队 realtime-touch-queue.jsonl(视频id / sec_uid / 发布时间 / 文案)。无影已跑
无 VPN、无 fake-IP
3回复识别
(去重停发)
scan 扫收件箱
分钟级
列表预览指纹比对判 replied → 回了就停。洞② P0 已落库 conversations.last_inbound_at,回复真相首次可查、跨机收敛。半自动
scan 需登录设备 GUI
4话术生成评论1 LLM 秒级
评论2 查表 0 延迟
评论1 = 逮到视频那刻 JIT:看这条视频标题/正文现场用 qwen3 生成对内容的反应(空正文 → 「赞赞赞」表情兜底)。评论2 = 查表逐字搬首触原文(DM/反评)照发不挡空(带微信/报价也发,封号风险走节奏层兜)。已实现
评论1 无影 JIT / 评论2 mac 预生成查表
5三连执行
点赞+评论1+评论2
每条 ~1–3min
须 ≤20min 窗内打完
无影 GUI douyin_comment_grounded.py:搜人 → 身份门 → 开视频 → 暂停 → 点赞 → 评论1 → 评论2(VL/模板匹配 + SendInput)。consumer _realtime_touch_consume_wuying.py 常驻 drain 队列。产物 → 写 comment_log_*.csv(点赞 / 评论1 / 评论2 各自状态 + 发送时刻)。卡 GUI
无影专用,桌面须醒着
6节奏控制
/ 出库
秒级mark-second-touch.ts + RPC:每天 ≤1 次、累计满 7 次 / 对方回复 → 永久出库;second_touch_state 单调推进、跨机去重。comment_log 摆渡回 mac 回写。可全云
纯 DB

实时监控原理 ·「不点界面、纯后台读数据」为什么监控稳、发送脆

监控(读)= 直接向抖音服务器要数据,不开界面

你平时看抖音"关注"页,背后其实是 APP 偷偷向抖音服务器要了一份"我关注的人最新视频清单"。监控跳过"开 APP、画画面",直接向服务器要这份清单,拿回的是纯文字数据(作者 / 视频ID / 发布时间 / 文案),代码直接读、挑出"池里的人 + 发布≤20min"。全程没有鼠标点击、没有画面、不用抖音窗口在前台。

f2 + cookie:服务器要求请求带"签名"证明是合法登录用户——f2 算签名、cookie 是一筑登录凭证,凑齐就能要到数据。

发送 / 关注(写)= 只能像真人一样点界面,所以脆

抖音把"读"和"写"分两种态度:(看别人发了啥)服务器愿意给(带签名就行)→ 监控走后台;(点赞 / 评论 / 关注)抖音严防机器人、把接口封死了(直接调 403 / 封号)→ 只能像真人一样点界面糊弄反爬。点界面靠"鼠标点对坐标、屏幕长对样",坐标偏 / 窗口没最大化 / 视频在轮播就点空——这就是当前发送出问题的根源

对比点界面(发送 / 关注 · 写)后台读数据(监控 · 读)
靠什么鼠标点对坐标、屏幕长对样一个数据请求
快慢慢,一条 1–3 分钟秒级,一次几十条
怕坐标 / 窗口 坐标偏就点空不怕 跟屏幕无关
抢不抢鼠标 跑时别碰不抢 后台静默
怕不怕黑屏 黑屏就瘫不怕 不看屏幕

翻页能力 · 会不会漏视频关注覆盖 + 池子涨大

监控每 ~45 秒翻 5 页 ≈ 75–100 条最新视频。「漏」= 某视频在它发布后 20 分钟里一直被更新的视频挤出前几页。当前池 318 人

关注覆盖其实够("12%" 是误判)

曾以为关注流只命中 12%=没关注那些人。实测是误判:关注流只露最近发过视频的人,"没出现 ≠ 没关注"。一筑号 500+ 关注 >> 池 318,覆盖大概率够,盲关 200 已否决。配合"发布 ≤20min 才触":视频发出后 20 分钟里每 ~45 秒查一次 = ~25 次露面机会,足够逮到。

会漏的唯一情形:关注流被高频号刷屏

正常号一天发 1 条左右 → 5 页绰绰有余。唯一风险 = 关注流里混进一天发几十条的高频号(实测有狗 / 雨衣厂这类),45 秒冒出一堆把目标挤出前几页才会漏。应对是旋钮不是墙:加页 / 加频 / 体检"逮到的视频落第几页"。(注:这些高频号若是已 DM 老 lead 照样触——"统一都触不按内容筛";这里只说它们占监控带宽,不是要排除。)

同事复刻 SOP换一个账号 / 换一个运营,从零跑起来

前提:你有①一台已登录抖音 PC 的无影云电脑(目录 C:\akke-wuying\wuying-dm\);②本机(mac)能跑仓库 pnpm tsx + worker/.venv;③你的 messaging 账号 idAKKE_ACCOUNT_ID)+ AKKE_ORG_ID。把下面命令里的账号换成你自己的。

  1. 本机出关注池 + 话术表mac
    关注池 = 你号 DM/反评过、≥1 天没回的高中意向名单(special-follow-*.json);话术表 = 每人「评论2 搬首触原文」查表(零 LLM、秒出)。
    pnpm tsx scripts/second-touch-worklist.ts            # 先出 worklist(评论2 文本源)
    worker/.venv/bin/python worker/scripts/wuying-dm/_gen-realtime-touch-table.py \
      --pool /tmp/special-follow-你.json --out /tmp/realtime-touch-table.json
    # 需 .env.local 的 AKKE_ORG_ID;评论1 不在表里(无影 JIT 现生成)
  2. 打包摆渡到无影mac无影
    5 个文件打 tar.gz 传 paste.rs,无影一条命令拉下解压(必须 curl.exe,不能用 Invoke-WebRequest——会损坏 UTF-8 中文)。
    # mac:打包 + 上传
    tar -czf /tmp/rtb.tgz -C worker/scripts/wuying-dm \
      _realtime_touch_watch_wuying.py _realtime_touch_consume_wuying.py \
      _jit_comment1_wuying.py _start-realtime-touch.bat \
      -C /tmp realtime-touch-table.json
    curl -s --data-binary @/tmp/rtb.tgz https://paste.rs     # 拿到 URL + 记字节数
    
    # 无影 PowerShell:下载 + 核字节 + 解压
    cd C:\akke-wuying\wuying-dm
    curl.exe -s <URL> -o rtb.tgz
    (Get-Item rtb.tgz).Length        # 必须 == mac 那边字节数
    tar -xf rtb.tgz
    另需无影本地已有:dy_cookie.txt(你号 cookie)、special-follow.json(关注池,注意文件名)、douyin_comment_grounded.py(三连执行器)、_probe_follow_feed_wuying.py.env(含 OPENROUTER_API_KEY + OCR key)。
  3. 无影一次性环境无影
    pip install f2==0.0.1.7(硬钉这版,它锁 httpx==0.27.2,别升 httpx);确认 .env 里有 OPENROUTER_API_KEY(评论1 JIT 用,缺了就全退「赞赞赞」)。
  4. 验 JIT 评论1 能用无影
    py _jit_comment1_wuying.py "复式loft改造 楼梯下做了嵌入式储物柜"
    打印 key=有 + 一条贴合视频的评论 = ✅;打印 key=无(退兜底) + 赞赞赞 = .env 缺 key(补上才有内容反应版)。
  5. 发送前置(每次开机必查)无影
    抖音 PC 已登录 + 最大化 + 前台;屏幕分辨率锁 2560×1600;输入法切 英文
  6. 启动常驻无影
    双击 _start-realtime-touch.bat → 弹两个黑窗口(Akke-watch 监控 + Akke-consume 消费),各带崩溃自动重启。跑批期间别碰鼠标键盘(发评论时全程控 GUI)。
  7. 验证真发了mac
    别信消费日志的「✅已点发送」——它会假阳性。铁证两层:①执行器验证闸当场截图验(点赞验爱心变红、评论验气泡出现),验不过记 unverified 不算成功;②人工复核 = 用一筑「喜欢」列表看视频在不在 + 另号/无痕看评论气泡。⚠️ 三连的点赞不写 outreach_eventsvideo_like/comment_like 恒 0,别拿它当铁证),证据看 comment_log + second_touch_state.last_touch_at。comment_log 摆渡回 mac 跑 mark-second-touch.ts --from-comment-log 回写节奏。

开机 / 启动 · 打开 shell 后怎么操作每次进无影先做这几步

  1. 远程进无影桌面无影:确认抖音 PC 已登录 + 窗口最大化 + 在前台;分辨率锁 2560×1600;输入法切英文
  2. (建议)开评论宽松验证无影:脚本目录 .envAKKE_COMMENT_VERIFY_LENIENT=1(减少「评论假失败」,6-15 查到一直没开 → send_unverified 虚高)。
  3. 双击 _start-realtime-touch.bat无影弹出 2 个黑窗口Akke-watch(监控盯关注流)+ Akke-consume(消费发三连),各自崩溃会自动重启。就这 2 个,别多开、也别关。
  4. 跑批期间别碰鼠标键盘无影:发评论时全程控 GUI,碰一下就 focus_fail。它一天只动几分钟、其余时间在空等。

怎么看它还在跑:监控窗 banner 有 lead池 318、日志在刷 🔥/⏰ 时间戳。断了(无影后半夜可能被平台层空闲挂起)→ 重新双击 .bat 即可。深夜 00–06 点本就没什么人发视频(占全天 1.8%),挂了不亏,重点保白天 + 傍晚高峰。

常态运维:要一直开着吗?最常被问

⚠️ 核心真相:发送那步要桌面「醒着」

无影是云电脑(跑在阿里服务器,不是你自己 mac),但它有个老毛病——客户端一断开、桌面容易黑屏/挂起(历史上「87% 黑屏」是自动发失败头号根因)。而点赞+评论是 GUI 自动化,必须桌面亮着、抖音在前台才能干活。所以:

监控(逮视频):纯 API 只读,进程不挂就一直跑,黑屏也不影响检测。
发送(点赞评论):需要无影桌面是醒着的。你把无影客户端关了/断开 → 桌面可能黑屏 → 发送失败、逮到的视频过期作废。

✅ 当前可靠跑法

①两个黑窗口别关(关 = 停)。②抖音 PC 保持登录 + 最大化 + 前台。③无影桌面保持连接/醒着——你自己的 mac 可以休眠/断网(那只是连无影的客户端),但无影那台云桌面要保持活跃,否则黑屏发不出。④发评论时别碰鼠标键盘。

说人话:你不用一直盯着,但无影那台云电脑得保持"亮屏在线"状态,别让它断开挂起。覆盖才 12%、一天就 1–2 条,所以它大部分时间在空等,逮到才动几分钟。

🚧 真 7×24 无人值守还没完全解

无影黑屏 + 要保持前台,意味着现在还做不到「关掉一切它自己 7×24 跑」。治本方向(待做):无影企业版 EDS 官方远程命令(ecd run-command 推 PS 脚本)+ 按需唤醒(定时窗口拉起桌面)+ 防黑屏保活。当前阶段 = 保持无影在线 + 常驻脚本这套半自动。

常见 QA

一天能发多少条?为什么少?
6-15 实测一天 逮到 18、实发 10(成功 6)。瓶颈不是关注覆盖(12% 是误判、覆盖其实够),而是 ① 真 lead 发新鲜装修视频的少(关注流大量是非装修内容)+ ② 评论执行成功率 ~60%(focus_fail / 验证误判,可调)。提产量=把执行成功率提上去 + 窗口对准发帖高峰(傍晚 17–21)。
评论1 和评论2 分别是什么?
评论1 = 对 ta 刚发的这条视频内容的真实反应(看标题/正文 JIT 生成,干净、不带价格微信);视频没文案就发「赞赞赞」。评论2 = 逐字搬你之前给 ta 发的首触原文(DM 或反评),带产品/微信也照发。两条都是公开评论。
为什么有的人只发了「点赞 + 评论1」,没有评论2?
那个人在 worklist 里没取到首触原文(多为只反评过、没 DM 过的人——反评记录在 reverse_comment_queue,当前 worklist 只读 messages)。评论2 空就只发点赞+评论1,不报错。要补这批,让 worklist 多 union 反评表(扩量项)。
带微信/报价的公开评论会被限号吗?
本项目未实测到限号(2026-06-02 反评衍生公开评论实跑记录是「零风控」),PM 6/6 已拍板「首触原文照发、不做私信→公开安全转换」,封号风险靠节奏层兜:同人每天 ≤1、累计 ≤7、灰度从低起。所以评论2 照发、不挡空。
会不会重复骚扰同一个人?
三道去重:①无影本地「同人每天 ≤1 次」;②DB second_touch_state 累计满 7 次 / 对方一回复 → 永久出库;③监控按 aweme_id 去重,同一条视频只触一次。
发评论时我能用这台无影干别的吗?
不能。点赞+评论是模拟人手操作(控鼠标键盘 + 截图找控件),跑批期间你碰鼠标/切窗口会打断它。它一天只动几分钟,其余时间空等,那时可以用。
关注覆盖到底够不够?(之前说的 12% 呢)
够。"覆盖只 12%"是误判——监控关注流只露最近发过视频的人,"没出现 ≠ 没关注"。一筑号 500+ 关注 >> 池 318,一轮监控就能逮到多个池里人的新视频 → 覆盖不是瓶颈盲关 200 已否决。真要修的是同名搜错人(wrong_user),用按抖音号反查定点解,不靠盲关。(抖音里"关注"是独立动作,跟发没发过私信无关——这点没变。)
进池拉的是什么意向的人?包含反评(RC)吗?
当前 second-touch-worklist.tsintent_label ∈ {高意向, 中意向}高+中都拉,不是只高);且只读 messages(DM 记录)、不读 reverse_comment_queue(反评)→ 只反评过没 DM 过的人当前不进池。「只高意向 + 纳入 RC」是待定改动项(需改 worklist + 重生成池/表 + 重摆渡;注意只留高意向会让池更小、12% 覆盖更紧)。
实时监控、回复识别到底怎么工作?
实时监控:每 ~45s 用你号登录态拉一次「你关注的人最近发了啥」(走数据接口,等于 APP 的"关注"信息流),看到池里人发了 20min 内新视频就排队,纯读取不操作。回复识别:发之前扫你号私信收件箱,用之前发给 ta 那句话当指纹比对,对方已回 → 标"已回"、不再触达(回了还发不礼貌也没必要)。
「节奏层兜底」是什么意思?
评论2 照搬私信原文会带微信/报价,公开评论理论有封号风险。「节奏层兜」= 不靠改话术、靠控频率压风险:同人每天最多 1 次、累计满 7 次出库、灰度从小量起。即"话术带敏感词没关系,靠发得克制不密集把封号概率压住"。
三连最快多久发完一条?
实测约 1.5–3 分钟(搜人→开视频→点赞→评论1→评论2)。快不下去不是程序慢,是故意加了防风控停顿(每步间 sleep 几十秒模拟人手),硬压到几秒反而像机器人更易被抓。1.5–3min 是"安全速度"地板,20min 窗口够发 1 条。
话术表重生成能更自动、少依赖 mac 吗?
✅ 已上线(PR #360,2026-06-16):端点 GET /api/internal/pt/pool 有库权限、实时算最新名单+话术,无影消费脚本加 --api-base 后每轮直接 HTTP 拉 → 零 mac、零手动摆渡(连 claim 领号 + complete 回写也一起做了)。差一步:把无影脚本切到 --api-base 模式(端点已 ready)。关注补齐(第0步)+cookie 续期仍依赖登录态 GUI、绕不开。
API 取关注流会标「已读」吗?手工刷会不会让监控漏?
大概率不按已读过滤(证据:关注流能翻 ~46 页历史、日志里 2.5 天前老视频也会被取到——若按已读门控不会有这么多历史)。监控去重靠本地 seen 清单(aweme_id)、不依赖抖音已读。但有个待实测点:手工刷"一筑"关注页会不会因账号级已读共享、让 API 取不到 → 漏。观察法:连取两次第 0 页比对 aweme_id 是否一样 + 手工滑走几条再取是否还在。兜底规则:监控跑着时别用一筑号手工刷关注页,这号专给监控用。

常见坑 · 踩过的

.bat 双击全是乱码 / 报「不是内部命令」

cmd.exe 把 .bat 里的 UTF-8 中文按 GBK 读 → 乱码 + 行结构冲断。修法:.bat 必须纯 ASCII(英文),中文只留在 .py 里(Python 自己按 UTF-8 读,不受影响)。

文件传过去就坏 / 中文乱

PowerShell 的 curlInvoke-WebRequest 别名,下载会把 UTF-8 文本重新编码弄坏。一律用 curl.exe(写原始字节)。每次传完两端核字节数,不等就是坏了。paste.rs 单文件 ~384KB 截断,大文件分开传。

监控找不到关注池

监控脚本默认找 special-follow-饭粒.json,但无影上文件名常是 special-follow.json.bat 里给监控传 --pool special-follow.json,或把文件改成默认名。

评论1 全是「赞赞赞」

无影 .envOPENROUTER_API_KEY,或连不上 OpenRouter(无影是中国 IP,先 python -c "import urllib.request;print(urllib.request.urlopen('https://openrouter.ai/api/v1/models',timeout=10).status)" 测 200)。补上 key 即恢复内容反应版。

无影黑屏 → 发不出

客户端断开 / 桌面挂起 → GUI 自动化看不到屏幕 → 发送失败。保持无影桌面在线醒着(见上「常态运维」)。

升了 httpx → f2 签名炸

f2==0.0.1.7 硬锁 httpx==0.27.2,监控拉关注流靠 f2 签名。别单独升 httpx,否则签名失败拉不到 feed。

实战问题 & 解决2026-06-13~14 路 B 真跑无影踩的坑 + 解法

🎉 里程碑:三连首次在真视频落地(点赞 + 评论)

2026-06-14,监控 → 入队 → 身份门 → 点赞 → 评论1 → 评论2 → 验证闸 全链路在一筑号实测跑通,第一条真视频三连成功落地并验证通过。executor 修复已提交主仓(commit 0a1e62b)。下面是这两天真跑踩出来的坑和解法。

🥇 头号执行坑:连播(autoplay)把点赞评论打偏

抖音 PC 打开一条视频后播完会自动跳下一条。脚本以为还停在目标视频上,结果点赞 / 评论全打到了下一条别人的视频——目标视频既没赞也没评论,脚本却走完流程、还因为读到跳过去那条的红心误判"已赞"
解法:取消连播。右下角连播开关关一次持久记住(开新视频仍是关闭态)→ 靠人手关一次即可,脚本不点它(它是 toggle,每条点反而又打开)。执行器另加 pause_video 暂停作双保险。

暂停演进:空格为什么不管用

试了三种暂停:①空格键——焦点不在播放器上时变成"翻页",不暂停;②点视频画面中心——能暂停但受网速/时机影响不稳,短视频常在点到之前就跳了;③取消连播——最稳,根上不跳。最终:人手关连播 + 脚本 hover 唤出控制条、定位左下角播放/暂停键点它兜底。

「✅ 已点发送」不可信 → 加了真发验证闸

6/12 整夜跑、日志写"3 条三连✅已点发送",实测全是假阳性:以一筑身份看,爱心不红、评论没有、"喜欢"列表里也没有——GUI 点击点空了但脚本仍 return 成功。
解法:把"点一下=成功"改成"验到才算"。点赞后验爱心真变红、评论后验气泡真出现 + 输入框清空;验不过记 unverified不计成功、不标 touched、不假报。6/14 真视频落地就是这道闸放行的。

「覆盖率 12%」是误判 → 盲关 200 已否决

之前以为关注流只命中 12%=号没关注那些人、得批量补关注。实测是误判:监控关注流只露最近发过视频的人,"没出现 ≠ 没关注"。一筑号到本人页一看 18 个里 10 个已关、一轮监控就逮到 7 个池里人的视频 → 关注覆盖其实够,不是瓶颈。"盲关 200 人"的计划已否决,省下日限 30/号的几天铺设。真正的 wrong_user 问题用按抖音号反查_enrich-follow-douyin-number.ts)定点修,不靠盲关。

文件摆渡:paste.rs / 0x0 / tmpfiles 全挂 → 改 gh gist

把脚本/表从 mac 传无影的中转站接连失效:paste.rs0x0.sttmpfiles 全挂或限流。改用 gh gist 上传(走 GitHub,git 级稳)+ 无影 curl.exe 下载(下载方向一直通)。比临时 paste 站可靠得多。

无影平台层会"空闲挂起" → 真 7×24 还没解

实测一段 23:30 → 09:02 共 9.5 小时全空白:不是脚本崩,是无影平台层把空闲会话挂起了——powercfg 改电源策略管的是 OS 层,管不到平台层这层挂起。所以"关掉一切它自己 7×24 跑"目前还做不到,要解无影空闲断开(保持连接 / 控制台保活策略)。生产档监控 --max-age-min 10,两窗口(监控+消费)可见、能自重启常驻。

关注流导航三根因已修(6/13)

之前批量~9 成"点空/落到非主页",根因三条全修:①用户tab 坐标与首条结果重叠成同一点→改 VL 定位「用户」二字;②搜人前没回首页 → 搜索框漂移点空 → goto_home() 钉死首页再搜;③already_followed() 用诱导式提问"找已关注按钮"→问就答已关注、一个不关 → 改裁剪头部"读按钮文字"判别。配 OCR 身份门"非主页/加载中"重试 3 次。

坐标体系:千分比 + 抓坐标小工具

无影上所有点击坐标用千分比(0–1000)而非绝对像素,换分辨率不用全量重标。要精确坐标时用 _capture_pos.py(倒数 5 秒捕获鼠标位置 → 打印千分比)。连播开关、左下角暂停键这些都靠它量。另有 seen 去重表按 aweme_id 防同一视频重复触。

数据怎么落库 / 来回传哪台机器写、写到哪、怎么回

表 / 文件在哪记什么谁写
second_touch_state数据库节奏大脑:每人触达几次、下次可触时间(next_eligible)、停没停(ladder)mac 回写
comment_log_*.csv云电脑执行流水:今天发了谁、点赞/评论1/评论2 各自成没成、发送时刻云电脑执行器
realtime-touch-queue.jsonl云电脑监控逮到的新视频队列(视频id / sec_uid / 发布时间 / 文案 / 逮到时刻)云电脑监控
realtime-touch-touched.json云电脑本地「今天碰过谁」(撑「每天≤1」)云电脑消费端
realtime-touch-seen.json云电脑已处理过的视频id(同一条视频不重复触)云电脑监控
outreach_events数据库三连的「点赞」不写这张表(video_like/comment_like 恒 0)——别拿它当点赞铁证,证据看「喜欢」列表 + 评论气泡

回传闭环(现在):云电脑发完 → comment_log 摆渡回 mac → mark-second-touch.ts --from-comment-log真发成功的写进 second_touch_state(次数+1、下次推到明天、满 7 停)。⚠️ 这步不幂等(每跑一次次数+1):一份记录只跑一次、逐个核对跳过当天已计的(6-15 就因重复跑+两通道撞把和为贵刷到 2 次)。
PR #360 后:云电脑发完直接 HTTP 写回(complete 端点),不用人搬、顺带记「发布→完成」时效;发之前还会问数据库领号(claim),别的通道当天碰过就作废。

故障码词典comment_log 里的状态怎么读

意思
点赞liked爱心验证已变红 ✅ (前置幂等检查曾有单帧假阳性=没点却记 liked,2026-06-16 已改双采确认修复,见下「升级」box)
like_unverified点了但没验到变红(可能点空)
like_skip没找到空心爱心(可能已经赞过)
评论1/评论2sent评论验证已出现在评论区 ✅
send_unverified点了发送但没验到气泡——验证常误判,可能其实发了
focus_fail抢不回抖音前台 / 输入框没焦点 → 根本没打字
评论2专属no_msg2 / skip_c1_fail话术表没这人评论2 / 评论1 没成功故不发评论2
身份wrong_user身份门没过(搜到同名错号)→ 跳过、冷却 1 天

查到的根因(2026-06-15):评论「假失败」偏高

无影 .env 没开 AKKE_COMMENT_VERIFY_LENIENT / AKKE_COMMENT_TRUST_SEND → 在用最严格 VL 验证,而验证常误判send_unverified 被假阴性灌水、成功率虚低。处置:① 云电脑加 AKKE_COMMENT_VERIFY_LENIENT=1(宽松验证、减误判);② 跑时别碰鼠标、保持抖音前台(治 focus_fail);③ 失败的人没标 touched、下次再逮到会重触、不丢。

升级(2026-06-16):点赞「假阳性」根因 + 双采修复 · 两个数据缺口

问题点(这次查到的)

升级点

快问快答 · 推演 / 吞吐 / 回传2026-06-16

端到端推到极限,能压到多快?怎么做?good/bad?现实地板 ≈ 3min:三连执行 ~2.4min 固定(搜人→身份门→开视频→暂停→点赞→双评论,每步防风控 sleep)+ 检测 ≤45s/轮。质感 4.3min 已接近地板。再压只能两条路:① 路2 直盯目标主页 post-list(本人一发当场有,绕开 feed 上架的随机延迟);② 压执行 sleep(不建议,像机器人、易限号)。good=越快越新鲜、评论趁视频热度高更易被看到、达标率高。bad=路2 高频盯主页吃反爬 + 单号 req/min 有容量上限(200 人每 3min≈67 req/min ≫ feed 的 ~8/min)→ 要多号分层、成本↑;压 sleep 伤号。探针①(feed延迟)②(单号 req/min) 还没跑出数 → 路2 到底能压多少、单号盯几人,未知。
「入队」入的是什么队?无影本地文件队列 realtime-touch-queue.jsonl(每行一条待触视频:aweme / sec_uid / 发布时间 / 文案)。监控写、消费端 tail 它逐条发。是本地文件、不是数据库队列(区别于 DM/RC 的 Supabase dispatch_queue / rc_dispatch_queue 表)。
快车道 100 条过完要多久?三连串行、每条 ~1.5–3min(含防风控 sleep)→ 100 条 ≈ 2.5–5 小时。一台无影只有一个抖音 GUI、串行不能并发,要快只能多号多机并行。(若"快车道"指 #340 抓评论热快道那是抓取侧、另一套,请说明。)
云电脑 DM / RC 数据怎么回传?都全自动、走「DB 队列 + RPC 回写」,不靠文件摆渡:DM → dispatch_queuecomplete_dispatch → 写 messages/conversations;RC → rc_dispatch_queuecomplete_rc_dispatch → 写 outreach_events(channel=reverse_comment)。cron 派单、无影 wuying_poll_agent.py 拉取执行、发完调 RPC 回写。
更新的 PR #360 能自动回传吗?——complete 端点让无影发完直接 POST 回写 second_touch_state(次数 + e2e),不用人搬。但要无影脚本切到 --api-base 模式才生效(脚本已改好、还没切)。注:DM/RC 的自动回传不是 #360 带来的、它们早就有;#360 只补「潜在触达」这一条原本靠手动摆渡的缺口

当前真实状态(2026-06-14 · 不粉饰)

Akke · 潜在触达流程 + 复刻 SOP + 常态运维 · 口径随实现演进,以代码为准 · 2026-06-16