Skip to content

Releases: Mai-with-u/MaiBot

1.0.0-rc.1

25 May 17:12
27a8eb7

Choose a tag to compare

1.0.0-rc.1

用户感知功能侧

WebUI / 资源与插件市场

  • 插件市场推荐排序新增“惊喜随意”展示区,会展示较新的随机插件
  • 优化插件市场工具栏与加载提示布局,搜索、分类、排序和兼容性筛选。
  • 表情包资源卡片新增描述展示,并把图片格式和使用次数叠加到缩略图上。
  • 修复长期记忆为空时“前往长期记忆控制台”按钮跳转错误的问题。

WebUI / 表达学习与黑话

  • 表达方式 AI 审核记录支持按聊天流筛选,并优化审核状态展示,区分“AI 预检通过”“人工通过”和普通通过状态。
  • 优化表达方式审核记录表格与移动端卡片布局,修复表格无法滚动、快捷审核卡片内容溢出等问题。
  • 修复黑话管理检索结果异常:搜索范围收敛到黑话内容本身,聊天流筛选改为精确匹配真实 session_id,并优化分页统计与聊天流名称解析。

WebUI / 推理过程与统计

  • 推理过程列表、详情页和 Prompt 预览新增请求模型与推理耗时展示,并支持按模型名和耗时搜索。
  • Prompt HTML 预览新增“上一份 / 下一份”导航,连续排查推理过程时不需要反复回到列表。

Maisaka / 聊天与多模态

  • 回复频率支持设置为 0;该状态下会静默接收消息并维护历史,不再进入 Timing Gate / Planner 生成回复。
  • 新增独立 timing_gate 模型任务配置;未配置时继续回退到 planner 模型。
  • 中期记忆摘要新增独立 mid_memory 模型任务配置,并支持在视觉模型下带图生成摘要。
  • 多模态请求新增最大图片数量限制,默认只保留最新 128 张图片,超出部分会在 Prompt 中替换为 [图片],降低长对话图片上下文压力。

图片缓存

  • 新增图片缓存自动清理任务,支持按配置周期清理长期未使用的图片文件、孤立缓存文件和已无文件的旧识别记录。
  • 图片文件被清理后会先保留识别结果;相同图片再次出现时可重新保存文件并恢复数据库记录状态。

开发侧 / 修复 / SDK 与 API 改动

Maisaka / Hook 与模型调用

  • 新增 maisaka.replyer.before_model_request Hook,插件可在 replyer 构建完模型请求消息后改写实际发送的 messages,并获取任务名、请求类型、候选模型、重试次数和 reply 工具参数等上下文。
  • LLM 消息工厂支持异步返回,并可接收 model_info 后再构建消息,便于按当前模型能力决定是否携带视觉内容。
  • Prompt 预览保存模型名与耗时元数据,WebUI 推理过程接口会从 txt / html 预览中解析并返回这些字段。

插件 SDK / Runtime

  • 插件 Action、Command、Tool、API 和插件平台驱动支持通过组件元数据声明 timeout_ms,未声明时统一使用默认 RPC 超时。

A_memorix / 知识导入

  • 删除知识来源后会同步清理 Web 导入清单,避免已删除来源仍被 manifest 命中而跳过重新导入。
  • 导入清单命中时会校验对应来源是否仍有 live 段落;没有实际段落时会清理失效清单并继续导入。
  • 导入流程记录实际写入的来源列表,便于后续按来源精确失效。

开发容器 / 工程

  • 新增 .devcontainer/Dockerfile,基于 Python 3.13 的 Microsoft devcontainers 镜像,预装 uv 并修复 Yarn APT 仓库 GPG 密钥过期问题。
  • 重构 .devcontainer/devcontainer.json:改为从 Dockerfile 构建,引入 docker-outside-of-docker 支持,新增 WebUI 8001 端口转发,预配置开发环境变量(语言、时区、协议确认等),postCreateCommand 改用 uv sync 安装依赖,postStartCommand 自动配置 git safe.directory 和 docker-config/data 目录权限。
  • VS Code 开发容器预装 Copilot、DeepSeek V4、OAI Compatible 等智能体相关插件,并配置 ruff 作为 Python 默认格式化和自动 import 整理工具。
  • 重整 .gitignore:按模块分类组织条目,新增 docker-config/ 忽略规则,统一 .venv 为目录匹配语义,消除重复条目。
  • 新增 .devcontainer/setup-dood-override.sh 脚本:自动检测宿主机项目路径并生成 docker-compose.devcontainer.yml,配合 remoteEnv.COMPOSE_FILE 仅于 devcontainer 内加载,修复 Docker-outside-of-Docker 场景下 bind mount 路径解析错误导致重启后数据丢失的问题。方案不修改项目 docker-compose.yml,容器外 docker compose 不受任何影响。

