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

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

文章目录

零基础教你如何快速搭建一个【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 方法是这样写的:

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

为什么要设计这个 Mock?

  1. 调试 UI 和流程:开发者在测试自动回复、界面显示、消息抓取等功能时,不需要每次都花钱调用 OpenAI 或硅基流动。
  2. 断网测试:在没有网络的情况下,通过 Mock 可以确认程序底层的发送逻辑(比如点击发送按钮、粘贴文字)是否正常工作。
  3. 演示用途:给别人演示点击效果,而不涉及真实的隐私或成本。
classMockLLMClient(BaseLLMClient):def__init__(self):super().__init__()defbuild_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,},}defgenerate_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模仿上面的人格信息生成一个你自己喜欢的人格信息
以下是我生成的人格信息的示例:

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

Read more

GLM-4.6V-Flash-WEB Web界面使用指南,拖图就出结果

GLM-4.6V-Flash-WEB Web界面使用指南,拖图就出结果 你不需要配置环境、不用写一行推理代码、甚至不用打开终端——只要把一张截图拖进浏览器窗口,几秒钟后,它就能告诉你图里写了什么、画了什么、哪里有问题。这不是未来预告,而是你现在就能在本地跑起来的真实体验。 GLM-4.6V-Flash-WEB 是智谱AI最新开源的轻量级视觉语言模型,专为Web端实时交互而生。它不像某些“实验室模型”那样只存在于论文和Benchmark表格里,而是真正做到了:部署快、启动快、响应快、上手更快。一块RTX 3090,一个浏览器,一次拖拽,结果即刻呈现。 本文不讲训练原理,不列参数表格,不堆技术术语。我们只聚焦一件事:怎么用好它的Web界面?从零开始,到稳定产出,每一步都清晰可操作。 1. 为什么说“拖图就出结果”不是宣传话术? 很多多模态模型标榜“支持图文理解”,但实际用起来才发现:要装依赖、改路径、调精度、修CUDA版本、

前端防范 XSS(跨站脚本攻击)

目录 一、防范措施 1.layui util  核心转义的特殊字符 示例 2.js-xss.js库 安装 1. Node.js 环境(npm/yarn) 2. 浏览器环境 核心 API 基础使用 1. 基础过滤(默认规则) 2. 自定义过滤规则 (1)允许特定标签 (2)允许特定属性 (3)自定义标签处理 (4)自定义属性处理 (5)转义特定字符 常见场景示例 1. 过滤用户输入的评论内容 2. 允许特定富文本标签(如富文本编辑器内容) 注意事项 更多配置 XSS(跨站脚本攻击)是一种常见的网络攻击手段,它允许攻击者将恶意脚本注入到其他用户的浏览器中。

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

目录 1. 打开浏览器开发者工具 2. 使用 Network 面板 3. 查看具体的API请求 a. Headers b. Payload c. Response d. Preview e. Timing 4. 实际操作步骤 5. 常见问题及解决方法 a. 无法看到API请求 b. 请求失败 c. 跨域问题(CORS) 作为一名后端工程师,理解前端如何调用接口、传递参数以及接收返回值是非常重要的。下面将详细介绍如何通过浏览器开发者工具(F12)查看和分析这些信息,并附带图片案例帮助你更好地理解。 1. 打开浏览器开发者工具 按下 F12 或右键点击页面选择“检查”可以打开浏览器的开发者工具。常用的浏览器如Chrome、Firefox等都内置了开发者工具。下面是我选择我的一篇文章,打开开发者工具进行演示。 2. 使用

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例)

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例) 前端开发中最令人头疼的莫过于那些难以定位的UI问题——元素错位、样式冲突、响应式失效...传统调试方式往往需要反复修改代码、刷新页面、检查元素。现在,通过Cursor编辑器集成的Codex功能,你可以直接用截图交互快速定位和修复这些问题。本文将带你从零开始,掌握这套革命性的调试工作流。 1. 环境准备与基础配置 在开始之前,确保你已经具备以下环境: * Cursor编辑器最新版(v2.5+) * Node.js 18.x及以上版本 * React 18项目(本文以Chakra UI 2.x为例) 首先在Cursor中安装Codex插件: 1. 点击左侧扩展图标 2. 搜索"Codex"并安装 3. 登录你的OpenAI账户(需要ChatGPT Plus订阅) 关键配置项: // 在项目根目录创建.