Skip to main content

快速开始

本项目仅作为学习研究使用,切勿用于非法用途


项目简介

  • LRobot 是一款基于 Python 开发的辅助聊天工具,主要服务于社团管理
  • 项目围绕各消息平台构建消息处理和管理系统,涵盖 QQ、微信、B 站、网页四个平台的界面和指令功能
  • 之后均用 LR232(qqbot),LR5921(Napcat),WECHAT(wechat),BILI(bilibili) 代替各平台
  • 项目有各步骤详细的说明及教学,虽然涉及到账号申请、部署、准备数据等内容比较麻烦,但完成后可以发挥想象,设计更多更有趣的功能;同时给有一定经验的开发者做一个参考
  • 项目将持续更新……
  • 可以猜猜为什么叫这个名

快速开始

准备工作

  1. 首先了解聊天机器人是做什么的:
    1. 不是机器人
    2. 部署于聊天平台上
    3. 可以持续运行
    4. 完成自动回复、信息推送、群管等重复性内容
    5. 或搭载游戏查询、翻译、大语言模型等智能服务
  2. 然后你需要了解本项目和其他项目的区别
    1. 主要服务于多平台,如果只需要单平台,建议用更简单的架构 当然,消息处理和服务器连接方法还是可以参考一下的qwq
    2. 主要使用自动回复、推送等功能,不涉及群聊、频道管理
    3. 存在入会、会员信息统计等社团相关功能,且相关数据不会提供,需要按需修改 但说明文档很详细
    4. 存在网盘、wiki 等大部分聊天机器人都不需要的页面 也有指令配置、日志页面等
    5. 本项目不是一体化运行,需要下载项目并逐一启动数个 docker 对于个人开发和更新指令更高效,以及,可以选择自己需要的服务进行配置
  3. 本项目存在两种运行方式,拥有公网 ip 地址参考方案 A,没有公网地址或追求更高的运行效率、更强的性能(如搭载大模型)参考方案 B

本地: 本地电脑;服务器: 远程服务器;运行机: 项目主要运行位置,方案 A 为服务器,方案 B 为本地

  1. 在运行机上配置 docker 环境,参考docker 配置教程
  2. 参考各平台注册教程选择需要的平台并配置,复制并重命名 secret.py,替换为自己的密码
  3. 在服务器上配置 nginx,将 command/nginx.conf 作为 nginx 配置文件(方案 B 把 5922 改为 10000),参考服务器配置教程
  4. 在运行机上下载项目 git clone https://github.com/wwweibu/Lrobot.git(超时参考此处) 并进入目录 cd Lrobot

无论哪种方案,默认本地能够访问 github 服务以及 docker 服务

方案 A

仅使用本项目,不扩展大模型时,采用2核2G运存50G内存的服务器,cpu 占用率不超过 5%,内存占用率不超过 50%,系统盘使用不超过 40GB(其中网盘占用 12GB),且网盘上传下载速度是方式 2 的 10 倍(可能是家里网太差) 方案A

  1. 需要一台拥有公网 ip 的服务器,以 ubuntu 系统为例(以下操作未提到本地均在服务器上完成)
  2. 启动 napcat 服务(若需要 napcat 平台)
    • docker compose up --build -d napcat(失败参考此处,下同)(linux 使用 docker 命令需要加 sudo,下同)
    • 临时开放服务器的 6099 端口(可参考)
    • 本地访问http://服务器ip:6099/webui?token=napcat
    • 服务器使用docker logs napcat在日志中寻找生成的随机密钥
    • 本地使用密钥登录,并扫码登录 QQ,进入网络配置
    • 配置 HTTP 服务器,启用-开启 Debug-主机:0.0.0.0-port:5921
    • 配置 HTTP 客户端,启用-开启 Debug-URL:http://lrobot:5922/LR5921/(配置了 secret 记得改成加密后的路径)-上报自身消息
    • 均不开启 cors 和 ws
    • 其他配置-登录配置里填写当前 QQ 以便快速登录
  3. 启动 mihomo 服务(服务器网络代理服务,可不使用)
    • 编辑storage/yml/agent_copy.yaml为 agent.yaml,保留前几行,后面使用对应的 mihomo 代理配置
    • docker compose up --build -d mihomo启动服务
  4. 启动数据库服务
    • docker compose up --build -d mysql

      如果不想要 id 太大,手动将storage/data/initdb/mysql.sql中的 id 删掉所有AUTO_INCREMENT=xxx

    • docker compose up --build -d mongodb
  5. 启动 napcat 监听服务
    • docker compose up --build -d napcat_log
  6. 配置系统参数
    • storage/yml文件夹中含 copy 的文件重命名去掉 copy(其中 secret.yaml 需要根据文件中的配置提示配置各平台参数,不需要配置服务器和域名)
  7. 启动 lrobot 主服务
    • docker compose up --build -d lrobot
    • 需安装 libreoffice,预计 10 分钟
  8. 参考回调配置教程配置各平台回调地址

方案 B

方案B

使用本方案运行效率的上限肯定比仅使用服务器要高,且如果是 windows 的话 docker desktop 看日志比 linux 更好;但可能会遇到本地网络环境差、电脑死机等意外风险

  1. 需要准备一台长期运行项目的电脑(以下操作未提到服务器均在本地完成)
  2. 启动 napcat 服务(若需要 napcat 平台)
    • docker compose up --build -d napcat
    • 访问网址进行登录及 QQ 扫码(也可以扫storage/data/napcat/cache处的二维码)
    • 配置 HTTP 服务器,启用-开启 Debug-主机:0.0.0.0-port:5921
    • 配置 HTTP 客户端,启用-开启 Debug-URL:http://lrobot:5922/LR5921/(配置了 secret 记得改成加密后的路径)-上报自身消息
    • 均不开启 cors 和 ws
    • 其他配置-登录配置里填写当前 QQ 以便快速登录
  3. 由于默认本地有代理网络环境,不使用 mihomo 容器
  4. 启动数据库服务
    • docker compose up --build -d mysql

      如果不想要 id 太大,手动将storage/data/initdb/mysql.sql中的 id 删掉所有AUTO_INCREMENT=xxx

    • docker compose up --build -d mongodb
  5. 启动 napcat 监听服务
    • docker compose up --build -d napcat_log
  6. 启动服务器连接与转发
    • storage/yml/secret.yaml中填写服务器 ip 和 username
    • docker compose up --build -d command 启动服务器连接
  7. 将 storage/yml 文件夹中含 copy 的文件重命名去掉 copy(其中 secret.yaml 需要根据文件中的配置提示配置各平台参数,agent.yaml 不用处理)
  8. 启动 lrobot 主服务
    • docker compose up --build -d lrobot
    • 需安装 libreoffice,预计 10 分钟
  9. 参考回调配置教程配置各平台回调地址

文档结构

  • 项目总览包含快速开始、常见问题等了解项目的内容
  • 使用指南包含项目配置说明、使用指南等非代码内容
  • 开发指南包含所有代码的讲解
  • 项目测试包含测试用例

对哪个部分的代码产生疑问,直接右上角搜文件名即可