feat:优化评分网页,可关闭状态看板
This commit is contained in:
@@ -1,5 +1,120 @@
|
||||
# Changelog
|
||||
## [0.12.2] - 2025-1-11
|
||||
|
||||
|
||||
## [1.0.0-pre.1] - 2026-4-19
|
||||
### 核心功能更新
|
||||
### MaiSaka系统
|
||||
原生支持多模态模型
|
||||
原生支持工具调用,多轮调用和mcp
|
||||
升级的replyer回复器,同样支持多模态
|
||||
统一群聊与私聊回复链路
|
||||
### 记忆系统革新
|
||||
引入 A_Memorix 长期记忆系统,替代旧记忆链路
|
||||
支持记忆检索、写回、迁移、反馈修正和管理界面
|
||||
### 全新插件系统
|
||||
提供独立的插件开发SDK
|
||||
重构插件系统为 plugin_runtime,提供 RPC、Hook、能力注册、运行时隔离、配置校验、批量重载与旧能力迁移。
|
||||
### 全面重构和修复
|
||||
新增 platform_io 消息平台抽象与消息中间层,统一消息路由、出站追踪和旧驱动兼容。
|
||||
新增统一 services 服务层,集中管理 LLM、生成器、发送、数据库、记忆、Embedding 与 HTML 渲染等能力。
|
||||
引入 MCP 与统一工具系统,插件工具和 MCP 工具统一调度,并优化工具展示、索引、重试和失败留档。
|
||||
WebUI 后端完成模块化重构,新增统一 WebSocket、插件管理、记忆管理、知识库、配置和监控相关 API。
|
||||
配置系统升级,支持旧配置自动迁移、字段类型安全校验、多模态模型配置和更细的工具/回复参数。
|
||||
优化表情包、图片、表达方式和黑话学习系统,提升识别、缓存、发送、学习与调用稳定性。
|
||||
清理旧插件系统、旧记忆系统、旧回复链路、旧工具系统、旧 WebUI 构建产物和多个废弃内置插件。
|
||||
!!预发布版本WebUI暂时不可用
|
||||
|
||||
完整更新清单
|
||||
核心架构
|
||||
大规模重构核心运行结构,新增 src/services 服务层,包括 LLM、生成器、发送、消息、数据库、记忆、HTML 渲染、Embedding 等服务。
|
||||
新增统一的 platform_io 消息平台抽象,提供驱动、路由、去重、出站追踪、插件驱动和旧版驱动兼容。
|
||||
引入新的消息中间层和网关设计,为插件、适配器、主程序之间的消息流转建立统一基础。
|
||||
重构数据模型,新增聊天目标、规划动作、回复生成结果、LLM 服务请求等模型。
|
||||
新增数据库迁移管理器,支持迁移进度记录、表级/记录级追踪和旧数据兼容。
|
||||
统一机器人识别逻辑,支持多平台场景,包括 WebUI。
|
||||
|
||||
MaiSaka / 回复系统
|
||||
新增并持续完善 maisaka 主回复链路,逐步接管群聊与私聊回复逻辑。
|
||||
新增 planner / replyer / timing / subagent 等运行结构,支持 wait 打断、防抖、重试和状态监控。
|
||||
新增 Maisaka 实时聊天流监控、阶段状态面板、控制台工具调用展示、prompt log HTML 预览。
|
||||
回复器支持多模态与非多模态统一行为,新增模型 visual 参数,避免非多模态模型误传图片。
|
||||
支持复杂消息、转发消息、图片原始数据解析、URL 图片浏览、表情包类消息标记。
|
||||
优化上下文压缩,显示实时上下文占用,压缩早期 assistant 信息。
|
||||
新增聊天特定额外 prompt、多语言 prompt、prompt 独立文件管理、用户自定义 prompt 与覆盖能力。
|
||||
新增工具索引展开方式,压缩工具描述,提高工具调用成功率,修复无参工具、孤儿工具、Gemini tool 等问题。
|
||||
新增回复后打分追踪器,用于记录和分析回复效果。
|
||||
优化回复频率控制、引用回复概率、打字时间、重复思考、wait 行为和 replyer 空回复处理。
|
||||
|
||||
记忆系统 / A_Memorix
|
||||
新增并主线化 A_Memorix 长期记忆系统,包含运行时、检索、存储、管理界面和迁移脚本。
|
||||
新增记忆测试、检索工具、记忆服务、记忆自动化钩子与写回链路。
|
||||
支持将旧 LPMM/旧记忆数据迁移到新长期记忆系统。
|
||||
优化记忆检索速度、token 消耗、时间信息、上下文检索方式和人物事实提取。
|
||||
新增记忆反馈修正、知识库反馈详情、图存储持久化、总结导入、embedding 维度控制等回归测试。
|
||||
移除旧 memory_system 中的大量检索工具与聊天总结逻辑,改由新服务层和 A_Memorix 承担。
|
||||
|
||||
插件系统 / Runtime
|
||||
大规模替换旧 plugin_system,新增 plugin_runtime。
|
||||
新增插件能力注册、组件注册、事件分发、Hook 分发、API 注册、Supervisor、Runner、RPC Server/Client。
|
||||
支持插件 manifest 校验、包式插件导入、临时 sys.path 管理、导入保护和模块访问控制。
|
||||
新增插件配置版本管理、配置归一化、运行时配置校验、批量插件重载。
|
||||
新增插件依赖流水线、HTML 渲染服务、插件 SDK 集成增强。
|
||||
新增旧数据库 peewee 兼容层,初步重构插件 database API。
|
||||
新增插件侧消息网关能力、出站追踪、会话 ID 计算和适配器回执消息 ID 更新。
|
||||
修复 Windows 平台插件运行时信号处理、DLL 导入隔离、包式导入、重载机制等问题。
|
||||
限制 maibot-plugin-sdk 版本范围,并升级到 2.3.0 相关适配。
|
||||
|
||||
MCP / 工具系统
|
||||
新增独立 mcp_module,包含连接、管理、Provider、Host LLM Bridge、Hook 与数据模型。
|
||||
引入统一插件与 MCP 工具系统,移除旧工具系统和 tool_use 模型。
|
||||
工具支持索引检索、延迟展开、统一控制台展示、失败请求留档与重试分析。
|
||||
新增 host LLM bridge,使 MCP 工具和宿主模型调用链路更统一。
|
||||
|
||||
WebUI / API
|
||||
WebUI 后端整体重构,拆分为 app、依赖、中间件、routers、schemas、services、utils 等结构。
|
||||
新增统一 WebSocket 连接管理与路由。
|
||||
新增聊天、配置、表情包、表达方式、黑话、插件、记忆、知识库、统计、系统等路由重构。
|
||||
新增规划器和回复器监控 API、日志搜索、日志上线数量配置、prompt log 预览。
|
||||
新增本地已安装插件 README 读取 API、插件安装/配置/运行时管理相关 API。
|
||||
新增静态资源包提示和错误处理,后续修复为仅使用包内 WebUI 静态资源。
|
||||
修复 knowledgebase 反馈详情类型问题、WebUI memory 路由、配置 schema 测试等问题。
|
||||
注意:历史中有大量 dashboard 前端提交和 WebUI dist 迁移/删除,但本次没有修改 dashboard。
|
||||
|
||||
配置 / 模型 / 依赖
|
||||
配置系统引入 ConfigBase 测试与更严格校验,支持自动检测并升级旧版配置。
|
||||
支持 Union / Optional 字段转换,并禁止不安全的多类型 Union。
|
||||
新增配置版本到 8.4.0,加入工具筛选、回复器、多模态、Maim Message、日志颜色等配置。
|
||||
移除 Planner 问题配置项、无用配置、旧路径显示配置、模板配置文件等冗余项。
|
||||
模型配置移除无用模型、utils_small、弃用的 LLM_judge 类型和 tool_use 模型。
|
||||
新增模型随机选择策略、模型 visual 参数、OpenAI 兼容性增强。
|
||||
修复 Qwen 3.5 空回复、Gemini 请求思考签名、部分模型不支持 gif、OpenAI client 工具请求等问题。
|
||||
移除 uv.lock,更新 pyproject.toml / requirements.txt 依赖,最终 HEAD 又移除部分依赖。
|
||||
|
||||
表情包 / 图片
|
||||
新增表情包系统重构,包含注册、识别、缓存、发送、选择、数据库迁移。
|
||||
表情包选择改为一次性选择全部,支持配置,并接入 subagent。
|
||||
移除旧内置 emoji 插件,改为 Maisaka 内置动作或新系统能力。
|
||||
修复表情包发送无记录、识别失败、缓存问题、图片存储问题、图片过大自动重试等。
|
||||
新增异步后台图片/表情处理、图片展示模式优化、复杂消息查看。
|
||||
|
||||
表达方式 / 黑话 / 学习
|
||||
新增自动表达优化、表达方式检查脚本、表达方式最后修改来源字段。
|
||||
修复私聊表达风格随机、表达方式学习与使用、表达方式全局共享。
|
||||
新增 planner 黑话缓存,恢复表达学习、黑话学习、黑话使用和表达使用。
|
||||
修复黑话提取学习缓存和 Jargon 提取问题。
|
||||
新增表达方式快速版本,优化表达方式提取与 LLM 判断标记。
|
||||
|
||||
文档 / 国际化 / 工程规范
|
||||
更新 README、徽章、快速导航、版本信息和主仓库地址。
|
||||
新增/更新 changelog、设计文档、todo、记忆契约文档、Caddy 反向代理与 TLS/SSL 文档。
|
||||
新增 AGENTS.md,并更新代码规范、导入顺序、注释规范、语言规范。
|
||||
新增 Crowdin 配置和多语言资源,包含中英日韩等 locale。
|
||||
新增 CodeRabbit 配置、PR 模板、测试计划和若干调试/迁移脚本。
|
||||
新增 agentlite 子项目/模块,包含 agent、tool、provider、skills、MCP、文件/网页/shell 工具和大量测试、示例、文档。
|
||||
测试与质量
|
||||
|
||||
|
||||
## [0.12.2] - 2026-1-11
|
||||
### 功能更改
|
||||
- 优化私聊wait逻辑
|
||||
- 超时时强制引用回复
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
# 插件API与规范修改
|
||||
|
||||
1. 现在`plugin_system`的`__init__.py`文件中包含了所有插件API的导入,用户可以直接使用`from src.plugin_system import *`来导入所有API。
|
||||
|
||||
2. register_plugin函数现在转移到了`plugin_system.apis.plugin_register_api`模块中,用户可以通过`from src.plugin_system.apis.plugin_register_api import register_plugin`来导入。
|
||||
- 顺便一提,按照1中说法,你可以这么用:
|
||||
```python
|
||||
from src.plugin_system import register_plugin
|
||||
```
|
||||
|
||||
3. 现在强制要求的property如下,即你必须覆盖的属性有:
|
||||
- `plugin_name`: 插件名称,必须是唯一的。(与文件夹相同)
|
||||
- `enable_plugin`: 是否启用插件,默认为`True`。
|
||||
- `dependencies`: 插件依赖的其他插件列表,默认为空。**现在并不检查(也许)**
|
||||
- `python_dependencies`: 插件依赖的Python包列表,默认为空。**现在并不检查**
|
||||
- `config_file_name`: 插件配置文件名,默认为`config.toml`。
|
||||
- `config_schema`: 插件配置文件的schema,用于自动生成配置文件。
|
||||
4. 部分API的参数类型和返回值进行了调整
|
||||
- `chat_api.py`中获取流的参数中可以使用一个特殊的枚举类型来获得所有平台的 ChatStream 了。
|
||||
- `config_api.py`中的`get_global_config`和`get_plugin_config`方法现在支持嵌套访问的配置键名。
|
||||
- `database_api.py`中的`db_query`方法调整了参数顺序以增强参数限制的同时,保证了typing正确;`db_get`方法增加了`single_result`参数,与`db_query`保持一致。
|
||||
5. 增加了`logging_api`,可以用`get_logger`来获取日志记录器。
|
||||
6. 增加了插件和组件管理的API。
|
||||
7. `BaseCommand`的`execute`方法现在返回一个三元组,包含是否执行成功、可选的回复消息和是否拦截消息。
|
||||
- 这意味着你终于可以动态控制是否继续后续消息的处理了。
|
||||
8. 移除了dependency_manager,但是依然保留了`python_dependencies`属性,等待后续重构。
|
||||
- 一并移除了文档有关manager的内容。
|
||||
9. 增加了工具的有关api
|
||||
|
||||
# 插件系统修改
|
||||
1. 现在所有的匹配模式不再是关键字了,而是枚举类。**(可能有遗漏)**
|
||||
2. 修复了一下显示插件信息不显示的问题。同时精简了一下显示内容
|
||||
3. 修复了插件系统混用了`plugin_name`和`display_name`的问题。现在所有的插件信息都使用`display_name`来显示,而内部标识仍然使用`plugin_name`。
|
||||
4. 现在增加了参数类型检查,完善了对应注释
|
||||
5. 现在插件抽象出了总基类 `PluginBase`
|
||||
- <del>基于`Action`和`Command`的插件基类现在为`BasePlugin`。</del>
|
||||
- <del>基于`Event`的插件基类现在为`BaseEventPlugin`。</del>
|
||||
- 基于`Action`,`Command`和`Event`的插件基类现在为`BasePlugin`,所有插件都应该继承此基类。
|
||||
- `BasePlugin`继承自`PluginBase`。
|
||||
- 所有的插件类都由`register_plugin`装饰器注册。
|
||||
6. 现在我们终于可以让插件有自定义的名字了!
|
||||
- 真正实现了插件的`plugin_name`**不受文件夹名称限制**的功能。(吐槽:可乐你的某个小小细节导致我搞了好久……)
|
||||
- 通过在插件类中定义`plugin_name`属性来指定插件内部标识符。
|
||||
- 由于此更改一个文件中现在可以有多个插件类,但每个插件类必须有**唯一的**`plugin_name`。
|
||||
- 在某些插件加载失败时,现在会显示包名而不是插件内部标识符。
|
||||
- 例如:`MaiMBot.plugins.example_plugin`而不是`example_plugin`。
|
||||
- 仅在插件 import 失败时会如此,正常注册过程中失败的插件不会显示包名,而是显示插件内部标识符。(这是特性,但是基本上不可能出现这个情况)
|
||||
7. 现在不支持单文件插件了,加载方式已经完全删除。
|
||||
8. 把`BaseEventPlugin`合并到了`BasePlugin`中,所有插件都应该继承自`BasePlugin`。
|
||||
9. `BaseEventHandler`现在有了`get_config`方法了。
|
||||
10. 修正了`main.py`中的错误输出。
|
||||
11. 修正了`command`所编译的`Pattern`注册时的错误输出。
|
||||
12. `events_manager`有了task相关逻辑了。
|
||||
13. 现在有了插件卸载和重载功能了,也就是热插拔。
|
||||
14. 实现了组件的全局启用和禁用功能。
|
||||
- 通过`enable_component`和`disable_component`方法来启用或禁用组件。
|
||||
- 不过这个操作不会保存到配置文件~
|
||||
15. 实现了组件的局部禁用,也就是针对某一个聊天禁用的功能。
|
||||
- 通过`disable_specific_chat_action`,`enable_specific_chat_action`,`disable_specific_chat_command`,`enable_specific_chat_command`,`disable_specific_chat_event_handler`,`enable_specific_chat_event_handler`来操作
|
||||
- 同样不保存到配置文件~
|
||||
16. 把`BaseTool`一并合并进入了插件系统
|
||||
|
||||
# 官方插件修改
|
||||
1. `HelloWorld`插件现在有一个样例的`EventHandler`。
|
||||
2. 内置插件增加了一个通过`Command`来管理插件的功能。具体是使用`/pm`命令唤起。(需要自行启用)
|
||||
3. `HelloWorld`插件现在有一个样例的`CompareNumbersTool`。
|
||||
|
||||
### 执笔BGM
|
||||
塞壬唱片!
|
||||
Reference in New Issue
Block a user