2026-06-19,账号小文(野荞)给客户 QQL 发了开场白;QQL 回了一句五个字的问题。系统自动捕获 → 生成回复 → 按抖音号精确找到本人 → 发出,全程无人工。这是整套链路第一次端到端跑通。
客户 w@y 回了「4房两厅」,系统据上文(160 平意式轻奢报价铺垫)自动生成接话草稿——接住户型、给方向、留报价钩子。话术质量达标;当前通道半自动,由人工确认后发出(both 全自动暂缓,原因见 §3)。
both 暂不安全」)。截至本快照,系统记账里确认完成直发的仅 QQL 1 例,其余草稿多为下方状态行误捕获/短回复兜底,不计入真实对话。三个角色协同:无影云电脑(GUI 操作抖音)、Vercel 云端(生成话术)、Supabase(共享状态)。无影只负责"读屏 + 发送",大脑(判断/生成/护栏)在云端。全程只动 DM,不碰首触/反评/二次触达。
| 原则 | 怎么落地 |
|---|---|
| 大脑在云端 | 无影只读屏+发送,话术/护栏/判断全在 Vercel chatReply,无影不跑 LLM |
| 复用现成、不造轮子 | 捕获复用反评的列表读取脚本;发送复用首触的"搜人+号核身+发"链;新增仅一个编排脚本 |
| 独立车道、零干扰 | 独立表 + 独立 RPC,串行窗口锁排队,不抢首触/反评/二次触达的账号与窗口 |
| 开关分层 | 云端总开关 + 无影支线开关 + capture/both 模式,可逐级灰度,一键全停 |
当前处0→1 验证完成、批量化刚启用阶段——下方统计为已验证的单条 + 链路指标,大批量数据待积累(不虚构)。真正的价值在 badcase 清单:把这套逻辑铺开会撞到的坑,已逐个修到 / 在修。截至本快照系统记账里确认完成直发仅 QQL 1 例,另生成 25 份草稿但多为状态行误捕获 + 短回复兜底(见下表),正是这些坑卡住了全自动。
| Badcase(批量会撞到的坑) | 对应优化 | 进展 |
|---|---|---|
| 撞名发错人:按昵称搜,同名多→发给陌生人(首测即中) | 抖音号反查(共享缓存 sec_uid→唯一号)+ 按号搜 + 主页号精确核身,号一致才发 | 已修·已验 |
发送号搜索被风控降权:同一抖音号别的号搜得到、发送号怎么搜都搜空 → 大量 wrong_user(非主页);根因是发送号连日高频「搜人+发」被抖音悄悄削搜索结果,不是撞名/坐标/对方 block |
身份门已正确拦截(搜空→落非主页→不误发);运营侧先刷新登录(重扫码/换 cookie)→真风控则冷却 24–48h + daily_limit 30→15–20 拉长间隔→持续不恢复换 messaging 账号。判别:手动连搜 5–6 个号,大部分搜不到=账号级降权 |
诊断清·方案定(2026-06-20) |
| 短回复全漏:列表预览 <12 字被丢,"能发设计图吗""四个房间"全捕获不到 | 解析阈值 12→2,时间行才是强锚点,预览非空即取 | 已修·已验 |
| 相关性闸太窄:要求含装修词,"能发设计图吗"无关键词被当噪声丢 | 改为只挡 spam(互粉/涨粉)+ 系统消息,真人回复一律放行 | 已修·已验 |
| 表情贴纸误抓:客户发 [龙舟载福] 贴纸被当文字回复 | 纯 [xxx] 表情消息跳过,不抓不回 | 已修·已验 |
| 误把自己开场白当回复:指纹偶尔对不上→把"你好…刷到你…"当客户回复 | 开场白签名兜底("你好"开头且含"刷到你"→跳过),不误伤客户"你好"真回复 | 已修·已验 |
| 翻老对话 necro-bump:5 月的老回复被翻出来自动回,很怪 | RPC 加 24h 时效窗口 + 新的先回,老对话一律跳过 | 已修·已上线 |
| 回复重复开场白:生成的回复开头照搬开场白"你好,哈哈这条挺多人催" | 本案人工改"可以的"后发;prompt 层根治待做(见下一步) | 临时绕过·待根治 |
会话状态行被当客户回复:铺开后实测列表预览取到「关闭会话」「在线 / 1小时前在线」「09:58」乃至 26:00 等会话状态/时间文本,被写成 customer 消息并触发草稿——单个会话刷出数十条噪声 inbound(阈值 12→2 + 预览非空即取放得过宽,状态/时间行没全过滤) |
扩 SYS_NOTICE 黑名单 + 时间/「在线」/「关闭会话」正则前置过滤,状态行一律判 no_reply 不写库;身份门 + 24h 窗口已挡住误发,但仍在白烧 LLM 生成草稿,需从捕获端根治 |
已暴露·修复中(2026-06-21) |
| 自己发的回复被回读成客户消息:发出后我方气泡又被 capture 当成客户新回复写回("误把开场白当回复"的变体,指纹偶尔对不上) | 指纹比对 + 开场白签名兜底已覆盖大部分;待补"我方 outbound 全文指纹"严格去重,避免自问自答 | 部分已挡·待加固 |
短回复生成崩兜底 → both 暂不安全:客户回 ≤5 字("4房两厅""L型")时 cron 草稿系统性退化成 这边网络卡了下 稍等我回你~ 兜底话术,且直接落 approved 等发 |
AKKE_DM_AUTOREPLY_MODE 现只跑 capture(只捕获不自动发);热 lead 靠人工改写 dm_reply_drafts.draft + 手动 send 发兜。根治 = 先治 chatReply self-check 把短回复全削成 fallback,再开 both |
已定位·待根治(2026-06-20 文哥机) |
迁移 / 工程坑:RLS policy =ANY(set-returning) 致迁移失败 |
policy 改 IN (SELECT …) |
已修 |
坐标占位符没填:.env 出厂带 AKKE_C_DM_INBOX=<nx>,<ny> 没换真值 → 解析失败=不导航 → 扫到推荐 feed(视频标题)当回复 |
量真实「全局私信图标」千分比坐标(右上角,非用户主页那个发送私信键)填进去;_cappos.py 一量即出 |
已修·已验(2026-06-20) |
点私信仍读 0 行:抖音点开私信只是空框,会话列表不渲染 → UIA 读 列表 0 行 |
_goto_dm_inbox 加第二下点击 AKKE_C_DM_FIRST(第一个会话)撑开列表;只读捕获、仅标已读不发送 |
已修·已验(PR #439, 2026-06-20) |
| 每轮都扫占窗口:capture 每个 loop 都去扫私信、长时间占抖音前台,抢 DM/route-B 的发送窗口 | 节流 AKKE_DM_AUTOREPLY_INTERVAL(默认 12h=每天 2 次):启动先扫一次、之后每 12h 一次 |
已修·已上线(PR #438) |
脚本下不到无影:raw.githubusercontent.com 被机房连接重置、iwr 撞旧 TLS、update.bat 常缺 |
改走 gist.githubusercontent.com raw(不同域、没被墙)+ curl.exe;长链拆短变量避 PowerShell >> 折行 |
已修·已验(2026-06-20) |
both 现在不敢开的根因。先治 self-check,再谈全自动。当前热 lead 靠人工改写 draft 手动发兜。06-21 还卡在「both 暂缓 · 半自动」,06-23 把根因补齐后 both 全自动真打通:客户回私信 → 自动捕获 → 生成(带护栏口径)→ 在收件箱就地点开 TA 发(不搜号) → 回写。同机 DM 首触 + DM 自动回复 + route-B 三条按窗口锁串行、自动回复最优先。
| 通道 / 配置 | 状态 |
|---|---|
| DM 首触(派单发私信) | 跑 · claim=2 · 窗口锁 on |
| DM 自动回复 both(本报告这条) | mode=both · 每 1min · capture 13 行 |
| route-B 潜在触达 | 起 · watch+consume 两窗口 |
| RC 反评 | 关(同窗口跑 route-B 必须关 RC,否则抢窗口) |
| 派单口径 | daily_limit=10 · fresh_window=10min(只派评论抓到≤10min 的新鲜单,空了不回退老单) |
| both 护栏口径 | 客户没问不提价、问了原样发(PR #484) |
一台无影只有一个抖音前台窗口,三条都靠它驱动 → AKKE_WINDOW_LOCK=1 串行。同一 lead 任一时刻只在漏斗一段,不在「人」上撞、只在「窗口」上抢;客户一回复就出二触池、进自动回复,天然不重碰。优先级按时间敏感度:
| 优先级 | 通道 | 为什么 |
|---|---|---|
| ① 最高 | DM 自动回复(both) | 客户正在对话里等,回复延迟直接砸转化;接窗口锁置 .dm-want、route-B 让位、轮内排在首触前(PR4) |
| ② 次 | DM 一触(首触) | 新增高意向 lead,走量主力 |
| ③ 垫底 | route-B 二触 | 捞已 ghost 的人,窗口空 + 鲜视频才跑;自动回复 / 首触一来就让位,最坏等一个在飞单位 |
06-21 的「按抖音号搜人 + 号核身发」撞上 发送号搜索被风控降权(怎么搜都搜空 → wrong_user,见 §3)。06-23 自动回复改走 在私信收件箱直接点开 TA 就地发——对方已在你收件箱、刚回过你,压根不用搜号,结构性绕开撞名与搜索降权。
| 卡点 | 根因 | 修复 |
|---|---|---|
| capture 只读 1 行 / 就地回复 no_row:收件箱明明 10+ 会话,脚本只认出 1 行,要发的人全「找不到会话」 | 会话行靠「名字 + 时间 + 预览」三连识别,时间正则 _TIME_RE 认「昨天 / 天前」却漏「前天」;收件箱里发了 2 天没回的会话时间全是「前天」→ 全军覆没 |
补「前天」+ 日期格式(PR #495 + gist 已分发) |
| 私信列表撑不开:点完私信图标后,再点「第一会话」撑开列表那一下点空了 | AKKE_C_DM_FIRST 归一化坐标量偏(879 落到屏幕偏右、点空),左侧会话列表没渲染 |
重量坐标 879→717(实测第一会话头像位)→ capture 1 行→13 行 |
| capture 时效太松 / 占窗口:旧 12h 节流远非「回了就回」 | 红点门控扫描零 LLM 成本,旧 12h 大节流没必要 | 默认 12h→3min,小文实测压到 1min(AKKE_DM_AUTOREPLY_INTERVAL=60) |
_TIME_RE 两个根因都补上后,小文云电脑 capture[红点门控] 从 1 行 变 13 行,both 抓回复 + 就地发链路全通。下一步真实验证:等真有客户回私信,盯日志出 未读 M>0 + [inbound] + [reply] sent(不再 no_row)。