1.0.0-pre.24

21 May 13:57
8b8118e

Choose a tag to compare

1.0.0-pre.24 Pre-release
Pre-release

1.0.0-pre.24

用户感知功能侧

WebUI / 人设与 Prompt

  • 新增人设生成器(测试功能)页面,可选择已配置模型,把文段、角色卡或人设说明生成可注入的麦麦人格、表达风格和聊天提示词配置块。
  • 人设生成器支持复制、下载、单块注入和全部注入,并在写入前校验目标字段,减少手动改 bot_config.toml 的成本。

WebUI / 系统与缓存

  • 本地缓存管理增强,支持查看数据库、图片缓存、表情包缓存和日志占用,并展示数据库表大小统计。
  • 图片缓存与表情包缓存支持分页浏览、预览、按日期筛选、单个删除、按日期区间批量删除和保留最近若干天。
  • 日志缓存支持按目录查看和清理,便于只删除指定推理日志或运行日志。

WebUI / 资源管理

  • 表情包管理优化为“认识 / 不认识 / 据为己用 / 丢弃”状态视角,支持按状态和图片格式筛选。
  • 表情包上传、注册、删除与批量删除流程增强:重复上传可恢复已有记录并注册,删除会同步清理文件、缩略图缓存和运行时内存。
  • 表情包替换逻辑由删除旧文件改为取消注册旧表情,保留识别结果和文件;维护任务也会避免误删未注册的新文件。
  • 黑话管理支持手动创建、多聊天流归属和全局黑话,并展示真实聊天流名称、创建来源、创建时间和更新时间。
  • 旧版表达方式导入兼容缺少 account_id 的历史聊天流,历史数据更容易自动匹配到真实聊天流。

WebUI / 推理过程

  • 推理过程搜索增强,支持搜索 replyer 完整输出、planner / timing gate 动作摘要、真实会话名和文件名。
  • 推理过程列表新增 replyer 回复预览与 planner / timing gate 动作预览,下拉会话列表会解析当前类型下的全部真实会话名称。

Maisaka / 聊天上下文

  • 新增 Maisaka 中期记忆,中期记忆可以用压缩的方式扩展上下文长度
  • 中期聊天摘要默认开启,并支持配置保留数量;摘要可被复杂消息工具展开,帮助长对话在压缩后继续恢复关键上下文。
  • 优化上下文裁切与工具历史折叠,折叠后的工具结果媒体消息会继续保留,避免图片类工具结果在后续上下文中丢失。

图片与多模态

  • 入站图片新增过大图片处理,默认按视觉配置压缩超过限制的图片,也可配置为丢弃,降低超大图片带来的内存和请求压力。
  • 待识别图片在消息内容中保持为空,修复图片识别有问题的bug。
  • 优化 send_image 工具参数和说明,模型通过上下文消息或工具媒体索引发送图片时更稳定。

开发侧 / 修复 / SDK 与 API 改动

Maisaka / Hook 与模型调用

  • 新增 maisaka.replyer.before_request Hook,插件可在 replyer 发起模型请求前修改任务名、指定模型、追加额外提示词或改写 reply_tool_args
  • maisaka.replyer.after_response Hook 补充实际任务名、指定模型名和 reply_tool_args,便于插件根据本次模型调用上下文做后处理。
  • LLM 编排器支持通过 LLMGenerationOptions.model_name 指定单次请求模型,指定模型失败时不再继续尝试其它模型。

WebUI API

  • 新增人设生成器生成与注入接口,包含模型选择校验、JSON 输出解析、配置块规范化、TOML 预览和写入前配置校验。
  • 本地缓存 API 增加图片列表、图片预览、单文件删除、批量删除、日志目录列表、日志目录清理和数据库表大小统计能力。
  • 推理过程 API 增加动作摘要、完整 replyer 输出搜索、全部会话名称解析,并补充对应路由测试。

