自动化与排错

JSON 输出

命令结果写入 stdout,错误、警告和底层诊断写入 stderr。自动化脚本应分开处理两种输出:

wxautox4 status --json 1> result.json 2> diagnostics.log

监听是连续事件流,应使用 --jsonl 逐行解析,而不是使用全局 --json

退出码

退出码含义
0命令成功
1运行、Worker、IPC、CLI 校验失败,或 API 返回失败
2参数错误,或没有指定顶层命令

脚本不要只检查输出内容,还应检查 $LASTEXITCODE

$result = wxautox4 status --json
if ($LASTEXITCODE -ne 0) {
    throw "wxautox4 status 执行失败"
}
$status = $result | ConvertFrom-Json

授权管理

授权命令不启动微信或 Worker:

wxautox4 auth activate AUTH_CODE
wxautox4 auth activate-file ".\license.dat"
wxautox4 auth export
wxautox4 auth debug-export
wxautox4 auth offline ".\offline.dat" --code AUTH_CODE
wxautox4 auth check

旧版授权参数仍然兼容,但新脚本建议使用 auth 分类命令。

常见错误

系统不识别 wxautox4 命令

确认当前 Python 环境已经安装 wxautox4,并将该环境的 Scripts 目录加入 PATH

unrecognized arguments: --nickname

--nickname 必须放在顶层命令前:

wxautox4 --nickname "工作微信" message list

unrecognized arguments: -v

-v/--version 是根选项,应使用 wxautox4 -v

no default worker

先执行 wxautox4 worker start,或使用根参数 --nickname 显式选择账号。

chat not found

检查账号和聊天名称。只有 chat open --fuzzy 支持模糊匹配,其他命令的 --chat 不会继承该选项。

操作超时

增加对应命令的 --timeout,同时检查微信窗口、网络和页面是否已加载。朋友圈、历史消息、联系人和群扫描使用总时限。

Worker 存活但不可达

CLI 不会回退到临时实例,以免两个进程同时操作微信。确认 Worker 是否卡死或被安全软件隔离,停止故障进程后再重启。

JSON 被诊断信息污染

只解析 stdout,将 stderr 单独保存。监听必须使用 --jsonl 逐行解析。

自动化注意事项

  • 仅支持 Windows 交互桌面,不能作为无桌面系统服务运行。
  • UI 操作全局串行,不要把多个 CLI 进程当作并行执行器。
  • 消息、好友申请和朋友圈索引不是稳定 ID,查询后应立即操作。
  • 监听没有持久事件日志、确认、重放或断点续传。
  • 发布脚本前,应在目标微信版本和实际账号权限下完成端到端验证。