云电脑 DM × route-B 实时潜在触达 · 0→1 部署与串行共存复盘

账号:小文(野荞)81cc9678 · 阿里无影云电脑 · 2026-06-17
今天把「route-B 实时潜在触达」从零部署到小文这台无影,并设计实现了 DM ∥ route-B 单窗口串行共存(窗口锁 · DM 优先抢占)。 route-B 已单独常驻跑通、窗口锁已部署并通过并发测试
口径声明:route-B 今天才上线、尚未跑批量,本文「统计」分两类——「实测」= 今天真跑出来的(关注覆盖 / watch 扫描样本 / 锁并发测试 / 2 条手动触达);「推算」= 按参数估的容量,非批量战果。

0 · 一句话架构

route-B(实时潜在触达)= 事件驱动:盯住「本号已关注、DM 过 ≥1 天没回的高/中意向 lead」,谁发了一条 ≤20min 的新视频,就到他视频下做三连:点赞 + 评论1(无影本地 qwen3 看视频现场生成)+ 评论2(逐字搬当初发他的 DM 原文)
它不主动挨个发,只在对方发 ≤20min 新视频那一刻顺势触达——这是和「批量二触(已停用)」的本质区别。

1 · 0→1 部署全流程(小文无影)

1
确认现状:小文 = 野荞 messaging 账号,channel_pref=cloud_pc;route-B 未部署,机器在跑 DM 自动发。
2
取脚本(gitignored、不在仓库):fanny 用 gh gist 摆渡 7 个脚本 _realtime_touch_watch/consume_jit_comment1_probe_follow_feed_follow_grounded_capture_pos_start-realtime-touch.bat + 评论执行器 douyin_comment_grounded.py(必须「认 douyin 标题」版,否则全 focus_fail)。无影用 curl.exe 下 raw 直链(iwr 会损坏中文)。
3
数据文件:fanny 已按小文账号生成 special-follow.json(监控名单 168 高意向)+ realtime-touch-table.json(评论2话术表)。消费走本地表模式(start.bat 不带 --api-base)。
4
cookie dy_cookie.txt:mac 被 Shadowrocket TUN 劫持抖音(ERR_PROXY_CONNECTION_FAILED,浏览器层绕不过)→ 改在无影上跑 Playwrightchannel="msedge" 用系统 Edge 免下内核),扫码后 context.cookies() 抓到含 HttpOnly sessionid58 个 cookie / 6031 字节
5
.env 关键配置AKKE_COMMENT_VERIFY_LENIENT=1(防评论误判→重复狂发,6/13 这台栽过);fresh_window_minutes=10(DM 只发 ≤10min 评论,已查库确认);注释掉 AKKE_C_LIKE → 点赞改走 VL(见 bad case #2)。start.bat 本身不设任何 env,配置全在 .env,各脚本自己 load_dotenv
6
手动验证 2 条(见下「案例」)→ 证明三连执行链在小文这台跑通。
7
route-B 单独常驻:双击 _start-realtime-touch.bat 起 watch + consume 两窗口。watch banner 实测:cookie 6031字节 | lead池 168 | 每60s拉3页 | 触达闸≤20min
8
窗口锁(Phase 2):新建 wuying_window_lock.py + 改两个执行器,实现 DM ∥ route-B 串行共存。AKKE_WINDOW_LOCK=1 只小文开。mac 并发测试 PASS、小文实测 ENABLED True / IMPORT_OK

案例 · 手动触达 2 条

对象结果说明
夜半不怕打更人
真装修 lead「下周五开始装修」
点赞✓ 评论1✓搜人→身份门 conf 0.98→暂停→点赞验证爱心已红评论1 已验证出现在评论区。评论2 因发完评论1 前台被切到 PowerShell、安全闸正确跳过不硬打(避免漏进终端)。
空间向量
真装修 lead「房子准备装修」
主页无视频手动选目标的盲点——该号主页没作品,没视频可评。真实 route-B 由 watch 逮「刚发的新视频」触发、天然有视频,不会遇到

2 · DM × route-B 串行共存逻辑(窗口锁)

问题:一台无影只有一个抖音前台窗口。DM(wuying_poll_agent → douyin_dm_grounded)和 route-B(_realtime_touch_consume → douyin_comment_grounded)是两个独立进程,都用全局的 SetForegroundWindow/SendInput 驱动这个窗口,并发会互抢焦点、混键入(发出串字)。原来只能「二选一」人肉避免。
方案 = 抢占式分时(非真并行),一把共享文件锁 + DM 占用标记:
.douyin-win.lock ← 谁操作窗口前抢、完事释放(互斥) .douyin-dm-want ← DM 一个发送批期间置上(route-B 据此让位) DM 端:with dm_batch(): # 置 .dm-want = "我在忙" for 每条: with window_turn('dm'): 发私信 # 贪婪抢 = 优先 route-B 端:for 每个三连: with window_turn('rb'): 发三连 ↑ 抢锁前先等 .dm-want 清除 = DM 在等就让位
时效口径(今天定死)DM ≤10minfresh_window_minutes=10,派单层选 lead)· route-B ≤20min--max-age-min 20,不动)。锁不改「选哪些 lead」,只影响个别发送动作晚 ≤2.4min

3 · 容量与统计数据

