零基础教你如何快速搭建一个【QQ版聊天AI女友】

一、AI女友运行效果展示

AI女友

二、QQ版AI女友项目简介

【项目地址】:https://github.com/TheD0ubleC/QQSafeChat
大家觉得好用的话不要忘记给这位大佬一个免费的⭐star哦
【注意】:在使用这个项目之前,请确保自己的电脑为Windows系统

QQSafeChat 是一个基于 Windows UI Automation (UIA) 技术开发的、专为 QQ NT(9.0+)版本 设计的桌面端聊天机器人自动化接入框架。

项目核心定位是:通过安全、非侵入式的界面自动化方式,在QQ聊天窗口中实现高度拟人化的AI对话交互。

其主要特性与价值如下:

  • 🧩 安全无侵入:严格通过操作系统标准的UI自动化接口与QQ客户端交互。不注入、不抓取通信协议、不扫描内存,最大程度避免了对QQ客户端安全机制的干扰,保障了用户账号安全。
  • 🤖 深度拟真交互:不仅仅发送文本,更致力于模拟真实人类的聊天习惯。支持模拟真人打字速度消息分段发送,并已实现触发“对方正在输入”状态提示,大幅提升了对话的自然感和沉浸感。
  • 🎨 创新型表情包发送:项目的一大亮点是集成了独立的 StickerSelector 子项目。该模块利用本地微型AI模型进行语义理解,能根据对话上下文,智能地从用户添加的表情包库中挑选并发送最贴合语境的表情包,极大丰富了AI的表达能力。
  • ⚙️ 稳定与轻量:通过精准绑定消息列表、输入框、发送按钮等核心UI控件实现稳定操作。项目本身非常轻量,对系统资源要求极低,适合在各类环境中长期稳定运行。

简单来说,QQSafeChat 为开发者与爱好者提供了一个安全的“桥梁”,能够将任何AI模型(如大型语言模型)的能力,无缝、自然、生动地接入到QQ的日常聊天界面中,创造出高度拟人化的AI聊天伴侣或自动化助手体验。

注:本项目为第三方工具,基于UI自动化技术实现,需在官方QQ客户端框架内合规使用。

三、手把手教你如何搭建AI女友

3.1 项目下载

点击上面的项目地址,进入项目首页面,如果没有安装git的话可以直接点击右上角的Code,然后点击Download ZIP,就可以直接将项目下载成ZIP格式的压缩包辣
在这里插入图片描述

3.2 安装配置

在安装配置之前,请确保自己已经下载并安装好了Python环境,项目作者用的Python版本是Python3.10.6 ,所以在安装Python版本时确保最好不要低于这个版本。
将下载好的项目压缩包进行解压,然后在Pycharm中打开,然后打开终端,输入命令:

pip install -r requirements.txt

安装依赖
在这里插入图片描述
我这个是已经安装好了的

安装好项目所需依赖之后,就可以直接用一下命令运行项目了

python app.py

在这里插入图片描述
运行成功的话就会弹出这样一个弹窗,接下来就可以直接配置你的【AI女友】 啦。

3.3 配置Api key

运行项目成功之后,点击弹窗右上角的设置
在这里插入图片描述
配置LLM,首先就是要选择Provider,这个是根据你生成地Api平台模型选择的,因为我实在硅基流动 生成的API密钥,所以选择siliconflow
在这里插入图片描述
【注意】:不要选择第一个mock,这个是项目作者给的一个示例,如果选择这个的话,无论你填没填,到时候你给你的"AI女友"无论发什么信息都只会回复同样的内容,如下所示:
在这里插入图片描述
原因:这是因为 Mock 客户端(MockLLMClient)的逻辑就是这样编写的。
在软件开发中,“Mock”的意思是“模拟”。它的存在不是为了真的去调用 AI,而是为了测试。当你选择 Mock 时,程序不会联网,也不会消耗任何 API 额度。

具体的代码逻辑分析
llm_client.py 文件中,你可以找到 MockLLMClient 类的定义,它的 generate_reply 方法是这样写的:

class MockLLMClient(BaseLLMClient):
    # ... 省略部分代码 ...
    def generate_reply(self, history_text, new_incoming, persona_text="", split_delimiter="<<<NEXT>>>"):
        # 它直接返回了这一串固定的文字,并拼凑了你发送的内容
        return f"收到:{new_incoming},我先去看看~"

为什么要设计这个 Mock?

  1. 调试 UI 和流程:开发者在测试自动回复、界面显示、消息抓取等功能时,不需要每次都花钱调用 OpenAI 或硅基流动。

  2. 断网测试:在没有网络的情况下,通过 Mock 可以确认程序底层的发送逻辑(比如点击发送按钮、粘贴文字)是否正常工作。

  3. 演示用途:给别人演示点击效果,而不涉及真实的隐私或成本。

class MockLLMClient(BaseLLMClient):
    def __init__(self):
        super().__init__()

    def build_request(
        self,
        history_text: str,
        new_incoming: str,
        persona_text: str = "",
        split_delimiter: str = "<<<NEXT>>>",
    ) -> Dict[str, Any]:
        system_final = "MOCK SYSTEM"
        user_prompt = f"MOCK USER\nincoming={new_incoming}"
        payload = {"mock": True}

        return {
            "provider": "mock",
            "system": system_final,
            "user": user_prompt,
            "payload": payload,
            "url": "",
            "headers": {},
            "meta": {"provider": "mock", "split_delimiter": split_delimiter},
            "inputs": {
                "history": history_text,
                "incoming": new_incoming,
                "persona": persona_text,
            },
        }

    def generate_reply(
        self,
        history_text: str,
        new_incoming: str,
        persona_text: str = "",
        split_delimiter: str = "<<<NEXT>>>",
    ) -> str:
        req = self.build_request(history_text, new_incoming, persona_text, split_delimiter)

        raw = f"收到:{new_incoming[:40]}{split_delimiter}我先去看看~"

        self._emit_debug(
            {
                "phase": "pre_request",
                "system": req["system"],
                "user": req["user"],
                "payload": req["payload"],
                "meta": req.get("meta", {}),
            }
        )

        self._emit_debug(
            {
                "phase": "post_response",
                "raw_output": raw,
                "split_delimiter": split_delimiter,
                "parts": [p.strip() for p in raw.split(split_delimiter) if p.strip()],
                "meta": {"provider": "mock"},
            }
        )
        return raw

这里以硅基流动 为例,如何生成API
首先点击硅基流动的官网:https://cloud.siliconflow.cn/me/models
在这里插入图片描述
进入首页之后,点击左侧的API 密钥,点击新建API 密钥,密钥描述随便写就行,新建好密钥之后就直接复制你新建的API密钥,将你的复制好的API 密钥粘贴到这个地方
在这里插入图片描述
然后回到硅基流动,点击左侧的模型广场,选择一个你喜欢的模型,以我的为例:
在这里插入图片描述
这个就是你的模型名,点击API 文档,进去之后光标选中的部分就是我们需要的Base URL
在这里插入图片描述
将准备好的Base URL和上面选择的模型名粘贴到对应输入框中,然后点击右上角的保存并应用,这样我们的AI女友就算配置好啦
在这里插入图片描述

四、绑定QQ组件

将API等配置好并保存好后,就可以绑定组件啦。
用电脑登录你的QQ小号,选择你大号的聊天窗口
【注意】:要确保你电脑上面的QQ的版本要是QQ9.0 以上的才能支持
在这里插入图片描述
点击弹窗上面的三个按钮,并拖拽按键到对应的聊天区域,按键下方显示已绑定,就说明绑定成功啦,绑定好之后,将自动回复勾选上,就可以点击启动啦。

启动之后,你就可以尽情的和你的【AI女友】谈一场轰轰烈烈的恋爱啦!
在这里插入图片描述

五、AI 男/女 友人格设置

在弹窗设置里面,点击人格,这里项目作者自己定义了许多人格,你喜欢哪一款人格就直接选中那个人格,然后点击应用选中人格,选择好之后,记得保存并应用
在这里插入图片描述
当然,如果这里没有你喜欢的人格,你也可以自己生成你喜欢的人格,直接复制已有人格的信息描述复制给AI,然后让AI模仿上面的人格信息生成一个你自己喜欢的人格信息
以下是我生成的人格信息的示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