用 DeepSeek 做一个会聊天的 QQ 桌宠-合规接入与架构实战

摘要:最近圈子里很火的一个说法是"接 DeepSeek 的大肥鱼桌宠"——一个能在 QQ 陪你聊天、还能自己跑 B 站、甚至打王者的 AI 数字人。本文把能合规落地的那一半写透:用 OneBot 标准把自己的 QQ 接成 DeepSeek 驱动的聊天桌宠,从架构到可运行代码一步步来;同时把"批量注册 B 站账号、自动刷评论、自动打游戏"这类红线讲清楚为什么不能做。只做合规的,不做灰产的。

"大肥鱼"这个名字最近在 QQ 群里刷屏——据说是接了 DeepSeek 的桌宠,能在 QQ 跟你聊天,还能自己注册 B 站账号刷评论、甚至自动打王者。听着很酷,但这里要先划一条线:

能做的:把自己/已授权的小号 QQ 接成 AI 聊天桌宠,用 DeepSeek 驱动对话——这是个人 AI 助手的主流玩法,完全合规,本文写透。
不能做的:批量注册平台账号、机器人刷评论/刷量、自动化操作游戏(外挂)——这些违反平台服务条款,也违背助手的使用边界,本文不提供实现,只讲边界。

下面先把合规的核心——QQ 聊天桌宠——从零搭起来。

一、整体架构

┌─────────────┐     OneBot 11     ┌──────────────┐    HTTP/SSE    ┌─────────────┐
│  QQ 客户端   │ ◄─── WebSocket ──► │  协议端        │ ◄────────────► │  你的机器人   │
│ (你的小号)   │                   │ (go-cqhttp /  │               │  Python      │
└─────────────┘                   │  Lagrange)    │               │ + DeepSeek   │
                                   └──────────────┘               └─────────────┘
  • 协议端:实现 OneBot 11 标准的程序,负责登录 QQ、收发消息。主流选 go-cqhttp(Go 实现)或 Lagrange.Core(.NET,对新协议更友好)。
  • 你的机器人:一个 Python 进程,监听 OneBot 正向 WebSocket,收到私聊/群消息就调 DeepSeek API 拿到回复,再发回去。
  • 桌宠 UI:可选,用 Electron / PyQt / 网页套壳,把"会聊天的 AI"做成一个桌面小宠物形象。
注意:QQ 机器人协议属于非官方接口。腾讯允许个人在自己账号、不骚扰他人、不商业化滥用的前提下做实验,但批量养号、群发营销、冒充真人是明确违规的。用你自己的小号自己玩,别拿去骚扰别人。

二、步骤 1:部署 OneBot 协议端(以 go-cqhttp 为例)

  1. 去 go-cqhttp 发布页下载对应系统二进制(Windows / Linux x64 / macOS)。
  1. 首次运行生成 config.yml,关键配置:
account:
  uin: 你的QQ号            # 建议用专门的小号,别用主号
  password: ""            # 留空则扫码登录
default-middlewares:
  access-token: "你的token"  # 自己设一个,机器人连接时要带
servers:
  - ws:
      address: 0.0.0.0:6700
      access-token: "你的token"
  1. 启动,扫码登录(首次需手机 QQ 扫码)。登录成功后协议端会在 ws://127.0.0.1:6700 提供 OneBot WebSocket。
风控提示:登录设备异常、频繁收发、群发消息都会触发 QQ 安全验证甚至封号。桌宠只跟你自己的私聊或小范围群聊互动,频率别太高。

三、步骤 2:写机器人,接 DeepSeek

DeepSeek 提供 OpenAI 兼容接口,直接 pip install openai 就能调。

# bot.py — OneBot 接收 + DeepSeek 回复(最小可运行版)
import asyncio, json, httpx
from nonebot.adapters.onebot.v11 import Adapter as ONEBOT
# 不想引 nonebot 的话,直接用 websockets 连 OneBot 也行,下面给裸写版

import websockets, openai

# 1) DeepSeek 客户端(OpenAI 兼容)
ds = openai.OpenAI(
    api_key="sk-你的DeepSeekKey",          # 从 platform.deepseek.com 申请
    base_url="https://api.deepseek.com/v1",
)