168监控池(高意向)
实测
~94%单窗口日空闲率
推算
30 / 10minDM 日限 / 新鲜窗口
实测·查库
20min / 20条route-B 触达闸 / 日限
实测·默认
指标来源
候选池worklist 280(高 168 / 中 112);pool 端点返回 166 带 comment2;监控名单 168实测
关注覆盖watch 实时 feed 满屏 ★(命中池成员)= 现有关注已覆盖,无需补关注account_follows 表 =0 是坏 KPI,别信)实测
窗口占用DM 30条×~60s≈30min + route-B 20人×~2.4min≈48min ≈ 78min / 1440min → 空闲 ~94%推算
三连端到端~2.4–3min/人(点赞+评论1+评论2,含固定 sleep 地板 + VL 检测)实测·记忆
watch 扫描样本5min 内每轮 lead 新视频 4–6 条,全 >20min(历史回灌/老视频)→ 可触达 0;feed 噪音多(防水补漏/烤串/土菜/床垫等商家号刷屏)实测
锁并发测试mac 模拟:route-B 想发(0.05s) 一直等到 DM 整批 2 条发完(0.91s) 才轮到(1.06s),零重叠、DM 优先 PASS实测
批量触达战果暂无——route-B 今天刚上线,尚未产生有机触达;真装修 lead 少发新鲜视频,预期触达稀疏待跑批

4 · Bad cases · 优化方式 · 进展

#Bad case根因优化方式进展
1mac 抓不到抖音 cookie,ERR_PROXY_CONNECTION_FAILEDmac Shadowrocket TUN 模式 fake-IP 劫持抖音域名,浏览器层绕不过改在无影(无 VPN、国内 IP)跑 Playwright,channel="msedge" 用系统 Edge 免下内核已解决
2点赞点空、爱心不红(like_unverified固定坐标 AKKE_C_LIKE=977,511 是饭粒机的、跨机点歪.env 注释掉 AKKE_C_LIKE → 执行器走 VL 自动定位空心爱心(暂停键也是 VL 找的,证明可用)已解决·实测点赞验证红
3评论2 没发出(被跳过)发完评论1 后前台被切到 PowerShell(手碰/焦点抢占),执行器安全闸不硬打安全闸行为正确(防漏进终端);无人值守不碰机器即不会发生靠不碰规避
4选到主页无视频的目标(空间向量)手动选目标的盲点真 route-B 由 watch 逮「刚发的新视频」触发、天然有视频生产不影响
5DM 和 route-B 抢同一抖音窗口(只能二选一)单窗口 + 全局 SetForegroundWindow/SendInput窗口锁:DM 优先、route-B 条目级让位(env-gated 只小文)已建+并发测试 PASS+部署
6真实触达量预期低关注流被商家/无关号污染(61% 来自 4 个噪音号)+ 真装修 lead 极少发新鲜装修视频special-follow 生成加噪音过滤(剔防水/床垫/烤串/食品/旅游/宠物类)待做
7评论2 公开发会限号搬 DM 原文常含「价格 868/568 + 加 v」红线词(DM 私域 OK、公开评论违规)消费端「公开评论违规闸」跳过脏的(那些 lead 只发 like+评论1);后续做公开版话术改写有闸·话术待改写
8文件摆渡频繁失败paste.rs 500/截断、gh API EOF、无影 RDP 粘贴折断长行/长 URL统一 gh gist raw 直链 + curl.exe;长 URL 拆短变量拼;长 PowerShell 命令逐行短敲已稳定(workaround)
9本地表模式无发前去重,曾狂发consume 不连 DB、无原子 claim,靠事后 mark-second-touch 回写短期 VERIFY_LENIENT=1 缓解误判;长期切端点模式(--api-base)发前 claim 去重 + 自动 e2e 回写缓解·端点待切
10无影重启后 route-B 不回来_start-realtime-touch.bat 无开机自启(仅双击 + 崩溃自重启)当前手动双击(锁未上前反而安全=手动控二选一);锁已上线后可加自启、两条共存现状手动·可加自启

5 · 下一步待做优化列表

  1. 实战观察共存:DM ∥ route-B 挂几天,看真实撞车率 / DM 实际等待分布(验证 ≤2.4min 假设)。
  2. PR 归档:窗口锁模块 + DM 执行器改动(env-gated 只小文生效)走 PR;评论执行器仓库版(28384)与部署版(fanny 28984)漂移,PR 里一并对齐或单列说明。
  3. 洗池(bad case #6):special-follow 生成加昵称/内容噪音过滤,剔商家号(防水/床垫/烤串/食品/旅游/宠物),提升真 lead 占比。
  4. 评论2 公开版话术(bad case #7):去价格/微信红线词,做一套「公开评论安全版」comment2;脏的退化为只发 like+评论1。
  5. 切端点模式(bad case #9):consume 加 --api-base + .env 给 PT_ENDPOINT_SECRET/AKKE_ACCOUNT_ID(注意 consume 不 load_dotenv,须进程 env),换来发前 claim 去重防狂发 + 自动 e2e 回写。
  6. 评论2 焦点抢占(bad case #3):无人值守期约定别动无影 GUI;或加发送前前台二次确认。
  7. route-B 开机自启(bad case #10):锁已保护,可把 _start-realtime-touch.bat 快捷方式丢 shell:startup,两条共存自启。
  8. 回写流程:本地表模式触达后,定期把 comment_log 拷回 mac 跑 mark-second-touch.ts --from-comment-log 写回 second_touch_state(节奏阶梯:每人每天≤1、累计 7 次出库)。
  9. (可选)DM 等待优化:当前 ≤2.4min 是单窗口物理下限,无法再压(三连不可中途打断)。如需 DM 绝对零等待,只能回到二选一。
小文(野荞)81cc9678 · 2026-06-17 · DM ≤10min / route-B ≤20min · 窗口锁 AKKE_WINDOW_LOCK=1(仅小文)