部署 · 修复 · 优化评估

2026-07-08 ~ 07-10 | 40 个代码改动上线 + 云电脑通道升级 + 3 条账号哨兵 | 附「还能优化什么」评估
40 PR 已合并上线 5 大块 云电脑脚本已更新 新增·3 条账号哨兵
一句话:这几天主攻五条线——①自动回复更聪明(生成崩自愈、纯数字回复不再误杀、加微后不再轴、护栏放开能直接发微信号)、②云电脑发送更稳(消除「假发成功」丢单/重发)、③评论抓取补漏(拆掉 63%+27% 两处漏抓真凶)、④企微话术更像金牌销售(07-09 晚一波集中攻坚:防复读三层 + 推理泄漏拦死 + 真语义检索)、⑤新增 3 条账号哨兵(收不到 / 发不出 / 微信外引,出事群里弹红牌)。哨兵部分文末用大白话讲清楚,小孩都能懂 →

00两天干了什么(概览)

40
代码 PR 合并上线
(#789 → #830)
8
自动回复链路修复
(用户最关心)
5
云电脑发送稳定性
(有大有小 / route-B)
6
抓取完整性 / 号源容量
13
企微自动代回话术
(07-09晚集中攻坚)
部署去向说明:后端(自动回复、抓取、企微、报告)改完 push 就自动上 Vercel / Fly,同事不用动云电脑脚本(发送/route-B)不会自动更新,得手动 curl 覆盖 —— 今天已帮「有大有小」更到最新 send_dom 24547

01自动回复链路 · 8 处修复(核心)

PR问题修复状态
#806模型偶尔生成乱码/错语言/超短废话,旧逻辑只判「空串」放行了放宽到「空 / 超短 / 非中文乱码」都判坏 → 自动重生成已上线
#791客户回「115」这类纯数字真回复被噪声闸当垃圾误杀,不回了噪声徽标规则收窄,纯数字结合上下文放行已上线
#792加微成功后客户又发实质消息,一律转人工,运营接不过来三类改「受限收尾自动回复」,不再一刀切转人工已上线
#809客户露出「加v/要方案」意向但没给号,我方只会反问、错失够信任了自动主动推我方设计师微信号已上线
#813话术里带「微信/v号」被护栏拦下转人工,加不上客户护栏放开:微信软化成 vx、可带具体号,直接发已上线
#805journey 报告只写「转人工」,看不懂为啥转报告末尾加「失败/转人工原因词典」(12 条)已上线
#807发送后未验证(unverified)的单子,报告误显示成「护栏·微信外引」发送侧失败归因优先于护栏 flags,不再张冠李戴已上线
#815报告看得到「慢」,看不到慢在哪一段每条 E2E 超 2min 的单子逐条分段写清慢因(重试/审批/生成/发出)今日上线
合起来的效果:自动回复从「一遇到边角情况就转人工/发废话」,进化到生成崩了自愈、纯数字听得懂、加微能主动促成、报告能自解释慢因。转人工率应明显下降 —— 建议下周对比一下 needs_human 占比。

02云电脑发送稳定性 · 5 处(有大有小 / route-B)

PR问题修复需手动更新云电脑?
#801点「发送」键偶尔超时,脚本误判发失败(假阴性)→ 触发重发/丢单超时改回车兜底 + 发完复核气泡,消除假阴性是 → 有大有小今日已更
#800整批里一条卡住,整批标记 failed逐条 flush + try/except 隔离,单条失败不拖累整批
#793route-B 三连触达(赞+两评论)还在用像素版,不稳三连执行器改浏览器 DOM 版,与 DM 同 Edge 串行
#796route-B 评论框锚点漂移,点不中按真机 probe 把评论锚点钉死(占位点击→Draft.js 挂载)
#798route-B 发送键定位不准 / 验证太快误判发送键按真机 SENT 实测结构定位 + 验证容延迟
关键因果链:#801 之前,「发送键超时」被当成「发失败」→ 有界重试再发一遍 → 客户收到两条一样的招呼;同时报告里显示一堆 unverified。#801 用「回车兜底 + 气泡复核」把「到底发没发出去」判准了,重发和 unverified 应一起消失。这正是「有大有小」今天更新 send_dom 要吃的修复。

03评论抓取完整性 / 号源容量 · 6 处

PR问题修复
#802慢车道积压的「毒丸」job 挡住快车道,63% 漏抓的主凶之一收养慢车道 pending 毒丸进快车道
#803审核延迟导致增量复扫 since 截断,27% 漏抓的另一主凶增量复扫 since 回看余量加到 60min
#808#802 的收养把 pri 设 0,捅穿老化公平天花板反而饿死源级抓取收养毒丸 pri 改 0→1,不饿死源级
#810钓点复扫和 tier-1 整号抓取抢资源钓点复扫 pri 3→4,给 tier-1 让道
#811attempts 打满的「幽灵票」死 pending 行堆积每天定时清扫死 pending 行
#797stats 快照撞限频就弃掉整池撞限频改退避后继续 + flush 重试不静默丢
教训沉淀:#802→#808 是一次真实的「改优先级踩连锁坑」——为了救漏抓把毒丸塞快车道(pri=0),结果 thundering herd 把源级抓取饿死、号源骤降。改调度/优先级必须回测相邻下游车道有没有被饿死,已写进团队记忆。

04企微自动代回 · 话术贴金牌销售 · 13 处 + 其他

4a · 07-08~09 白天基础批(贴金牌销售风格)

PR内容
#814拆议价逐字模板 + 跨轮防复读,让企微话术贴金牌销售风格
#816议价「反问」别引用要禁的原话(负向指令悖论会让模型照念)
#812脏名不当称呼别念 + 空回复扩到企微重试(治答非所问套话)
#790评估闭环三件套:企微 prompt 入库 / outcome 分数落地 / promote 回归闸

4b · 07-09 晚集中攻坚批(防复读 + 推理泄漏 + 检索升级,新) 07-09晚~07-10

PR内容
#824对话级防复读——把已说过的回复列给模型,逼它换角度别车轱辘话
#825P1.1 防复读调细:客户重问的事实简短重答,别为了不重复而敷衍
#828P1.2 硬闸反复读——生成后按相似度检测,塌缩(跟上句太像)就自动重生成
#819 / #829 / #830拦 GLM-4.6 推理泄漏(模型把「内心独白/思考过程」写进正文发给客户)——三重加固:扩措辞检测 + 单行剥离 + 裁剪上下文重试 + 救不回则安全兜底
#826 / #827语义检索升级:P2-lite 按客户当前消息选最贴的规则/例子注入 → P2 升级真 embedding(bge-m3),bigram 保留为回退
#823GLM 返回空/退化响应 → 跨模型 fail-over(空→qwen 独立上游自愈),不再漏回
4b 这批合起来:企微 AI 代回从「会车轱辘话复读、偶尔把思考过程漏给客户、检索不准」,升级到防复读三层闸 + 推理泄漏拦死 + 真语义检索 + 空响应自愈——话术更像真人金牌销售、更稳。

4c · 其他

PR内容
#799抖音门店/样板间口径收紧 + 门类报价一律活动最低价 1512
#789craft_terms 工艺词加分进意向打分(默认关,灰度)
#818DB 清理:provenance 60 天保留清理 + 删 comments 死索引
#804 / #795案例合集页团队内部备注后端 / creator 视频批量分发线 PoC

05运营侧操作(非代码)

操作说明状态
有大有小切浏览器 DOM 版DM + 自动回复 + route-B 三条腿全跑一个隐形 Edge已对齐
有大有小灌金牌销售话术库decision_rules 灌库(07-09)已灌
更新 send_dom 到 24547吃 #801 假阴性丢单修复(今日)今日完成
两台 route-B DOM 对齐20min 闸 + 开机自启任务 Ready已对齐
五端一致性每日自动核对本地/GitHub/Vercel/Fly/Supabase 每日 launchd 自动比对,不一致才推群已上线

06还能优化什么(按优先级)

这几项是这两天暴露、但还没做完 / 值得下一步做的,按投入产出排序:

优化项为什么建议做法优先级
① 捕获腿静默失效哨兵 ✅ 已上线 已知盲区:隐形 Edge 挂了 / 登录过期时,心跳监控全绿但客户回复全漏,没人知道。这是最危险的沉默故障。 已做完(#820):回复率哨兵 cron 每 6h 跑,某活跃号 24h 零客户回复 → 红牌到监控群。下面用大白话讲清楚 ↓ 已完成
② 微信护栏放开后的风控观察 ✅ 已上线 #813 刚放开直接发微信号/v号,抖音可能风控甚至限流封号。查了真实数据:上线至今实际发出含 v 号消息 = 0 条,暴露≈0。 已做完(#821 轻量可见性版):每天扫「实发多少条含 v 号消息」,0 条静默、放量即冒卡、发过 v 号的号被风控→红牌;账号风控另有 captcha-monitor 兜底。完整触达成功率对比等真放量再上。 已完成
③ 发送段细分埋点(P4–P7) #815 现在只能粗归因「发送段慢」,具体卡在找人/开会话/输入/点发送哪一步看不到。 worker 发送侧每步打时间戳回写,journey 才能精确定位慢在哪一环
④ 转人工率对比验证 #792/#806/#809/#813 都是「少转人工」方向,但没量化验证真的降了 拉本周 vs 上周 needs_human 占比 + 自动发成功率,确认修复见效、没有反向误伤
⑤ 云电脑脚本更新自动化 route-B 5 个修复要「手动 curl 覆盖每台机器」,容易漏更 / 各机版本不齐 poll agent 启动时自校验脚本字节数 vs 期望值,不一致自动拉最新(或至少告警)
⑥ 6h sweep 残留 已知:2 台机 + 重部署会杀长任务、锁跨不了机,已决定搁置不提速 暂不动;若后续要提速,需先解决跨机锁 低(已搁置)
⑦ 小文号软丢冷却恢复 小文号被抖音影子禁言(stranger-DM 限频),冷却到 7/15 到期走恢复流程:外部号验证 + 降 daily_limit + 分级恢复,别一上来就打满 低(等到期)
进度:两个高优先项都做完上线了 —— ① 回复率哨兵(#820,就是下面这一大段讲的)+ ② 微信外引监控(#821,轻量可见性版,现在 v 号暴露=0 所以静默、真放量就冒卡)。剩下 ③④⑤ 是中优先,⑥⑦ 已搁置/等到期。

07「客户回复静默哨兵」——用大白话讲清楚(小孩也能懂)

一句话:我们请了一个「监督员」,专门盯着——有没有哪个账号本来天天有客人来说话,突然一整天一个都没有。真出现了,它立刻在群里拉响红色警报,叫人去查。

先讲个小故事 🏪

把每个抖音账号想象成一家店
🏪 店里有个店员,专门负责「听有没有客人敲门说话」
(= 电脑上那个偷偷开着的浏览器,负责抓客户回复)
↓ 有一天……
😴 店员偷偷睡着了(浏览器挂了 / 抖音登录过期了)
可他还站在门口,看起来在上班
🚪 客人来敲门、说话、想买东西……店员一个都没听见
客人等不到回应,全走了 —— 我们却一点都不知道
最坑的地方:这个店员睡着的时候,别的检查都显示「正常」——门开着、灯亮着、他还在发传单(= 心跳还绿、DM 还在往外发)。所以光看那些,你永远发现不了他其实睡着了。这就是以前最危险的「沉默故障」:坏了,但没有任何人知道。

现在请了个「监督员」👮 怎么工作?

👮 监督员每 6 小时巡查一次
↓ 他只问一个简单问题
「这家店平时每天都有好几个客人说话,
怎么过去一整天,一个客人都没有?
↓ 如果真的是这样
🚨 立刻在群里拉红色警报
「快去看看『有大有小』那台电脑,店员是不是睡着了!」
还附上怎么叫醒他的步骤
↓ 有人去把店员叫醒(重开浏览器 / 重新登录)
✅ 客人的话又能听见了,警报自己消失

为什么是「一整天」,不是「一小时」就报警?🤔

如果……会怎样
只要 1 小时没客人就报警天天误报!半夜本来就没人说话,一惊一乍谁都不信了
一整天(24 小时)都没客人才报警刚刚好:真出问题才响,半夜没人是正常的、不会误报
因为客人本来就来得稀(最忙的账号一天也就 6、7 个客人说话),几个小时没人太正常了。只有「一整天都挂零」,才铁定是店员睡着了,不是碰巧。

会不会乱报警、冤枉好人?🎯

不会。上线前我们拿真实数据试跑了一遍:5 个账号,3 个平时热闹的(有大有小、饭粒、零星)当天都有客人 → 一个警报都没误报;两个平时就很冷清的号(文哥、小文,一天不到 1 个客人)自动被排除在外,不会拿它们说事。而且万一是监督员自己没睡醒(查数据库失败),他会老实发一张橙色「我这轮没看成」的卡,绝不假装「一切正常」骗你。
所以从今天起:哪个账号的「店员」偷偷睡着了、客人在悄悄流失,最多一天之内,群里必定弹出一张红牌叫人去救。以前这种事可能烂好几天没人发现 —— 这就是这个哨兵补上的最大窟窿。

其实一共请了三个「监督员」,各管一件事 👮👮👮

监督员盯什么(大白话)什么时候响
① 回复率哨兵
#820
客人来了店员没听见(浏览器挂/登录过期,客户回复全漏)某号一整天零客户回复 → 🚨
② 账号发送故障哨兵
#822 · 新
店员喊话喊不出去了(账号被抖音软封/限流,消息发不出,但发送还假装成功)某号刚被自动冷却/封 → 🚨(15 分钟内)
③ 微信外引监控
#821
店员开始递微信名片了(发 v 号),会不会被抖音盯上发了 v 号 + 那号被风控 → 🚨
三个合起来:一个账号从「收不到 / 发不出 / 发外引被盯」三个方向出问题,现在都有人盯着、出事就在群里弹红牌。全是零噪音设计——正常时一声不响,看到弹卡再行动就行。另外账号被封验证码那种,还有更早就在跑的 captcha-monitor(每分钟)兜底。