DM 自动回复 · 部署操作指南

在你的无影云电脑上开启「客户回私信 → 系统自动抓到」· 跟着做约 10 分钟 · 一步一步来
✅ 这版可以开「both 全自动回复」了(2026-06-23)
both = 客户回私信 → 系统自动抓 + 自动生成 + 在收件箱就地回出去,全程无人工、不搜号。
安全闸已补齐:草稿崩/空/超长、谈判阶段、客户没问你却自冒价格/微信 → 都自动转人工不发,只发干净的。所以可放心写 both想先只抓不发观察,写 capture 也行。

开工前,确认这台机满足 3 个条件

这台无影已经在跑 DM 首触(有个黑窗口一直在滚动 [轮N])。自动回复是加在它上面,不是重装一套。
这台已经能正常发冷启动 DM(即跑过 douyin_dm_grounded.py --capture 校准过发送键)。就地回复要用它的发送能力。没校准过 → 先跑 py douyin_dm_grounded.py --capture 按提示采一遍。
知道这台登录的是谁的抖音号(步骤 2 有 id 对照表,自己核对,不用问 PM)。
云端总开关 DM_AUTO_REPLY_ENABLED=1 是 PM 一次性配的,你不用管
0

打开工作目录的 PowerShell

在无影桌面打开 PowerShell(蓝色窗口),输入这行回车,进到放脚本的文件夹:

cd C:\akke-wuying\wuying-dm
1

下载 5 个脚本

一行一行粘、一行一行回车!千万别 5 行一起粘——PowerShell 会用 >> 把它们连成一条,报错或下不到。
curl.exe -o wuying_poll_agent.py "https://gist.githubusercontent.com/yeqiao356/5e9905152e7fd4de7b4114c211e96c25/raw/wuying_poll_agent.py"
curl.exe -o douyin_dm_autoreply.py "https://gist.githubusercontent.com/yeqiao356/5e9905152e7fd4de7b4114c211e96c25/raw/douyin_dm_autoreply.py"
curl.exe -o douyin_inbox_uia.py "https://gist.githubusercontent.com/yeqiao356/5e9905152e7fd4de7b4114c211e96c25/raw/douyin_inbox_uia.py"
curl.exe -o douyin_dm_reply_inbox.py "https://gist.githubusercontent.com/yeqiao356/5e9905152e7fd4de7b4114c211e96c25/raw/douyin_dm_reply_inbox.py"
curl.exe -o measure_dm_coords.py "https://gist.githubusercontent.com/yeqiao356/5e9905152e7fd4de7b4114c211e96c25/raw/measure_dm_coords.py"
你会看到:每条都打印一行带 100   xxxx   100   xxxx 和字节数(几 K 到几十 K)。数字不是 0 就对了。
2

确认账号对(最关键,错了后面全白干)

看这台 .env 里绑的账号 UUID:

findstr AKKE_ACCOUNT_ID .env
你会看到AKKE_ACCOUNT_ID=804a8ab8-.... 这样一串。

对照下表自己核对 —— 这台登录的抖音号是谁,UUID 就必须是哪个(不用再问 PM):

这台云电脑登录的号AKKE_ACCOUNT_ID 必须是
小文(野荞)81cc9678-9b53-413b-9f40-7964341f4af1
小胡804a8ab8-167b-4485-b9b9-7f3692404847
文哥e7d50b4c-24f9-4cb2-b8fe-cb47c2682ab0
有大有小9535e31c-bced-4cf6-93d1-0f8699df4cb0
零星8af08f10-6db5-4d83-8942-b908349efbda
饭粒(一筑·全屋定制)c5d236e1-fd80-4cff-b349-506dfd09699b
必须等于这台登录抖音号对应的那串。不一致就改成对的再往下——绑错的话系统认不出你的客户,红点逮到也存不进去(日志一直 已发记录 0 人)。表里没有你的号 → 找 PM 补一行。
3

量 2 个位置(量完要换算,看清楚!)

自动跑时脚本要自己点开私信、点第一个会话,得先告诉它这俩在屏幕哪。先把抖音停在私信会话列表(能看到一列会话),再跑:

py measure_dm_coords.py
第 1 次:鼠标移到顶部/侧边的「私信」图标上 → 回车。
第 2 次:鼠标移到私信列表里「第一个会话的头像」上 → 回车。
⚠️ 它显示的 抓到坐标: (1835, 140) 是【原始像素】,但脚本要【千分比 0~1000】—— 问「是否写入 .env」时输 n 别让它直接写!
把量到的两个 (x,y) 各 ÷ 屏幕宽 ÷ 高 ×1000 换算(屏宽多半 2560、高 1600):
· 私信 (2294,16) → 2294÷2560×1000=896,16÷1600×1000=10896,10
· 第一会话 (1835,140)717,88
下一步手填进 .env。算不准就把两个原始 px 发 PM 换算。(直接写原始 px 会点屏外、列表撑不开、capture 只读 1 行、回复全 no_row —— 今天小文这台栽过)
4

