周末冲刺 · 事无巨细复盘 · 2026-06-26 → 06-28

周五到周日此刻(06-26 ~ 06-28 晚)的活按主题归类,每件都讲清 现象/问题为什么怎么解现状/下一步。 源 = git 提交 + 交接文档 + memory 实锤,截至 2026-06-28 22:30

配套深读:潜在触达 route-B 三号铺开旅程潜在触达旅程汇总(实时)评论抓取时效

📌 一句话总览

这个周末四件主线:① 给潜在触达 route-B 补数据闭环(时区/分步状态/关注点赞全落库,且新建了「关注自动化 P1」让云电脑自己每天关人);② 按饭粒复审一轮轮打磨逐日战况页(7 个 PR);③ 根治一批 DM 自动回复老毛病(回声循环、卡单双发、首回误读);④ 抓取时延 P0 定调(瓶颈是产能不是调参)。中间夹两条客户可感故障并已处理:夏夏(零星)号搜索软封(已定位根因+已解封)和 饭粒号重复发给已触达用户(回声循环根治 #610/#612)。另:周六饭粒电脑扣上致后台停摆、route-B 发错人 5 次 —— 用三天发送实数印证,见下方「📊 三天发送实况」。

40+提交 / 06-26~28
20+已合并 PR
8个主题方向
2条客户可感故障(软封/重复发)已处理
⚠️ 客户可感事故 📊 三天发送实况 A 潜在触达 route-B A2 关注自动化 P1 B 逐日战况页 C DM 自动回复根治 D 价格合规 E 抓取时延 P0 F 图文周发 G CI·部署 H 复盘沉淀

⚠️ 客户可感事故(本周末 2 起)

账号风控 / 重复打扰

这两条不是某个功能模块的内部活,而是会被客户或账号真切感知到的事故——单独拎出来,别埋在功能条目里。

06-26 14:00 → 06-28 晚★ 夏夏(零星/小星 8af08f10)抖音搜索软封已解封
现象
6-26 下午约 14:00 发现。分辨率明明已经修对(2560×1600),但这台抖音「搜什么都搜不出来」,跑 follow(关注动作)全部落到 (非主页)sunshine
为什么
sunshine 是抖音搜索结果为空时的推荐位 → 搜索返回空 = 搜索被风控降权/软封(不是坐标、不是分辨率)。根因两层:决定线 = 当天「搜人」动作的累积总量(关注 + DM + route-B 评论多通道堆在一起过线),克隆镜像共用设备指纹只是放大器(拉低阈值、不是扳机)。对照:饭粒同款克隆机、搜得少就没被封 → 否定「克隆指纹决定论」。止血 = 停所有搜人动作养 24-48h(搜索软封可逆),换机器对「搜人量过载」无效。
怎么解
按顺序试:① 跑 reset-douyin-fingerprint.ps1 清抖音客户端指纹(不动部署,先试这个)→ ② 不行就重登抖音 + 冷却 24-48h + 降频 → ③ 再不行重置无影实例 / 换号 → ④ 防复发:基础镜像别预装抖音,逐台单独装登。同时已做止血:Ctrl+C 停 DM;派单暂停(accounts.dispatch_paused_until 设到 6-27 13:00 BJT,心跳告警 watch 会自动跳过这台、不误报)。
现状
2026-06-28 晚已解封(饭粒确认)—— 没跑任何脚本,纯停发冷却 ~2 天自愈(印证「搜索软封可逆、停搜人养 24-48h」)。⚠️ 「停发等自愈」是这次能用、不是通用解:本次封得轻、停得早所以 2 天自己好;封得深 / 反复触线时未必自愈,该上 reset-douyin-fingerprint.ps1 还得上 —— 下次按封的轻重判,别默认「等等就好」。
next
解封后这台可恢复跑 follow + 清 dispatch_paused_until 恢复派单;之前卡着的「关注自动化 P1」也可按一筑流程部署(见 A2)。防复发(durable):基础镜像别预装抖音、逐台单独装登(克隆共指纹是软封根因,不解决会再犯)。
06-27#610 / #612饭粒号重复发 / 双发给已触达用户已根治·有尾巴
现象
同一个已经聊过的人被重复发同款 opener(6/24、6/26 各一条),客户角度就是被骚扰。技术细节 + 根因(回声循环 / 卡 sending 双发)见 C · DM 自动回复根治
现状
回声循环(#610)+ 卡 sending 双发(#612)均已根治、生产验证;⚠️ 还剩一条 capture 跨会话串台未根治,已另排。

📊 三天发送实况(06-26~28)· 饭粒 + 小星

生产库直查

把周五→周日两个号的 DM + 潜在触达发送量拉出来,正好用数据印证上面那几条事故(软封 / 饭粒电脑扣上后台没跑 / 发错人)。口径:DM = messages.status=sent,潜在触达 = second_touch_log,按北京时分日。「小星」= DB 里的「零星」8af08f10(夏夏那台 cloud_pc)。

账号通道06-26 五06-27 六06-28 日小计
饭粒(一筑)DM 私信1583154
潜在触达981330
小星(零星/夏夏)DM 私信140014
潜在触达0011

潜在触达成色(route-B 一次 = 点赞 + 评论1 + 评论2)

异常对照(哪些数字印证了上面的事故)

🔴 小星周六/周日 DM 双双归零(14 → 0 → 0)
三天里最扎眼的异常,和「电脑扣上 / 后台没运行 / 软封」完全吻合——周五还在发 14 条,周六起整台停摆。(零星这台 06-28 晚才解封,见上面事故区。)
🟡 饭粒周六低谷 8、周日反弹 31(两头高、中间低)
和「饭粒电脑扣上、后台没运行」对得上——周六基本没跑,周日恢复后把量补回来(31 是三天峰值)。
✅ 发错人有据(库里能直接证实,不是估的)
route-B 把评论发到了错误用户的视频——饭粒 4 次、小星 1 次(库里 comment_status=wrong_user)。这是 route-B 已知的「搜人进错主页」质量坑,属下一步要收的洞。
⚪ 软封:库里没有独立证据,只能旁证
账号表里查不到软封标记(ban_reason 空、last_active_at 还停在 5 月,该字段没维护)。软封是发送瞬间 status_code 7911运行时拒绝、不落库 → 所以软封只能靠现场观察 + 上面的发送中断来佐证,库里没有独立证据。

数字源:生产库直查(CST 06-26~28 含)。2026-06-29 独立复核:6 行里 5 行与首次快照逐字一致;仅饭粒潜在触达 06-28 由 12 → 13、小计 29 → 30 —— 首次为 06-28 当日 mid-day 快照,整日完成后晚间又触 1 条(全成)。成色按完整 30 次复核:三连全成=评论1&评论2 都 sent。

A · 潜在触达 route-B(无影云电脑实时三连)

数据闭环补全

关注的人发新视频 → 自动点赞 + 评论1(评视频) + 评论2(搬当初 DM)。周末主要堵「动作做了、库里却记不全」的洞,让 pt-summary 的数能信。(账号软封事故已挪到上面「客户可感事故」区。)

06-26 16:09second_touch_log 分步状态 / 评论文字全 NULL已根治
现象
一筑 6-26 的 5 行二触记录:touched_video_url + e2e_minutes 有值,但点赞/评论1/评论2 的分步状态 + 评论文字全 NULL。6-12~6-17 那批旧的反而是有的——说明 going-forward 某处断了。
为什么
写库链太脆:consume 不是直接拿执行器结果,而是隔着一个带日期、多写入方、按键扫描的 comment_log_YYYYMMDD.csv 二次回读。文件丢 / 跨午夜日期错位 / hit[-1] 取错行 / 匹配键漂移——任一发生就回读到空 {} → 分步字段全 NULL。_aweme_id 主键还被 csv.DictWriter(extrasaction='ignore') 静默丢掉(主键自始就死、touched_video_aweme_id 永远 NULL)。
怎么解
执行器加 --result-out=PATH:每条三连结果按 _sec_uid确定性 JSON sidecar(精确路径、无日期、发前清空),并把 aweme_id/create_time/detected_at 补进字段;consume 改 read_result_row(json) or read_comment_log_row()(JSON 优先、缺失回退老 CSV)。commit 3448bf7e,已合 main + 镜像 + 云电脑重启。
现状·next
已验证生效(6-26 17:37 重启后第一条新行:comment1_status/评论文字有值、touched_video_aweme_id 非 NULL 全部恢复)。基线脚本 scripts/_pt-log-baseline.ts
06-26 22:36bd24d009完成时刻被存早 8 小时(时区双移)已根治
现象
pt-summary「我们处理了」节点显示成次日凌晨(例:爱自己 02:56,实际是 18:56)。
为什么
无影是北京时间,执行器用裸 datetime.now()(不带时区)写 like_at/comment1_at/... → 进 Supabase timestamptz 被当成 UTC 存 → 比真实早 8h。
怎么解
改成 datetime.now(timezone.utc).isoformat()(4 处;文件名仍按北京日不动)。pt-summary 读侧已加临时纠偏(完成时刻比 created_at 晚 >4h 自动减 8h,所以页面当下已正确);存量 3 行历史双移已 backfill(like_at −8h)。
现状·next
代码已合(分支 feat/wuying-routeb-auto-sync)。无影跑的是本地脚本、不自动同步 → 需手动拉新 + 重启常驻 agent 才止住源头;不重启页面也不会错(读侧纠偏兜着),但库里原始值会继续偏,建议尽快重部署。
06-28 19:14003e5c88关注 / 点赞结果只 print、库里捞不回已修
现象
关注 / 点赞做了,结果只打到窗口里,事后库里查不到。
怎么解
和分步状态同思路——凡是动作都落 sent_log,可追可核。本周末新分支 feat/wuying-routeb-auto-sync 即这条线的收口。
现状·next
已合并;同样需无影拉新脚本 + 重启 agent 生效。
06-27~28#619 / #622派单 + 漏斗取数统一收紧到高意向已上线
现象
二触派单和 pt-summary 漏斗口径不一致,中高意向混在一起算。
怎么解
#619 二触派单收紧到只二触高意向(剔中意向);#622 漏斗取数 + 描述统一收紧到高意向,页面口径和派单口径对齐。

A2 · 关注自动化 P1(WI-2:让云电脑自己每天关人)

体力活自动化

route-B 的前提是「关注了对方,对方发新视频才进关注流被逮到」。周末把「关注动作」从手动闭环升级到云电脑自驱。

06-26#571 / #575 / #576 / #577关注池从「mac 摆渡」升级为「服务端单一真相源」一筑已跑通
现象
原来每天要:mac 手动导出关注池 → paste.rs → 云电脑下载 → 跑,纯体力活。
怎么解
P1 自动化四件:① export-follow-pool.ts 按号导出(#571)② _follow_grounded.py 加窗口锁(#575,DM 优先、和 consume 同款锁)③ 服务端真相源(#576):migration 放开 monitored_targets.reasonno_owner + cron refresh-monitored-targets 算 no_owner 进库(高意向·未触达·未领·7d 窗口·djb2 ring 分配给 3 个号)+ --from-db 模式云电脑直读库 ④ follow-daily.bat + schtasks 每日 10:00 自驱。
现状
cron 12:00 跑、写 730 no_owner(一筑218/零星243/小文269 精确对账)。一筑(饭粒台)已部署跑通--from-db 验到 218、follow 实关 17+4、schtasks 每日 10:00 已挂、DM+watch+consume 重启自更新、consume 当天真触达 ~6 人。
next
零星/小星因软封还没部署(解封后同一筑流程);文哥待野荞给 cookie+机器 → ring 3→4 cron 自动重排;小文野荞侧部署(教程 HTML 已发)。
06-262ce6b315 / 49525db5★ ③feed覆盖永远「待无影」的真因 + .bat 乱码已修
现象
pt-summary 漏斗③「今日 feed 刷到」所有账号都无数据,连心跳活的一筑/小文也空,永远显「待无影」。另:start-dm-routeb.bat 双击报乱码错。
为什么
③:_realtime_touch_watch_wuying.py 在 argparse 之前没 load .env--account 默认空 → _setup_db 返 None → db=None → 退回文件池且 log_feed_coverage RPC 永不写(follow 没踩是因为它 import dm 时顺带 load 了 .env)。.bat:中文注释 UTF-8 被 cmd 当 GBK 读 → 乱码。
怎么解
watch main() 开头加 _load_env()(2ce6b315);.bat 改纯英文(49525db5)。
现状·next
已合 main + 镜像。⚠️ 要 watch 重启自更新拉到才生效;验收=watch 头一行从「文件」变「monitored_targets 实时DB」、跑一阵后 pt_feed_coverage 一筑开始有数。

B · 逐日战况页 / pt-summary(饭粒复审弧)

7 PR 复审打磨

饭粒逐条复审、Claude 逐版改,把「潜在触达旅程汇总页」从能看升级到能信能讲。

06-27#613 / #614 / #617 / #618本轮复审打掉的几个 bug已上线
现象
① 分步 status 脏值 → json 报错串泄漏到战况页(页面上看到乱码);② 战况表只列已触达,没「超时未发/未触」行,看不出漏了谁;③ 成功案例视频元数据用「抖音视频/抖音用户」占位冒充真数据;④ 中意向 lead 不进高意向旅程透镜,成功案例起点空白却没解释,让人以为缺数据。
怎么解
① 分步 status 脏值防御;② 战况表追加「超时未发/未触」行;③ 元数据去占位、当缺失降级;④ 起点空白时如实说明原因(不是缺数据,是中意向不进高意向透镜)。成功案例还升级成冰糖葫芦全旅程(起点评论 → 首触私信 → 潜在触达)严格对齐冰糖样板。
06-28#620 / #628 / #629战况表改时间线 + 折叠 + 筛选已上线
怎么解
#620 战况表改时间线条 + 异常行说明原因;#628 删底部「当日更新动态」section,未触达/超时并入按日期时间线;#629 逐日战况每序号可折叠 + 全天战况表带数量筛选 + 三人旅程加发送人筛选。另 6eccaa89 把「超时未发」回看窗 2→7 天,绑 PT_NO_OWNER_DAYS 对齐监控池。

C · DM 自动回复 & 首回误读根治

老毛病连根拔

无影 / web DM 自动回复这周末拔了几类老毛病。

06-27#610★ 饭粒号重复发 opener 给已触达用户(回声循环)已根治·有尾巴
现象
同一个已经聊过的人被重复发「哈哈这条挺多人催…」式 opener。6-27 会话实锤:6/24、6/26 各给同一批已聊过的人发了一条同款 opener——看着像「首触重发」,客户角度就是被骚扰。
为什么
不是派单重发(去重是好的)。是无影收件箱抓取把我们自己发的蓝气泡误读成 role=customer 客户来信 → cron dm-auto-reply 当真生成 chatReply → gate 自动审批 approved → 无影发出 → capture 又把这条已发气泡读成 customer → 自己跟自己聊的回声循环。6/26 上线的噪声闸没拦住,是因为云电脑发完没回调 complete_dm_reply(草稿卡 sending)→ 拟回复从没写进 messages(role=ai) → 噪声闸 rule 9 比不到 → 漏判成 customer;另外 rule 5 只匹配「X小时在线」漏了真实文案「X小时在线」(内≠前)。
怎么解
PR #610(merge 85147a77,已生产验证)三道:A 噪声闸 rule 9 除 role=ai 外再比 dm_reply_drafts.draft(近 14 天未弃);B gate.ts looksLikeOwnBubble 识别本号口吻→转人工不自动发;C rule 5 改「前|内」都吃。止血:把非终态草稿 UPDATE … SET status='needs_human'(别用 discarded,挡不住重生)。
现状·尾巴
回声循环已根治、生产验证过。⚠️ 仍有一条没根治:capture 偶发跨会话串台(读错线程,把我方气泡落到别人会话里)——属 capture 归属 bug,已记录、另行排查。
06-27#611web(Edge) DM 昵称从头像位误读已修
现象
web DM 自动回复把「本号自己头像有」误读成对方,昵称取错。
怎么解
昵称改从会话行读,不再从头像位猜。
06-27#612卡 sending 导致双发已修
现象
发送卡在 sending 状态时盲目重试 → 同一条发两遍
怎么解
卡 sending 转人工、不自动重发,杜绝双发。
06-28#624 / #625客户「首回」被误读三层根治
现象
入站客户的首次回复被误判——把系统提示 / 噪声 / 自由文本误当成「客户真回复」触发后续动作。
怎么解
#624 中央 DB 噪声闸门 v2 + python 第一道闸(两道确定性闸);#625 再加 LLM 语义门——用语义判断「这到底是不是客户真回复」,根治规则判不准的自由文本类首回误报。

D · DM 话术 · 价格合规

合规闸
06-28#623价格越权报警误报已修
现象
价格越权报警把手动试跑(bake-off)也算进去 → 误报。
怎么解
报警只算生产流量,跳过 runBy 非 cron 的手动试跑。
06-28c5335ceaB1 双泄价闸已上线
现象
nurture 阶段草稿可能单价 + 总价一次性都报出来,等于把底价一次交代干净。
怎么解
单价 + 总价同时出现就拦截转人工

E · 高意向抓取时延 P0(intent-aware 节流)

P0 定调

围绕「高意向评论从产生到我们抓到要多久」做了一轮决定性归档(2026-06-24~28)。

06-24~28#535 / #538慢尾根因 + P0 节流已见效已上线
现象
高意向评论 ≤5min 实时性只有 33%(新目标要 >80%)。
为什么
≤10min 慢尾 82% 是 tier-1(卡在整号复扫节流带),不是 tier-0 小时级 cron;尾巴里 25% 是回填噪声(comment_time 比入库早 >6h 的历史再发现)。剔回填后真基线:≤10min 39.3%、中位 12.6min。
怎么解
P0(#535):tier-1 整号节流改 intent-aware——近 6h 产过高/中意向的源,节流从 30min 缩到 10min(env 秒回滚)。报告剔回填(#538)。
见效
白天 12h 实测:≤10min 39%→50%、中位 12.6→10.6min。代价:tier-0 积压 400→543(tier-0 几乎不产高意向,刻意取舍、未失控)。
06-282191ebf2决定性发现:瓶颈是产能,不是调参下一轮主线
发现
触达率断崖:慢 = 直接丢单(时延和触达率挂钩)。空转源诊断:七成产能(71%)流向 0 高意向产出的源;112 个 tier-1 空转源吃掉 5533 次抓取、100% 空跑(极端:单源 271 次/12h、0 评论)。
否决的路
in-VM 并发非免费杠杆(吞吐+13% 但单次+59%、已回滚);DM 住宅代理抓评论慢 19×(否决)。瓶颈是下游争用(CPU/IP)
next(别颠倒顺序)
② 减空转源(回收产能·最便宜,按「长期 0 评论·几天窗口」退役)→ ③ 多号轮询(破单 IP/单核墙)→ 产能到位后 ① 才缩节拍 10→5→3min。

F · 图文周发 / 云电脑发布

自纠
06-28#626周发写稿误杀 + 验证码静默已修
现象
周发写稿的合规检查偶尔误杀好稿;云电脑跳验证码时静默卡住不报。
怎么解
合规误杀自动重试自纠;云电脑验证码不再静默(会报出来)。

G · CI · 部署(含一条误诊教训)

基础设施
06-28#621 / fc99e231PR Review max-turns + GHA billing已修/记录
现象
Claude PR Review 因 max-turns 跑不完误报失败;GHA billing 也会卡 workflow_dispatch
怎么解
max-turns 15→30(#621);记录 GHA billing 卡 dispatch + 云端 routine 跑 gh 需 GH_TOKEN
06-28 22:08c38034f4★ 教训:CI run 红 ≠ 部署真坏已沉淀
现象
看到几次 Deploy Vercel/CI run 失败,脑补成「部署全停摆、所有 PR 积压等 owner 修」,整整几轮当结论讲、还差点惊动 org owner(Gus)去查一个不存在的故障。
真相
curl 线上 commit 就翻案:prod 实际 = f655958(#629 刚部署),只落后 main 3 个 docs 提交,待上线功能早已在 prod。那几次红的 run 是零星/瞬时、部署自己恢复了,没有任何东西卡住。
规矩
宣称「部署坏了/卡住/积压」前先核终态curl .../api/status | jq .commitorigin/main;某 PR 上没上用 git merge-base --is-ancestor。CI run 红只是中间信号,不是部署现实。

H · 复盘沉淀(runbook / memory / playbook)

经验固化
06-26~28本周末写进知识库的教训
runbook
云电脑搜索软封处理手册(对应 A 那条软封故障)。
memory
案例页时延以 DB sent_at 为准(果洛塔慕误判 48min 复盘:截图气泡时间戳 ≠ 发送时间);「deploy 绿 ≠ 效果」扩成双向;公开页加交互前先分清 iframe(srcdoc) vs innerHTML 注入;重试循环别用 | tail 判 git push 成败(吞 exit code)。
playbook
补案例 ⑥⑦⑧:guoluo-tamu(资料钩换 v 加微成功)/ xiaozhong / lboxin(破冰泄价沉默样本)。

源:Akke 仓 git log(feat/wuying-routeb-auto-sync + main,06-26 00:00 → 06-28 22:30)+ docs/handoffs 交接 + docs/claude-memory 实锤。
一次性周报快照 · 生成于 2026-06-28 · 不随后续提交自动更新。