# 2) 连 OneBot 正向 WS
WS = "ws://127.0.0.1:6700"
TOKEN = "你的token"

async def handle():
    async with websockets.connect(WS, extra_headers={"Authorization": f"Bearer {TOKEN}"}) as ws:
        # 先发心跳/鉴权(按 OneBot 11 约定,有的端不需要)
        async for raw in ws:
            data = json.loads(raw)
            if data.get("post_type") == "message":
                msg = data["message"]          # 用户发来的文本
                uid = data["user_id"]
                # 调 DeepSeek
                resp = ds.chat.completions.create(
                    model="deepseek-chat",
                    messages=[{"role":"user","content": msg}],
                    max_tokens=800,
                )
                reply = resp.choices[0].message.content
                # 发回去(OneBot send_msg)
                await ws.send(json.dumps({
                    "action":"send_msg",
                    "params":{"user_id": uid, "message": reply}
                }))

asyncio.run(handle())

要点:

  • 模型:deepseek-chat(V3)适合日常聊天;deepseek-reasoner(R1)适合推理,但慢且贵,桌宠聊天用 chat 足够。
  • 上下文:上面是单轮。要做"记得你"的桌宠,把最近 N 条消息存个列表当 messages 历史即可(注意 token 成本)。
  • 频率限制:DeepSeek API 有 RPM/TPM 限制,别让桌宠每秒狂问。

四、步骤 3:做成"桌宠"样子

聊天逻辑跑通后,UI 层随便挑:

  • PyQt / Tkinter:画个宠物图标,消息气泡浮在旁边。
  • Electron + 网页:前端显示宠物动画,后端复用上面的 bot.py(通过本地 WebSocket 或 HTTP 桥)。
  • 纯终端:不嫌丑的话,直接在终端里跟它聊也行。

桌宠的"人设"通过系统提示词设定,例如:

你是陪伴我的桌面宠物"小鱼",性格呆萌话不多,偶尔吐槽。
只在被 @ 或私聊时说话,不主动刷屏。

五、那些"不能做"的红线,为什么

原文里"大肥鱼"还吹了三件事,这里明确讲边界:

  1. 自己创建 B 站账号并批量评论:B 站(及几乎所有平台)服务条款禁止自动化注册账号、禁止机器人刷评论/刷量。批量养号、自动评论属于 spam 行为,轻则限流封号,重则涉及虚假流量。合规替代:用 B 站官方开放平台(若你有创作者资质)管理你自己的账号内容,而不是去别人视频下自动刷。
  1. 自动玩王者荣耀:游戏自动化/外挂违反游戏 ToS,通过图像识别点击或协议层操作都会被检测封号,且破坏公平。合规替代:做"AI 陪练/攻略助手"——用 LLM 回答出装、铭文、打法,而不是去自动操作游戏客户端。
  1. 把 AI 伪装成真人去社交平台活动:身份冒用、打扰真实用户,既违规也不道德。

一句话:让 AI 做"你自己账号的助手"是合规的;让 AI "冒充真人去批量占领平台"是违规的。 这条线别跨。

六、小结

QQ 聊天桌宠这部分,今天就能跑起来:go-cqhttp/Lagrange 做协议端 + 十几行 Python 接 DeepSeek + 一个 UI 壳。它确实能成为"会聊天的数字伙伴",而且完全在你自己的账号、自己的设备里。

至于"大肥鱼"吹的 B 站养号、自动打王者——不是技术做不到,是不该做。把精力放在合规且真正有用的地方:一个记得你、陪你聊、帮你查资料的桌宠,比一堆封掉的僵尸号值钱得多。

本文 QQ 接入部分基于 OneBot 11 公开标准与 DeepSeek OpenAI 兼容 API 撰写;平台合规边界以各平台现行服务条款为准。代码示例为最小可运行骨架,生产环境请补上错误处理、限流与持久化上下文。

扫码关注公众号,获取更多 OpenClaw 实操技巧:

公众号二维码