表情包与图片处理

  • 表情包注册前内容审核逻辑复用到 WebUI 注册入口,封禁或取消注册会同步更新运行时内存。
  • 表情包维护流程补充测试,区分“曾被追踪但记录消失的孤儿文件”和“尚未注册的新文件”。
  • 图片接收链路新增压缩工具与测试覆盖,支持转发消息内图片的递归处理。

1.0.0-pre.23

19 May 15:31
072772c

Choose a tag to compare

1.0.0-pre.23 Pre-release
Pre-release

1.0.0-pre.23

用户感知功能侧

WebUI / 聊天

  • WebUI 聊天支持发送图片消息,输入区可选择图片并通过 WebSocket 正确传递。
  • WebUI 聊天图片相关接口增强,一键包和 WebSocket 场景下的图片文件处理更可靠。

WebUI / 配置与系统

  • 修复 WebUI 独立线程重启后旧进程未清理的问题。
  • 修复模型配置新手引导仍指向旧“模型厂商配置”独立页面的问题,旧入口会跳转到合并后的模型配置页。

Maisaka / 多模态

  • 修复非多模态模式下工具返回图片和 bot 发送图片无法被正确识别的问题。
  • 修复部分Maisaka循环不处理新消息的问题
  • 修复关键词反应失效的问题。
  • 文本 Planner 遇到待识别图片时会记录等待日志,便于排查图片识别等待状态。
  • 修复部分图片解析错误,图片消息处理更稳定。

开发侧 / 修复 / SDK 与 API 改动

插件 SDK / Runtime

  • 对齐插件 SDK 与本体 API,新增核心能力调用入口并同步示例插件。
  • 修复插件管理误读取 data 目录的问题,插件目录扫描更精确。

消息与数据库

  • 新增聊天会话显示身份持久化,数据库迁移补齐 display_name 等会话展示字段。
  • 消息发送与聊天管理链路接入真实聊天流显示名,减少业务侧重复计算会话归属 ID 的需求。

Maisaka / 回复链路

  • 图片识别与视觉历史刷新流程补充测试覆盖,工具媒体结果在非视觉模式下也能正确进入上下文。

1.0.0-pre.22

18 May 17:13
ea82f61

Choose a tag to compare

1.0.0-pre.22 Pre-release
Pre-release

Maisaka
修复关键词回复配置失效的问题
修复表达选择、回复效果判断等子请求误带视觉上下文的问题,减少不必要的图片上下文传入。
修复工具搜索结果解析失败的问题,带说明文本的工具名也能被正确识别。
修复消息撤回相关异常透传与消息 ID 更新流程,消息状态更新更稳定。

WebUI / 插件配置
优化首次配置体验,默认 API Provider 调整为 DeepSeek,并在模型配置中增加“启用思考”开关。
修复webui重启导致的进程残留
插件管理
修复插件卸载后残留 config.toml 导致再次安装失败的问题,安装前会自动清理仅包含配置文件的残留目录。
优化插件卸载流程,删除文件前会先禁用插件并触发运行时重载,减少运行中插件文件被占用或残留的情况。

A_memorix
人物画像证据分类新增可配置的最大输出 token 上限,避免固定 token 限制不适合不同模型或部署场景。
调整聊天摘要导入后的 Episode 重建逻辑,改为增量入队,减少导入后全量重建带来的额外开销。

LLM / 模型调用
新增任务级 hard_timeout 支持,LLM 单次请求超时后会按既有模型失败流程切换模型或上抛超时异常。
修复 hard_timeout 命中后底层子任务未被完整取消的问题,避免后台请求继续占用连接和 token。
默认模型任务配置补齐 hard_timeout,并为 learner、emoji、vlm、voice、embedding 等任务增加默认超时配置。
DeepSeek 默认模型模板改为新版 thinking 参数结构,并同步 reasoning_effort。
数据库 / 消息落库
串行化异步消息落库写入,降低 SQLite 写锁竞争。
数据库写锁改为跨 loop / 跨线程更稳定的 threading.Lock,并使用 lazy init / lru_cache 管理单例。
update_message_id 改为异步化,减少消息回填过程中的阻塞风险。

