跳转到内容

为什么我在服务器上养了一只 QQ 机器人

最初的想法很简单:群里聊天的时候,希望有个能接话、能查东西、偶尔发个表情包的成员。

实际的形态比想象中复杂。现在的「小鲸鱼」跑在一台 1.6G 内存的云服务器上,链路是:

QQ 客户端(Docker 容器里跑的真 Linux QQ)
→ OneBot 协议端
→ Node.js 业务层
→ 自建的 API 网关(账号池 + 配额)

为什么要真 QQ 客户端

很多方案用无头协议端模拟 QQ。我选了在 Docker 里跑真实的 Linux QQ(Electron),再注入协议端。代价是内存和偶尔的进程卡死——所以才有了每分钟跑的看门狗脚本和「QQ 卡死自动重启登录」的修复命令。

换来的好处是行为与正常客户端一致,被风控的概率低很多。九个月的运行里只掉过几次登录,大多数能自动登回。

成本是真实问题

机器人每说一句话都在花钱。现在的做法:

  • 每两分钟记一次余额和用量到 CSV,趋势随时可查。
  • 非紧急消息合并批量处理,减少唤醒次数。
  • 日常聊天用便宜的模型,需要看图或复杂推理才切贵的。

每天的账面成本从最早的六块多降到两块左右。这是这个站会有「开发日志」分类的原因——大部分值得写的东西都来自这种真实约束下的取舍。

← 返回博客列表