跳到主要内容

更新日志

[1.0.0]

  • 项目初始版本
  • 新增消息类型统一定义
  • 新增消息队列逻辑
  • 新增活动处理逻辑
  • 新增 README

[1.1.0]

  • 将 HTQQ 框架完全更换为 LLOneBot 框架,杜绝盗号风险
  • 修改易语言为 python

[1.1.1]

  • 新增小程序后端 Flask 服务
  • 修改消息类型统一定义

[1.2.0]

  • 物资租借小程序正式上线
  • 修改小程序管理员认证方式

[1.3.0]

  • 将 LLOneBot 更换成 NapCat 框架,因为 NapCat 在获取最后发言时间的更新上优于 LLOneBot(之后发现是本人问题
  • 新增 echo 字段来区分各种消息,统一 ws 收发内容

[1.3.1]

  • 新增每日发言统计

[1.4.0]

  • 换回 LLOneBot 因为能发送 json 格式消息,用于发送小程序
  • 新增 /帮助 指令说明文档
  • 新增 /物资借用 功能,返回小程序
  • 修改消息格式中的 content,不限制为 str,用于发送消息数组

[1.5.0]

  • 使用 JioNLP 来处理时间和时间段
  • 修改活动数据库 tasks,可以记录未审核活动便于管理员同时审核多个活动,同时给活动添加了时间段属性

[1.6.0]

  • 官方机器人指令过审
  • 新增社员信息更新的大部分操作
  • 新增社团管家功能
  • 修改 botpy 中 post_c2c_file 和 post_group_file 函数使其能上传本地文件

[1.7.0]

  • 重构项目,增加了消息处理过程中的异常捕获而不阻塞,重构了 msg,time,robot 的文件路径,log 和 yaml 的路径,增加了部分注释

[1.8.0]

  • LR5921 支持识别不同消息格式,包括戳一戳和回应
  • 修改 log_event 中消息必须是 str 的限制

[1.9.0]

  • 实现了热更新功能,通过 update.yaml 进行不停服更新
  • 修改 events 文件夹下面的函数排布
  • 修改 events 之后的函数处理格式,只传入 msg 一个参数,不传入状态等
  • 修改 msg_process 的引用,由于 eval 动态添加的特性所以需要导入一些看上去用不上的模块

[2.0.0]

  • 小程序与后端服务器并发运行
  • 新增下载 flask[async] 包来使用异步数据库更新方法
  • 新增 delay 异步延时方法,创建新线程池进行计时,使得同步/异步多次调用同一函数也不会互相阻塞
  • 修改数据库更新方式为 database 中的相关方式

[2.1.0]

  • 日志输出统一,删除并重写了 qqbot 里面所有的日志,只剩下 app 日志和 robot 日志
  • 新增日志调试功能,在 config.yaml 调试列表中注释掉对应值即可输出
  • 新增 qqbot 连接、LLOneBot 连接、消息队列处理、flask 连接处理中的异常捕获,使得报错不影响运行

[2.2.0]

  • 新增图文消息格式
  • 修改所有跟数据库相关的操作,将其整合进 database
  • 修改指令格式,统一成 "/+xxx"

[2.3.0]

  • 定义文件及文件夹命名规则

[2.3.1]

  • 修改数据库获取最大 id(text) 导致添加物资编号只能是最大编号的问题
  • 修改小程序打开页面上限过多的问题,更改小程序页面跳转逻辑

[2.3.2]

  • 新增了 msg 的属性 info 来取代文件名、回复消息、点赞消息等
  • 新增图文消息的判断与处理
  • 新增不同表情的识别逻辑
  • 修改 LR5921 不启动就无法加载 config 的问题 离谱
  • 修改了图片消息的下载方式,LLOneBot 近期更新,消息类型是 image 时直接提供下载链接而不提供 file_id 进行下载
  • 修改文件发送方式,qqbot 严格遵守以图片发送和以文件发送两种格式,可以以这两种方式发送图片

[2.4.0]

  • 更新消息种类与处理方式
  • 新增官方消息中的替换逻辑,使用[]来包裹表情和表情包,与 LR5921 统一
  • 新增了 LR5921 中对于消息段和消息数组的处理函数
  • 删除了纯空格消息的处理

[2.5.0]

  • 更新消息发送逻辑,目前可以发送图文消息(默认图文),其中所有文件路径都需要绝对路径
  • 删除了所有消息格式,因为存在老年大字号模式

[2.6.0]

  • 使用black规范重构代码

[2.7.0]

  • 使用 NapCat 无头启动器启动 qq ,再也不用打开 qq 了,napcat.bat 需要加入参数 -q xxxxxx

[2.8.0]

  • 使用一体化启动,同时启动 service 里面的所有异步任务(ws 连接和 flask 连接)和程序(exe 和 bat)

[2.9.0] - 2024-11-27

  • 重构项目结构,把主要功能代码移至 lrobot 中。水了一堆日志
  • 修改 grafana 的 defaults.ini 的 disable_sanitize_html ,改成 true,用于在 grafana 的 text 组件中识别 html

[3.0.0] - 2024-11-29

  • 更新了 napcat
  • 修改了 napcat 的端口配置

[3.1.0] -2024-12-9

  • 完成了日志记录,重写了log,详见此处
  • 修改 botpy 导入方式,保留自带的 log
  • 新增在 config.yml 中定义事件和日志级别

[3.1.1] -2024-12-9

  • 新增 main.py 的绝对路径,来让项目代码更健壮,全部使用 pathlib 而不使用 os
  • 修改 config,可以加载所有 yml 文件,然后使用单例模式进行动态更新

[3.1.2] -2024-12-9

  • 新增了日志格式定义

[3.2.0] -2024-12-10

  • 完成了加密解密流程,二级密钥储存在 .key 里,保证可以正常读取文件,当不存在一级密钥时,secret 里面的文件会被加密

[3.2.1] -2024-12-12

  • 修改了异常引用与抛出的机制

[3.2.2] -2025-1-8

  • 删除 botpy 文件夹,用包模块替代

[3.3.0] -2025-1-10

  • 复习软构和软工
  • 新增和删除了一些加密、消息队列、容器、观察者、装饰器相关的处理逻辑

[3.4.0]

  • 微信公众号认证失败
  • 删除了微信开放平台的逻辑,因为无法接入非认证账号

[3.5.0]

  • 豆瓣 apikey 禁止申请,测试几个公开的豆瓣 apikey 后发现无法绑定账号,只能获取少量资讯

[3.6.0] -2025-1-17

  • 使用微信 RSS 订阅公众号

[3.7.0] -2025-1-21

  • 在cloudDNS上申请了域名

[3.7.1] -2025-1-22

  • 尝试数个策略后,最终的方案是国外的免费服务器 + 国外的域名

[3.8.0] -2025-1-23

  • 总结服务器配置流程

[3.9.0] -2025-1-25

  • 微信服务器配置完成
  • 新增 curl 模拟微信公众号消息的方法
  • 修改微信公众号自定义菜单的配置方式

[4.0.0] -2025-1-26

  • 服务器开启后存在网上扫描,需要配置处理方式

[4.1.0] -2025-1-28

  • 微博添加成功

[4.2.0] -2025-2-3

  • 配置好了 gitee,直接在 pycharm 里推送

[4.3.0] -2025-2-5

  • log 设置完成,自定义 handle 和 filter 实现各种效果
  • 新增关于 to do 代码的规范

[4.3.1] -2025-2-5

  • 新增日志字数定义
  • 修改路径相关规范

[4.4.0] -2025-2-7

  • 修改服务器配置标准流程

[4.5.0] -2025-2-11

  • 由于跟主线程 asyncio 冲突,关闭了 flask 的调试模式

[4.6.0] -2025-2-11

  • 动态更新配置完成

[4.7.0] -2025-2-12

  • botpy 日志更改完成

[4.8.0] -2025-2-13

  • 完全抛弃了 botpy sdk,采用 webhook 的方式进行连接(与微博和微信一样)

[4.8.1] -2025-2-14

  • 修改了日志格式

[4.9.0] -2025-2-15

  • 多图文消息创建多个消息进行处理
  • 修改了消息格式规范

[4.9.1] -2025-2-17

  • 修改 config 和 log 之间的引用逻辑
  • 修改了异步同步处理规范
  • 删除了 filehandler,解决了莫名其妙创建 app.log 的问题

[5.0.0] -2025-2-17

  • 重新配置了日志的控制台输出格式

[5.1.0] -2025-2-22

  • 重新排版了 Readme
  • 新增许可证
  • 新增相关技术,整理了所有的 AI 对话知识点
  • 删除隐私信息,将日志中所有的技术点迁移到相关技术部分

[5.2.0] -2025-3-1

  • 放弃使用 pytest,转向普通的测试模块来编写快速开始脚本

[5.3.1] -2025-3-4

  • 新增各平台对比表格,允许只配置服务器、只使用部分平台

[5.4.0] -2025-3-5

  • 使用 fastapi 代替 flask,重新配置相关 logger
  • 修改小程序信息处理方式,加入消息队列

[5.4.0] -2025-3-6

  • 新增 future 变量管理,修改同步日志线程中更新 future 无法通知等待协程的问题
  • 新增在日志输出判断、后端运行停止方面的 future 用法

[5.5.0] -2025-3-8

  • 新增部分测试用例

[5.5.1] -2025-3-9

  • 修改 napcat 使用方法与相关许可证,移入原先的日志逻辑

[5.6.0] -2025-3-10

  • 新增 web 错误捕获函数、异常访问机制、超频访问封禁功能

[5.7.0] -2025-3-11

  • 完善数据库分池逻辑
  • 修改异常捕获机制

[5.8.0] -2025-3-12

  • 加了一点笑话
  • 新增 ssh 测试用例

[5.9.0] -2025-3-13

  • 所有未完成部分添加 # TODO
  • 新增 ssh 自动重连机制
  • 新增消息去重机制,防止 qqbot 一条消息推送两次

[6.0.0] - 2025-3-14

  • 完成了 vue 部分开发

[6.1.0] - 2025-3-15

  • 完成动态模块导入
  • 新增 ssh 自动重连上限

[6.2.0] - 2025-3-16

  • 消息去重机制验证完成
  • 修改消息去重机制,移动到 LR232 接收器内部,将 num 作为唯一键
  • 修改了消息初始化机制,避免 content 为空时生成 'None' 字符串
  • 修改了动态更新机制,之前为伪动态更新

[6.3.0] -2025-3-17

  • 再次接入 napcat,修改方式为 http
  • 修改本地 1080 的 socks5 端口为 5923
  • 修改消息接收时分类机制,可识别空格消息、纯文件消息

[6.3.1] -2025-3-19

  • 新增 msg 规范:空值尽量储存为 None(后:不用考虑)
  • 修改消息生成方式,一条消息不生成多消息
  • 修改消息文件,储存为列表
  • 删除消息引用,改为完全通过 future 引用,消息池每天清理

[6.4.0] -2025-3-20

  • 项目移植:使用 git pull,用 U 盘拷贝 storage 文件夹
  • 修改项目的本地 git 记录,使用 storage_tem 来将三个版本合成一个版本
  • 修改小程序和 napcat 的路径至项目外
  • 删除项目包并重新安装

[6.4.1] -2025-3-22

  • 新增本地更新模块
  • 修改并简化了 vue 开发流程
  • 修改了 readme 的结构

[6.4.1] -2025-3-31

  • 测试完大模型函数调用,部署 ollama 的 qwen2.5:14b 模型以及 glm-4-flash 的 api 调用
  • 新增 ai 对话、天气查询功能
  • 修改 vue 的功能界面
  • 修改 command 属性,重新改为 yaml 数据

[6.4.2] -2025-4-1

  • 新增愚人节活动

[6.4.3] -2025-4-2

  • 新增 clean_ssh 方法防止端口占用

[6.5.0] -2025-4-2

  • 服务无法映射到 0.0.0.0 的问题始终没有解决,直接重装
  • 新增计时器,没有采用 APScheduler 因为和主任务不太兼容(存在问题无法解决)

[6.6.0] -2025-4-3

  • 服务器配置了 Atlas os 系统,运行明显变快;APScheduler 没有问题,主要是 ssh 连接在长时间没有消息的情况下会挂起导致任务阻塞,需要循环一个 5 分钟的请求
  • 修改服务器转发命令,使用本地内网 ip 代替 localhost 来保证转发不出现问题

[6.6.1] -2025-4-4

  • 修改服务器转发命令,使用 127.0.0.1 代替 ip 同样可以

[6.6.2] -2025-4-6

  • 新增 LR232 发送文件时的超时时间,可能是官方修改短了请求时间(?)

[6.7.0] -2025-4-7

  • 统一了基础消息类型及格式
  • 新增 B 站和微信的消息处理

[6.7.1] -2025-4-15

  • 新增了登录页面,为管理员页面设置 cookie

[6.7.2] -2025-4-18

  • 新增了数据库管理页面
  • 修改了 execute_query 方法,返回字典
  • 修改了 execute_update 方法,返回行 id

[6.8.0] -2025-4-18

  • 新增了用户组管理页面
  • 修改了 config,反向更新 yaml,解决 config 修改与监听器竞争问题
  • 修改数据库表头

[6.9.0] -2025-4-20

  • 完成了多格式文件知识库的生成
  • 删除了 Fastapi 的 /docs 等路径(太危险了)

[6.9.1] -2025-4-23

  • 新增清空代理的装饰器

[6.9.2] -2025-4-30

  • 新增 config 多层嵌套访问不报错

[7.0.0] -2025-6-6

  • 迁移项目至 docker
  • 新增 mysql 和 mongodb 数据库
  • 新增 connect 连接方法
  • 修改 config 路径使不同容器共享日志和配置

[7.0.1] -2025-6-12

  • 尝试合并不同平台消息接收、发送逻辑,失败

[7.0.2] -2025-6-17

  • 新增定时任务传入参数

[7.0.3] -2025-6-18

  • 新增 B 站消息处理
  • 修改消息格式与日志格式至统一

[7.1.0] -2025-6-19

  • 修改动态模块导入逻辑
  • 修改身份逻辑,将身份作为状态的一种,不强制绑定 LR5921 为主平台

[7.1.1] -2025-6-24

  • 新增时间轴和泡泡页面
  • 修改 config,增加 _copy.yaml 模板
  • 修改 napcat 网络方式
  • 修改 Observer 为 PollingObserver,因为容器中无法检测文件变更
  • 修改消息内容,图片在消息内容里显示为"[文件]"以支持部分消息处理
  • 删除 config 的初始赋值方式并把 set_log 变成类方法以实现 config 的静态引用及写回

[7.1.2] -2025-6-28

  • 修改 Mysql 的读写方式,保证读不出错
  • 修改泡泡页面支持两端操作
  • 修改泡泡页面支持同步

[7.1.3] -2025-6-29

  • 新增平台绑定功能
  • 新增 data 部分的动态更新
  • 新增入会功能
  • 新增 cookie 与管理员操作记录
  • 新增网页登录 qq 验证
  • 修改模块热重载,支持错误处理

[7.1.4] -2025-6-30

  • 修改 dockerfile 安装 libreoffice

[7.1.5] -2025-7-2

  • 新增测试身份与密码设置逻辑
  • 新增功能展示面板
  • 新增测试员登录逻辑
  • 新增测试员与管理员路由逻辑

[7.1.6] -2025-7-3

  • 新增数据库备份与迁移
  • 修改日志数据库格式
  • 修改 wiki 页面

[7.1.7] -2025-7-5

  • 新增面板界面编辑方式
  • 新增指令界面滚动条
  • 修改面板界面图片和换行格式
  • 删除消息中的空格回车替换

[7.1.8] -2025-7-6

  • 消息池清理测试完成

[7.1.9] -2025-7-6

  • 网盘挂载并整理完成

[7.2.0] -2025-7-6

  • 备忘录完全迁移至 wiki
  • 修改网盘视频文件预览方式,支持流式传输

[7.2.1] -2025-7-7

  • 完成 LR232 收发测试;发送图片日志测试;事件测试
  • 新增 LR232 返回消息 id 使用 future 和发送*0 获取,用于撤回
  • 新增 napcat 快速登录配置(再也不用扫码了)
  • 修改日志网页查询的正则判断

[7.3.0] -2025-7-9

  • 重构代码,编写技术说明
  • 修改 message/adapter 的挂载方式,变成编译(fastapi 无法简单的动态更新)
  • 删除 LR232 的私聊/群聊 开启/关闭推送消息

[7.3.1] -2025-7-12

  • 新增 LR5921 的代码
  • 修改消息内容为 Onebot 的消息段格式,防止在内容里发送"[表情:xx]"类似的内容被错误识别
  • 修改指令页消息颜色为动态分配

[7.3.2] -2025-7-15

  • 新增 BILI、WECHAT 的收发形式
  • 新增 B 站直播码获取
  • 新增消息、密码验证列表的持久化
  • 新增 ctrl+c 信号的处理
  • 新增 LR5921 原消息处的字符串转 json 处理
  • 修改 LR232 和 WECHAT 的令牌存储方式,不需要每次重启都重新请求令牌
  • 修改优化 msg 的种类
  • 修改 ssh 重启方式,退出容器 + 自动重启来代替命令

[7.4.0] -2025-8-1

  • 项目文档迁移至 github 的 pages 处
  • 新增微信公众号的表情解析
  • 新增所有格式消息测试案例

[7.4.1] -2025-8-1

  • 新增消息回复的文本化解析
  • 修改转发消息的格式

[7.4.2] -2025-8-2

  • 新增 LR232 发送 mp3 时的转换
  • 新增 WECHAT 发送语音图片视频时的压缩
  • 修改发送商城表情包的格式
  • 修改绑定时的状态同步方式

[7.4.3] -2025-8-3

  • 完成消息接收测试
  • 新增 1 分钟 1 次,检测 B 站粉丝
  • 修改文档格式与 Readme 格式
  • 修改 backup.py 路径使其能单独运行
  • 修改 msg.py 的处理格式,使用 lambda 缩减代码
  • 修改 config.py 在 storage 为空时的做法
  • 修改简化文件处理格式,保留压缩后文件,添加日志
  • 删除 LR5921 对某些消息的处理

[7.5.0] -2025-8-11

  • 完成消息发送测试
  • 新增 docusaurus 文档搜索框
  • 新增 BILI 的撤回消息获取
  • 修改 storage 从 config 中分离
  • 修改 nginx 版本由 1.24.0 更改为 1.28.0

[7.5.1] -2025-8-14

  • 用 cache 代替 msg_cache 字典处理重复消息

[7.5.2] -2025-8-22

  • 完成网站主页开发,题目设计
  • 修改 msg_pool 的数据结构,优化存储和查询

[7.6.0] -2025-8-22

  • 修改 nginx 和 fastapi 使其能够读取请求头
  • 删除了小程序相关(直接在 qq、微信中使用网页)
  • 删除了 msg_pool 的数据结构修改

[7.6.1] -2025-8-23

  • 优化了指令页面
  • 新增指令顺序与分组
  • 修改消息包含匹配中的一处错误
  • 修改展板页面管理日志

[7.6.2] -2025-8-27

  • 新增 wiki 页面编辑、排序操作
  • 新增 theme/Root.js 支持 Docusaurus 外部跳转锚点
  • 修改 wiki 页面后端

[7.6.3] - 2025-8-28

  • 新增网盘页面后端索引,优化查询
  • 新增 txt 文件预览 gbk 自动转码
  • 新增网盘 epub 阅读器
  • 新增各种类型文件的预览
  • 新增上传文件大小限制
  • 修改上方导航栏移动端宽度,防止网盘页面无法点击路径跳转
  • 修改网盘页面右键触发逻辑,解决夸克浏览器无法长按唤出右键菜单的问题
  • 修改文件下载方法,可以下载文件及文件夹
  • 修改 xlsx 预览方式为表格
  • 修改 pdf 渲染格式从 iframe 变为 pdfjs 以支持手机端
  • 修改数据库界面格式

[7.6.4] - 2025-8-30

  • 新增 LR232 清除 .cn 网址
  • 新增 BILI 获取不到 seq 时的消息处理
  • 新增文字转图片
  • 修改 WECHAT 发送文字为发送所有文字
  • 修改 BILI 粉丝获取检测 fan 状态的 B 站用户方法
  • 修改 summary 会和 file 匹配的问题
  • 修改状态同步使得可以同步多平台中较大的 info(如入会一个进行到第一步,一个进行到第二步)

[7.6.5] - 2025-9-5

  • 修改 wiki 页面的样式为原样式

[7.7.0] - 2025-9-9

  • 测试消息池清理完成
  • 新增帮助、入会、工具、订阅、游戏等功能
  • 新增早上好功能
  • 新增临时页面/share的使用与获取指令
  • 新增 cookie
  • 新增后端 cookie 判断使临时页面无法进行修改操作
  • 修改 firefly 页面,根据路径判断上方导航栏

[7.8.0] - 2025-9-11

  • 优化主页滚动条
  • 新增 joke 页面样式
  • 修改后端接口用于指令记录,统一前后端收发值
  • 删除 LR232 的 .cn 网址清除(可以用了)

[7.8.1] - 2025-9-12

  • 新增主页,6个跳转按钮,总监控数据、时间监控、用户和平台监控、词云
  • 新增网盘页跳转到目录右键菜单
  • 新增数据库页面操作的错误提示
  • 修改 mysql 语句 value 格式,添加 AS new 防止触发警告
  • 修改早上好及晚安逻辑,减少请求次数(订阅合集/ up 均收不到更新消息,只能轮询)
  • 修改了主页备用线路的超时时间,增加 2s 否则接收不到
  • 修改了愚人节界面 1 的按钮逻辑、可移动方式
  • 修改了愚人节界面 2 的手机端表现
  • 修改指令监控适配器以支持页面 # 开头
  • 修改了 wiki 页面的首页载入
  • 修改了页面拖动的排序逻辑
  • 修改了上方导航栏在中宽度下字变成两列的问题,改为减少按钮
  • 修改了功能页的删除字体在低宽度下变成两列的问题,改成垃圾桶图标
  • 修改登录页的不同账号的不同跳转
  • 修改指令监控适配器以支持 formdata 和 query 请求
  • 修改时间轴页面修改节点旧节点仍显示的问题
  • 修改页面中所有的 console 为 alert 提醒
  • 修改早安指令的时间获取,ctime 上传时间与 pubdate 发布时间不一样
  • 修改指令页中的整体指令日志为改动日志
  • 删除了主页滚动条的优化,否则地图加载不出
  • 删除了功能页的下方滚动按钮

[7.9.0] - 2025-9-15

  • 由于视频发布者的不可预测性,更改视频合集获取逻辑为正序倒序各一次
  • 新增 napcat 日志捕获容器,由于分集合不利于查询,改为建索引优化
  • 新增日志页页数跳转
  • 新增日志查询投影,优化查询效率
  • 修改日志页面移动端布局
  • 修改日志页时间输入方式、正则与关键词区分
  • 修改日志页的查询方式,由监听输入每次查询变为按钮
  • 修改用户页面的移动端布局
  • 删除用户页面的编辑按钮,直接点击编辑

[7.9.1] - 2025-9-16

  • 拆分 mongodb 表为 log_{source} 表后失败,发现拆集合不如建索引
  • 新增内阁、测试员用户身份在指令配置时可选,删除用户页面的“内阁:all”字段
  • 新增 storage/file/command,resource,user 文件夹的默认创建
  • 新增错误堆栈打印当前变量
  • 新增日志用户昵称显示与用户昵称获取逻辑
  • 修改 LR232 对于表情的处理,base64 解析后为 json 字符串包含 summary
  • 修改 LR232 对于表情的处理,系统图片表情的 facetype 由 4 改成 6 且可以下载了(解析成表情+图片)
  • 修改 user.yaml 的默认内容

[8.0.0] - 2025-9-18

  • 统一日志格式
  • 新增 BILI 消息接收日志
  • 新增 schedule_add 立即执行参数
  • 新增日志在非日志配置更改的情况下不更新
  • 新增日志各筛选按钮
  • 修改 config 中的连接方法,手动关闭连接(之前运行 2 天后出现网络适配器无反应的情况可能就是这个造成的)
  • 修改 future 的设置方法,简化成一行
  • 修改文档白天模式下的代码块颜色
  • 修改 schduler_add 内部自行创建任务,简化调用方式
  • 删除了非配置群消息的接收,减少日志及 nickname 表的压力
  • 删除了日志页面的正则框

[8.1.0] -2025-9-22

  • 新增日志索引的初始化方法与重建逻辑
  • 新增 mongodb hasTextIndex 字段优化 text 索引
  • 修改优化 log 在分词索引与正则匹配开头情况下的的逻辑
  • 修改 python3.11-slim 源解决重建 docker 网络异常的问题
  • 修改日志格式,减少符号开头的数量,增加符号分割中文词的数量,增强正则 ^ 开头索引与 text 索引的能力,减少 text 索引的建立范围
  • 修改消息体打印格式,去除 前后花括号;修改 uvicorn 日志,将请求方法放在前面
  • 删除所有 os 相关引用,改成 pathlib

[8.1.1] -2025-9-23

  • 新增 nginx 文件大小限制,便于上传网盘
  • 新增上传 wiki 图片获取静态资源链接功能
  • 修改了 ip 封禁中没有更新初始时间导致封禁失败的问题
  • 修改了 ssh_clean 和 ssh_run 的顺序,防止因网络问题导致 run 连接后被 clean
  • 修改关于图片类消息的比较,解决空字符串的影响
  • 修改了微信发送图文消息的格式,将图文、含换行文本图片化,彻底解决换行问题

[8.2.0] -2025-9-26

  • 新增 git 中 storage/file/command 中的成语、语音提取模型等数据,方便部分功能直接使用
  • 修改了 mysql 的初始化方式,由建表语句变为了导入基础表,保留了功能页面下的各功能介绍
  • 修改了 WECHAT 中对于 file 类型消息的捕获(消息接收 9.3)
  • 修改了 BILI 中对于文件 json 的解析
  • 修改指令页的初始展示,全部收缩
  • 修改消息的返回值,像文件下载、直播关闭等返回结果,增加错误处理逻辑
  • 修改 user.yaml 中不是字符串的值,否则会报错:Truncated incorrect DOUBLE value
  • 修改服务器连接指令,合并连接和清理问题防止代理时出现两条指令同时发送的情况

[8.2.1] -2025-9-30

  • 新增功能页默认密码,方便直接运行项目查看功能
  • 新增(重做)LR232 的 url 替换方法,增加白名单
  • 修改许可证
  • 修改消息段处理方法,保留消息中的 []

[8.3.0] -2025-10-3

  • 新增活动相关逻辑
  • 修改 command 容器的重启与退出检测,改为 lrobot 里检测+发送信息+重启
  • 修改航海日记的逻辑,题目放在文本中,减少指令数和状态数
  • 修改 LR232 的处理方法,将取消空格变为替换首尾空格(单指令可以成功匹配,带参数指令也可以包含匹配)

[8.4.0] -2025-10-6

  • 上传到 git,部署到服务器
  • 新增 help.txt,用于和 command.yml 合并作为指令帮助和功能页展示
  • 修改功能页的前后端逻辑,以函数名作为键储存回答,分离功能说明和回答,不用担心功能说明被删了
  • 修改 reloader 以检测 git pull 带来的变化

[8.4.1] -2025-10-7

  • 主页手机端变成横屏
  • 新增 git 脚本配置 git pull 刷新时间以进行模块更新
  • 删除 reloader 变化

[9.0.0] -2025-10-8

  • 项目完全迁移至服务器
  • 新增 mihomo 容器
  • 新增字符串转消息段时文本的合并处理
  • 新增回复消息的内侧嵌套处理
  • 新增微信合并消息图片后延迟删除
  • 修改网盘排序方式,文件夹一起,文件一起
  • 修改 up 轮询位置,放在 BILI_init 中
  • 修改 LR232 处理方法,解析文字与文件分离的动画表情
  • 修改 text 比较中 any 变成全部匹配的问题
  • 修改 watchdog 监听方法防止 linux 容器内监听不到 config 配置文件变化
  • 修改 record 兼容发送类型消息,发送者为机器人本身
  • 修改 B 站粉丝检测,当最新粉丝取关时,不会出现多个 fan 状态

[9.0.1] -2025-10-10

  • 修改状态逻辑,分离 status 和 platform
  • 修改模块加载的 linux 监听,同 yaml 监听
  • 修改文字转图片方法,使用自定义方法支持中文间换行
  • 删除状态清空时清除用户 id 的逻辑,防止绑定信息被清空

[9.0.2] -2025-10-12

  • 新增 BILI 过长文字转图片
  • 新增 user_name 统一用户名显示,代号>昵称>qq>原平台id
  • 修改 WECHAT 和 BILI 媒体保存逻辑,只有本地的图片才保存至数据库,生成的不保存
  • 修改书单逻辑为发送时生成
  • 修改登录页双光标、模拟器多次触发指令、手机换行符不一致的问题
  • 修改记录,自动终止旧记录,以及空记录的处理
  • 修改入会信息格式,支持中英文逗号、冒号以及多余的空格
  • 修改登录页登录格式错误问题,原因是手机输入法设置“回车发送消息”时额外携带了字符

[9.0.3] -2025-10-13

  • 新增官网首页,原首页移至线索板页
  • 新增线索板页的手机移动修正
  • 修改监控面板扇形图计算方式

[9.0.4] -2025-10-15

  • 优化各界面格式
  • 新增网盘路径校验
  • 新增网盘预览页错误提示
  • 新增用户页换行
  • 新增指令页移动端编辑框换行
  • 修改网盘下载方式为流式下载
  • 修改网盘根路径,不使用 none 代表根路径
  • 修改所有 os 方法,统一换成 pathlib
  • 修改 cab 后端路径报错提示,修改 status_code 为 200

[9.1.0] -2025-10-18

  • 新增指令页匹配方式: 函数匹配
  • 新增持久和非持久状态,非持久状态只能存在一个
  • 修改监听器的判断逻辑,改为手动填写

[9.2.0] -2025-10-22

  • 新增指令引导方式,保留指令以,分割参数的方式作为进阶,总指令数由 58 变为 90
  • 修改消息前缀匹配方式,固定值匹配对应类型,其他转换成文本
  • 修改消息处理方式,临时消息为私聊但有群聊属性,群组检测时多加一道判断
  • 修改定时任务的计时方式,采用分段计时更准确
  • 修改了消息记录里群消息id未转换成int的问题
  • 修改消息记录格式,不记录机器人消息;增加消息类型判断排除临时消息
  • 删除常见问题清除状态的格式;现可以连续发送常见问题

111

统一各平台消息前,消息类型还是这样的,现在好看多了 原消息类型

用 docker 前系统架构是这样的,现在高级多了 原系统架构

竟然还有更早的,记录一下 系统架构