插件 SDK / Runtime
插件组件调用参数新增当前消息上下文,插件 Action / Command / Tool 可获得更完整的触发消息信息。
插件卸载前新增运行时释放流程,并补充 WebUI 插件管理路由测试覆盖。
插件配置 schema 类型新增 i18n / 多语言字段支持。

1.0.0-pre.21

16 May 09:27
5f530fd

Choose a tag to compare

1.0.0-pre.21 Pre-release
Pre-release

用户感知功能侧

WebUI / 插件市场

  • 插件市场新增排序能力,支持推荐排序、下载最多、点赞最多、评分最高。
  • 插件市场统计数据加载优化,优先使用缓存展示,再异步刷新最新统计。
  • 插件卡片统计增强,点赞、点踩、评分、下载量会更及时更新。
  • 插件评分体验优化,再次评分会覆盖原评分,并在界面中显示“修改评分”状态。
  • 插件点赞和点踩支持状态回显,已点赞、已点踩、取消点赞、取消点踩都有明确反馈。
  • 插件市场加载提示位置调整,页面布局更紧凑。

WebUI / Prompt 管理

  • Prompt 管理页布局优化,文件列表、搜索框、操作按钮位置重新整理。
  • Prompt 管理页减少顶部说明文字和冗余信息,编辑区更聚焦。
  • “恢复默认”和“查看默认”移动到当前 Prompt 编辑区域,更贴近操作对象。
  • 刷新按钮改为图标按钮,整体工具栏更简洁。

WebUI / 推理过程

  • 推理过程页面改为按需加载,先加载推理过程类型概览,进入具体类型后再加载文件列表。
  • 推理过程文件列表不再默认自动选中第一个文件,避免误读或误操作。
  • 推理过程浏览在大量日志场景下更轻量,减少一次性扫描压力。

WebUI / 主题与导航

  • 默认主题强调色调整为绿色系,替换原有偏黄和偏蓝的默认强调色。
  • 旧版默认强调色会自动迁移到新的默认强调色,避免用户残留旧主题表现不一致。
  • 顶部导航按钮更图标化,搜索、文档、语言切换、登出按钮更紧凑。
  • 默认主题色生成逻辑优化,保证默认主色和强调色的前景色可读性。

表达学习

  • 精细表达选择默认配置调整,默认关闭,但从高级配置调整为普通可见配置,方便用户按需开启。

开发侧 / 修复 / SDK 与 API 改动

WebUI API / 插件统计

  • 插件统计前端 API 增加用户状态接口,可获取当前用户是否点赞、点踩、评分与评论。
  • 插件统计代理新增 /stats/user-state 转发接口。
  • 下载统计请求新增 user_idfingerprint,用于更准确地识别下载行为。
  • 插件统计摘要增加内存缓存与 localStorage 缓存,TTL 为 5 分钟。
  • 插件统计 API 类型细化,区分投票、评分、下载响应结构。

WebUI API / 错误处理

  • 新增统一 API 错误格式化工具 formatApiError
  • 表达方式相关 API 全面接入统一错误格式化,避免 FastAPI 校验错误对象直接渲染到 React。
  • 新增 api-error 单元测试,覆盖字符串错误、FastAPI 校验数组、对象详情、空错误等情况。
  • 修复表达方式审核错误格式显示异常。
  • 修复空 API error detail 时错误提示不可读的问题。

WebUI / MCP 设置

  • 修复部分网页环境中 crypto.randomUUID() 不可用导致 MCP 页面报错的问题。
  • 抽出通用 generateId 工具,并在 MCP 配置编辑、嵌套键值编辑器中复用。
  • 修复修改 MCP 服务名称时输入框失焦相关问题。

Maisaka / CLI

  • 修复误用 CLI 配置导致的能力问题。
  • CLI 消息用户昵称固定为“用户”,移除对 global_config.maisaka.cli_user_name 的依赖。
  • Maisaka 运行时构造用户信息时,优先使用当前上下文消息里的真实用户昵称或 ID。

1.0.0-pre.20

15 May 15:12
d1e9a59

Choose a tag to compare

1.0.0-pre.20 Pre-release
Pre-release