填 .env(坐标 + 开关 + 模式)

记事本打开 C:\akke-wuying\wuying-dm\.env,确认/补这 5 行(坐标填上一步换算好的千分比):

AKKE_C_DM_INBOX=896,10 # ← 上一步换算的私信入口千分比 AKKE_C_DM_FIRST=717,88 # ← 上一步换算的第一会话千分比 AKKE_DM_AUTOREPLY_CAPTURE=1 AKKE_DM_AUTOREPLY_INTERVAL=15 # 多久扫一次:15=15秒(回最快) / 60=1分 / 180=3分(省窗口) AKKE_DM_AUTOREPLY_MODE=both # both=自动发 / capture=只抓不发
想先稳一点只抓不发验几条,把最后一行写 capture;确认没问题再改 both 重启。坐标千分比 = 这台机专属,别抄别人的。
5

重启 agent(让它读最新设置)

改了 .env 必须重启才生效——脚本启动时只读一次。

PowerShell 跑这两行(先杀旧的,再起新的):

Get-Process py,python -ErrorAction SilentlyContinue | Stop-Process -Force
py wuying_poll_agent.py

嫌麻烦也可以直接重启这台云电脑——开机会自动重跑 agent 并读最新 .env。

6

看日志,确认在跑

盯着那个黑窗口,每隔你设的间隔(15 秒 / 3 分钟)会冒出这两行:

收件箱捕获(每15s一次) mode=both === capture[红点门控]: N 行 / 未读 M / 已发记录 K 人 ===
N 必须 > 1(13 行那种)。只有 1 行 = 坐标没换算千分比 / 抖音没停私信列表 → 回步骤 3。both 模式有 approved 草稿时还会打 [reply] 某某: sent = 真发出去了。
怎么看懂这行:
· 已发记录 K:K 大于 0 = 账号绑对了、能认出你的客户 ✅(K=0 一直不变 → 账号绑错,回步骤 2 找 PM)
· 未读 M:现在有几个客户回了你、红点还亮着。M=0 很正常(没人刚回)。
· M 大于 0 时,下面会跟一行 [inbound] 某某: 客户说的话 = 成功抓到一条回复 ✅
看不到这两行?对照下面「常见问题」表。
7

(可选)真验一条

想当场确认,找个人(或拿你自己小号)给这台登录的抖音号发一条私信,别在无影上点开它(让红点亮着)。然后啥也别动,盯黑窗口。

3 分钟内应自动打出 [inbound] 某某: 你发的那句话 —— 出了这行 = 无人值守抓取真通了 ✅。之后系统会自动生成回复草稿(PM 那边能看到)。

常见问题速查

看到的现象怎么办
日志一直 已发记录 0 人账号绑错(最常见)→ 回步骤 2,把 AKKE_ACCOUNT_ID 跟 PM 核对,改成这台登录抖音号的那串,重启 agent。
capture 只读 1 行 / 没解析到会话抖音没停在私信会话列表,或坐标量歪 → 重跑步骤 3 measure_dm_coords.py
capture 13 行但回复全 no_row / 点到屏外坐标写了原始像素没换算千分比(最常见)→ 回步骤 3 把 px ÷屏宽÷高×1000 换算重填;或脚本是旧版 → 重下步骤 1。
日志压根没 capture[红点门控] 这行AKKE_DM_AUTOREPLY_CAPTURE=1 没写、或 agent 没重启 → 检查 .env(步骤 4)+ 重启(步骤 5)。
日志显示 每0h一次说明是老脚本 → 重下步骤 1 的 wuying_poll_agent.py 再重启。(新脚本显示「每3min一次」)
下载报「缺少参数 / Malformed」多行命令被 >> 连断了 → 一行一行重新粘(步骤 1)。
满屏乱码 / 红字报错看不懂截图发 PM,别继续硬跑
一句话流程:下 5 脚本 → 对账号(步2·有 id 对照表) → 量坐标【换算成千分比】(步3) → .env 填坐标+MODE=both+间隔(步4) → 重启(步5) → 看日志 mode=both + capture[红点门控]: N行(N>1) + 已发记录 K>0(步6)。
最容易栽的一步是坐标换算(步3)—— 量到的原始像素必须 ÷屏宽÷高×1000 再填。拿不准截图问 PM。