企微红蓝对抗 · 部署手册

企微红方(客户模拟器)云电脑部署

照着做就行,每一步都拆到不用动脑。全程在一台云电脑里操作,大概 15 分钟跑通。

镜像码 83427100 环境已预装 ✓ 你只做:配置 + 验活
这是干嘛的? 让云电脑里的企业微信自动扮演一个「客户」,去跟我们生产环境的销售号(蓝方,AI 自动代回)聊天,压测「聊到什么程度能把客户引到店」。你这台就是红方 = 假客户
1

把你的云电脑换成红方镜像

打开无影,找到你的那台云电脑,照下面点:

  1. 点这台云电脑下面的「管理」按钮
  2. 在里面找到并选 「镜像」
  3. 点下面的 「变更镜像」
  4. 把镜像码 83427100 填进输入框,点确定。

然后等它重装 + 开机好(几分钟),再连进桌面。这台机器现在就带好了企业微信、Python 和红方脚本,不用你另外装。

「变更镜像」= 重装系统 会把这台云电脑原来的内容覆盖掉。确认这台就是专门拿来跑红方的、上面没有你要留的东西,再变更。
2

登录红方测试号,点开跟蓝方的会话

在云电脑里打开企业微信

⚠️ 千万别登错号 要登红方测试号,不是蓝方销售号。登错了就变成 AI 自己撩自己,白跑。
3

打开脚本文件夹,并在里面开 PowerShell

不用记命令,跟着点:

  1. 打开文件资源管理器(任务栏上那个黄色文件夹图标)。
  2. 在最上面的地址栏里输入 C:\akke-red 回车,进到脚本文件夹。
  3. 再点一下地址栏,把里面的地址删掉、输入 powershell 回车。

会弹出一个蓝色的 PowerShell 窗口,而且已经停在 C:\akke-red 这个文件夹里了。后面每一步的命令,都贴进这个蓝窗口里回车。

找不到这个文件夹?按 Winred_loop 定位 red_loop.py 所在目录,或问负责人。

4

填配置文件 .env(先设成「不真发」)

把模板复制成正式配置文件,然后用记事本打开它:

PS> copy .env.example .env
PS> notepad .env

记事本里只改两个地方,其它都别动:

改完按 Ctrl+S 保存,关掉记事本。AKKE_RED_C_INPUT 这行下一步再填。

密钥别外传 这把 key 有额度封顶,只在这台云电脑用,别贴到聊天/文档里。
5

标出「输入框」的坐标

脚本靠坐标找到企微的打字框。把下面这行贴进那个蓝色 PowerShell 窗口回车——它会给你 5 秒,你赶紧把鼠标移到企业微信最下面的打字框里停住别动:

PS> python -c "import time,pyautogui; time.sleep(5); x,y=pyautogui.position(); w,h=pyautogui.size(); print('AKKE_RED_C_INPUT=%d,%d'%(round(x*1000/w),round(y*1000/h)))"

5 秒后它会打印一行,比如 AKKE_RED_C_INPUT=145,913。把这一整行抄下来,再 notepad .env 打开配置,把里面原来的 AKKE_RED_C_INPUT=... 换成你刚得到的这行,保存。

别在这 5 秒里点鼠标 只移过去、停住。手抖点了就重跑这条命令。
6

干跑一次,确认不会闯祸

现在 AKKE_RED_DRY_RUN=1,跑起来只读屏、只打印、不会真发消息。在 PowerShell 窗口里贴:

PS> python red_loop.py personas_smoke.json

看这几点算通过:

看完按 Ctrl+C 停掉。坐标不对(鼠标没停在打字框)就回第 5 步重标。

如果报 ModuleNotFoundError 说明缺库(极少见,镜像一般都装了)。跑一次 pip install pyautogui pygetwindow pillow python-dotenv 再回来。
7

正式开跑(真发消息)

干跑没问题了,把开关打开。notepad .env 打开,把 AKKE_RED_DRY_RUN=1 改成 AKKE_RED_DRY_RUN=0,保存。然后:

PS> python red_loop.py personas_smoke.json

现在它会真的按剧本给蓝方发消息、等 AI 回复、记录整段对话。句子之间隔几分钟是故意的(防风控),别嫌慢、别去手动催、别自己插话。让它自己跑就行。

✓ 跑起来了 窗口别关、别锁屏、别拿鼠标乱动(它要靠鼠标点打字框)。让这台云电脑自己待着跑完。
8

怎么停下来

随时想停,两种都行:

要用同一个测试号重跑?先找负责人清场 同一个号跑第二轮前,需要清掉服务端会话记录和几个本地缓存(不清会串台/漏读)。这步有专门的清库脚本,第一次部署先别管,需要重跑时找负责人执行。