Maisaka 聊天与回复
新增主动唤醒聊天和新建聊天能力,插件可触发麦麦主动参与指定聊天流或创建新的聊天。
新增内置图片发送动作,可把上下文消息或工具返回结果中的图片重新发送到聊天中。
上下文优化增强,可裁切部分 assistant 历史并折叠工具记录,降低 token 消耗。
新增合并版 timing prompt,可将节奏判断合入 Planner,减少独立阶段开销。
多模态消息展示优化,图片和工具返回媒体会更稳定地保留在上下文中。
新增聊天速度配置,可调整模拟打字等待时间。

表达学习
表达方式选择升级为精细选择模式,会根据当前语境从候选表达中挑选更合适的表达。
表达学习新增 AI 审核日志与人工恢复能力,WebUI 可查看拒绝原因并救回被误拒的表达方式。

插件系统
插件新增文本嵌入能力,可调用宿主 embedding 模型生成单条或批量向量。
插件可声明核心工具能力,宿主工具检索和调用更灵活。
插件统计功能恢复,可重新查看插件运行与调用统计。

WebUI
推理过程页面优化,阶段、工具调用和 prompt 记录展示更清晰。
插件市场和插件详情页优化,安装状态、市场信息和运行状态展示更清晰。
Dashboard 更新流程优化,更新时会保留用户插件文件。
不再自动更新 Dashboard,避免启动时意外改动前端资源。
MCP 设置页修复服务名称输入框失焦问题。
默认配色调整,整体视觉更统一。

统计与性能
统计系统修复大数据量下的内存溢出问题,并改为聚合服务降低统计时的内存占用。
依赖版本更新并固定 maim-message 版本,降低环境差异导致的问题。

记忆与画像
A_memorix 人物画像迭代机制优化,画像更新更稳定、内容组织更清晰。

消息与工具
消息图片支持持久化保存,历史消息中的图片更不容易丢失。
工具群权限判断修复,工具在群聊中的可用性控制更准确。
工具媒体结果提示规范化,模型和用户看到的工具结果说明更一致。

MCP
MCP 连接兼容性增强,相关导入和连接流程更稳定。

1.0.0-pre.19

12 May 15:54
39266b1

Choose a tag to compare

1.0.0-pre.19 Pre-release
Pre-release

重构表达方式学习和审核逻辑
webui修复部分页面加载速度问题,对记忆配置进行简化
amem优化提取稳定性,修复部分问题
修复表情包封禁相关问题
修复部分mcp问题

下个版本将会尝试优化token消耗,可能是最后一个预发布版本

1.0.0-pre.18

10 May 16:20

Choose a tag to compare

1.0.0-pre.18 Pre-release
Pre-release

tool支持回传图片结果,优化llm识图流程,可选择等待时间
修改tool的描述字段,统一用description
同步prompt,修复maisak麦麦自己发言显示问题
只有id的情况下正确解析at信息
重构表达方式和黑话生成逻辑,修复session_id不一致问题,更新依赖版本
支持导出导入表达
使表达和jargon配置文件更清晰
在webui新增旧版表达导入,迁移时不再迁移旧版表达
修复记忆模型选择逻辑
webui重启也重启插件,微调prompt
规整chat_sessions格式,增加导入信息和清理文件
新增消息插入能力
debug可以记录planbner
no_reply更改为no_action
兼容旧数据的插件数据

1.0.0-pre.17

09 May 15:18
161fc42

Choose a tag to compare

1.0.0-pre.17 Pre-release
Pre-release

优化内存膨胀问题
修复database_service._to_dict 使用 model_dump() 导致 msgpack 序列化失败
修复数据库api返回不一致
尝试让人设和上下文长度热重载

1.0.0-pre.16

08 May 13:15
b41f5d4

Choose a tag to compare

1.0.0-pre.16 Pre-release
Pre-release

1.0.0-pre.16
修复人物画像混入聊天摘要与机器人输出事实的问题
实际应用自定义prompt,修复docker统计目录问题
对replyer tool reuslt格式修改,改动插件备份文件位置
优化人物画像来源限制,并改进模型选择器
正确识别已安装插件,并且修复无法更新和卸载自行安装插件的bug
修改插件卡片样式
不注册封禁表情包
修复docker依赖安装问题

Full Changelog: 1.0.0-pre.15...1.0.0-pre.16