把 已 DM 触达过、≥1 天没回的高/中意向用户(反评 RC 纳入为待做项)做成事件驱动盯防:本人一发新视频,就在发布 ≤20 分钟内(理想 ≤10min)自动完成点赞 + 评论1(评这条视频内容)+ 评论2(逐字搬首触原文)。每人每天 ≤1 次、累计 ≤7 次、对方一回复就停。潜在触达对已 DM 过的老 lead 统一都触、不按视频内容筛(哪怕当天发的是养狗/雨衣视频也照触;商家/同行排除只在「首次找新 lead」那层、不在这层)。监控 + 三连发送都搬无影一台云电脑常驻(路 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、随时可切。
「趁新鲜」是潜在触达的命门。触达闸 2026-06-14 起放宽到 ≤20 分钟(达标线),≤10 分钟是理想(首个达成=质感 4.3min)。监控检测 + 回复门 + 话术(评论1 JIT 秒级 / 评论2 查表零延迟)+ 三连执行(1–3min)要全挤进这窗口;超过则该视频作废、不触。注:曾以为「feed 上架延迟 10–15min」是硬约束,PM 实测发视频 1–2min 即进 feed、已撤回——检测慢的真因是评论落在抓取周期的随机位置,不是 feed 慢。
「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 是一筑登录凭证,凑齐就能要到数据。抖音把"读"和"写"分两种态度:读(看别人发了啥)服务器愿意给(带签名就行)→ 监控走后台;写(点赞 / 评论 / 关注)抖音严防机器人、把接口封死了(直接调 403 / 封号)→ 只能像真人一样点界面糊弄反爬。点界面靠"鼠标点对坐标、屏幕长对样",坐标偏 / 窗口没最大化 / 视频在轮播就点空——这就是当前发送出问题的根源。
| 对比 | 点界面(发送 / 关注 · 写) | 后台读数据(监控 · 读) |
|---|---|---|
| 靠什么 | 鼠标点对坐标、屏幕长对样 | 一个数据请求 |
| 快慢 | 慢,一条 1–3 分钟 | 秒级,一次几十条 |
| 怕坐标 / 窗口 | 怕 坐标偏就点空 | 不怕 跟屏幕无关 |
| 抢不抢鼠标 | 抢 跑时别碰 | 不抢 后台静默 |
| 怕不怕黑屏 | 怕 黑屏就瘫 | 不怕 不看屏幕 |
监控每 ~45 秒翻 5 页 ≈ 75–100 条最新视频。「漏」= 某视频在它发布后 20 分钟里一直被更新的视频挤出前几页。当前池 318 人。
曾以为关注流只命中 12%=没关注那些人。实测是误判:关注流只露最近发过视频的人,"没出现 ≠ 没关注"。一筑号 500+ 关注 >> 池 318,覆盖大概率够,盲关 200 已否决。配合"发布 ≤20min 才触":视频发出后 20 分钟里每 ~45 秒查一次 = ~25 次露面机会,足够逮到。
正常号一天发 1 条左右 → 5 页绰绰有余。唯一风险 = 关注流里混进一天发几十条的高频号(实测有狗 / 雨衣厂这类),45 秒冒出一堆把目标挤出前几页才会漏。应对是旋钮不是墙:加页 / 加频 / 体检"逮到的视频落第几页"。(注:这些高频号若是已 DM 老 lead 照样触——"统一都触不按内容筛";这里只说它们占监控带宽,不是要排除。)
前提:你有①一台已登录抖音 PC 的无影云电脑(目录 C:\akke-wuying\wuying-dm\);②本机(mac)能跑仓库 pnpm tsx + worker/.venv;③你的 messaging 账号 id(AKKE_ACCOUNT_ID)+ AKKE_ORG_ID。把下面命令里的账号换成你自己的。
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 现生成)# 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)。pip install f2==0.0.1.7(硬钉这版,它锁 httpx==0.27.2,别升 httpx);确认 .env 里有 OPENROUTER_API_KEY(评论1 JIT 用,缺了就全退「赞赞赞」)。py _jit_comment1_wuying.py "复式loft改造 楼梯下做了嵌入式储物柜"
打印 key=有 + 一条贴合视频的评论 = ✅;打印 key=无(退兜底) + 赞赞赞 = .env 缺 key(补上才有内容反应版)。_start-realtime-touch.bat → 弹两个黑窗口(Akke-watch 监控 + Akke-consume 消费),各带崩溃自动重启。跑批期间别碰鼠标键盘(发评论时全程控 GUI)。unverified 不算成功;②人工复核 = 用一筑「喜欢」列表看视频在不在 + 另号/无痕看评论气泡。⚠️ 三连的点赞不写 outreach_events(video_like/comment_like 恒 0,别拿它当铁证),证据看 comment_log + second_touch_state.last_touch_at。comment_log 摆渡回 mac 跑 mark-second-touch.ts --from-comment-log 回写节奏。.env 加 AKKE_COMMENT_VERIFY_LENIENT=1(减少「评论假失败」,6-15 查到一直没开 → send_unverified 虚高)。_start-realtime-touch.bat无影 → 弹出 2 个黑窗口:Akke-watch(监控盯关注流)+ Akke-consume(消费发三连),各自崩溃会自动重启。就这 2 个,别多开、也别关。focus_fail。它一天只动几分钟、其余时间在空等。怎么看它还在跑:监控窗 banner 有 lead池 318、日志在刷 🔥/⏰ 时间戳。断了(无影后半夜可能被平台层空闲挂起)→ 重新双击 .bat 即可。深夜 00–06 点本就没什么人发视频(占全天 1.8%),挂了不亏,重点保白天 + 傍晚高峰。
无影是云电脑(跑在阿里服务器,不是你自己 mac),但它有个老毛病——客户端一断开、桌面容易黑屏/挂起(历史上「87% 黑屏」是自动发失败头号根因)。而点赞+评论是 GUI 自动化,必须桌面亮着、抖音在前台才能干活。所以:
①两个黑窗口别关(关 = 停)。②抖音 PC 保持登录 + 最大化 + 前台。③无影桌面保持连接/醒着——你自己的 mac 可以休眠/断网(那只是连无影的客户端),但无影那台云桌面要保持活跃,否则黑屏发不出。④发评论时别碰鼠标键盘。
无影黑屏 + 要保持前台,意味着现在还做不到「关掉一切它自己 7×24 跑」。治本方向(待做):无影企业版 EDS 官方远程命令(ecd run-command 推 PS 脚本)+ 按需唤醒(定时窗口拉起桌面)+ 防黑屏保活。当前阶段 = 保持无影在线 + 常驻脚本这套半自动。
dy_cookie.txt 约 15–30 天失效,监控开始报错就是它——本机重新导出 cookie、摆渡覆盖。realtime-touch-table.json(消费端每轮热重读,不用重启)。_follow_grounded.py,日限 30/号)把池子里没关注的人补上——这是产量天花板。reverse_comment_queue,当前 worklist 只读 messages)。评论2 空就只发点赞+评论1,不报错。要补这批,让 worklist 多 union 反评表(扩量项)。second_touch_state 累计满 7 次 / 对方一回复 → 永久出库;③监控按 aweme_id 去重,同一条视频只触一次。second-touch-worklist.ts 筛 intent_label ∈ {高意向, 中意向}(高+中都拉,不是只高);且只读 messages(DM 记录)、不读 reverse_comment_queue(反评)→ 只反评过没 DM 过的人当前不进池。「只高意向 + 纳入 RC」是待定改动项(需改 worklist + 重生成池/表 + 重摆渡;注意只留高意向会让池更小、12% 覆盖更紧)。GET /api/internal/pt/pool 有库权限、实时算最新名单+话术,无影消费脚本加 --api-base 后每轮直接 HTTP 拉 → 零 mac、零手动摆渡(连 claim 领号 + complete 回写也一起做了)。差一步:把无影脚本切到 --api-base 模式(端点已 ready)。关注补齐(第0步)+cookie 续期仍依赖登录态 GUI、绕不开。cmd.exe 把 .bat 里的 UTF-8 中文按 GBK 读 → 乱码 + 行结构冲断。修法:.bat 必须纯 ASCII(英文),中文只留在 .py 里(Python 自己按 UTF-8 读,不受影响)。
PowerShell 的 curl 是 Invoke-WebRequest 别名,下载会把 UTF-8 文本重新编码弄坏。一律用 curl.exe(写原始字节)。每次传完两端核字节数,不等就是坏了。paste.rs 单文件 ~384KB 截断,大文件分开传。
监控脚本默认找 special-follow-饭粒.json,但无影上文件名常是 special-follow.json。.bat 里给监控传 --pool special-follow.json,或把文件改成默认名。
无影 .env 没 OPENROUTER_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 自动化看不到屏幕 → 发送失败。保持无影桌面在线醒着(见上「常态运维」)。
f2==0.0.1.7 硬锁 httpx==0.27.2,监控拉关注流靠 f2 签名。别单独升 httpx,否则签名失败拉不到 feed。
2026-06-14,监控 → 入队 → 身份门 → 点赞 → 评论1 → 评论2 → 验证闸 全链路在一筑号实测跑通,第一条真视频三连成功落地并验证通过。executor 修复已提交主仓(commit 0a1e62b)。下面是这两天真跑踩出来的坑和解法。
抖音 PC 打开一条视频后播完会自动跳下一条。脚本以为还停在目标视频上,结果点赞 / 评论全打到了下一条别人的视频——目标视频既没赞也没评论,脚本却走完流程、还因为读到跳过去那条的红心误判"已赞"。
解法:取消连播。右下角连播开关关一次持久记住(开新视频仍是关闭态)→ 靠人手关一次即可,脚本不点它(它是 toggle,每条点反而又打开)。执行器另加 pause_video 暂停作双保险。
试了三种暂停:①空格键——焦点不在播放器上时变成"翻页",不暂停;②点视频画面中心——能暂停但受网速/时机影响不稳,短视频常在点到之前就跳了;③取消连播——最稳,根上不跳。最终:人手关连播 + 脚本 hover 唤出控制条、定位左下角播放/暂停键点它兜底。
6/12 整夜跑、日志写"3 条三连✅已点发送",实测全是假阳性:以一筑身份看,爱心不红、评论没有、"喜欢"列表里也没有——GUI 点击点空了但脚本仍 return 成功。
解法:把"点一下=成功"改成"验到才算"。点赞后验爱心真变红、评论后验气泡真出现 + 输入框清空;验不过记 unverified、不计成功、不标 touched、不假报。6/14 真视频落地就是这道闸放行的。
之前以为关注流只命中 12%=号没关注那些人、得批量补关注。实测是误判:监控关注流只露最近发过视频的人,"没出现 ≠ 没关注"。一筑号到本人页一看 18 个里 10 个已关、一轮监控就逮到 7 个池里人的视频 → 关注覆盖其实够,不是瓶颈。"盲关 200 人"的计划已否决,省下日限 30/号的几天铺设。真正的 wrong_user 问题用按抖音号反查(_enrich-follow-douyin-number.ts)定点修,不靠盲关。
把脚本/表从 mac 传无影的中转站接连失效:paste.rs、0x0.st、tmpfiles 全挂或限流。改用 gh gist 上传(走 GitHub,git 级稳)+ 无影 curl.exe 下载(下载方向一直通)。比临时 paste 站可靠得多。
实测一段 23:30 → 09:02 共 9.5 小时全空白:不是脚本崩,是无影平台层把空闲会话挂起了——powercfg 改电源策略管的是 OS 层,管不到平台层这层挂起。所以"关掉一切它自己 7×24 跑"目前还做不到,要解无影空闲断开(保持连接 / 控制台保活策略)。生产档监控 --max-age-min 10,两窗口(监控+消费)可见、能自重启常驻。
之前批量~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),别的通道当天碰过就作废。
| 列 | 码 | 意思 |
|---|---|---|
| 点赞 | liked | 爱心验证已变红 ✅ (前置幂等检查曾有单帧假阳性=没点却记 liked,2026-06-16 已改双采确认修复,见下「升级」box) |
| like_unverified | 点了但没验到变红(可能点空) | |
| like_skip | 没找到空心爱心(可能已经赞过) | |
| 评论1/评论2 | sent | 评论验证已出现在评论区 ✅ |
| send_unverified | 点了发送但没验到气泡——验证常误判,可能其实发了 | |
| focus_fail | 抢不回抖音前台 / 输入框没焦点 → 根本没打字 | |
| 评论2专属 | no_msg2 / skip_c1_fail | 话术表没这人评论2 / 评论1 没成功故不发评论2 |
| 身份 | wrong_user | 身份门没过(搜到同名错号)→ 跳过、冷却 1 天 |
无影 .env 没开 AKKE_COMMENT_VERIFY_LENIENT / AKKE_COMMENT_TRUST_SEND → 在用最严格 VL 验证,而验证常误判 → send_unverified 被假阴性灌水、成功率虚低。处置:① 云电脑加 AKKE_COMMENT_VERIFY_LENIENT=1(宽松验证、减误判);② 跑时别碰鼠标、保持抖音前台(治 focus_fail);③ 失败的人没标 touched、下次再逮到会重触、不丢。
问题点(这次查到的)
liked 实际根本没点。根因=点赞前置幂等检查 _is_liked() 单帧 VL 误判「爱心已红」→ 直接返回 liked、压根没点击。这是以往 send_unverified 假阴性的反方向——假成功,比假失败更危险(掩盖真没触达)。realtime-touch-queue.jsonl 只落盘 ≤20min 过闸项,>20min 超时项仅打日志、且不记 aweme_id → 边缘档无法量化 / 回看 / 上页。second_touch_state 只存 touch_count,没记每次触了哪条视频 / 结果;comment_log 在无影未全量回写 DB → 「第 N 次触的啥」短期补不全。升级点
_is_liked_confirmed()(连采两帧、都判红才信已赞,否则继续定位空心爱心去点)+ _is_liked() prompt 收紧(只认心形图标自身填红,严禁把下方红色点赞数 / 角标当已赞,拿不准回 null)。前置检查改用双采版 → 单帧抖动不再跳过点击。main ab8fb101,无影 git pull 生效。.env 开 AKKE_COMMENT_VERIFY_LENIENT=1:减评论假阴性(仍真验、只放宽比对时机)。别开 AKKE_COMMENT_TRUST_SEND——点了就算、完全不验,会把柴油这种真失败也刷成成功、掩盖问题。gate:expired + aweme_id)→ 20–60min 档才有数据可量。comment_log → DB 回写(#360 complete 端点切 --api-base)→ 按用户逐次明细补全。| 问 | 答 |
|---|---|
| 端到端推到极限,能压到多快?怎么做?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_queue → complete_dispatch → 写 messages/conversations;RC → rc_dispatch_queue → complete_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 只补「潜在触达」这一条原本靠手动摆渡的缺口。 |
unverified 不假报——6/12 那批"已点发送"假阳性被它挡住、不再误入库。liked 实际没点——根因是点赞前置幂等检查 _is_liked() 单帧 VL 误判「已红」就跳过点击。2026-06-16 已修:双采确认(两帧都判红才信已赞)+ prompt 收紧。教训:VL 验证两个方向都会误判(假阴性 + 假阳性),别无脑信任、更别开 TRUST_SEND。Akke · 潜在触达流程 + 复刻 SOP + 常态运维 · 口径随实现演进,以代码为准 · 2026-06-16