Repository navigation
Releases
Releases · Aimang2002/KleinBot
KleinBot v2.4.1
KleinBot v2.4.1
v2.4.1 的主题是「感官」:机器人第一次拥有了被动感知群聊的能力——观察通道让她能听、能记住、能在合适的时机自然地插话,而不是只在被 @ 时才存在。
升级须知
- 观察通道(原 perception 配置节)整体改为运行时状态:总开关与白名单群都在 Web 面板「群聊设置」页勾选,写入数据库立即生效,无需改配置文件、无需重启;旧配置文件中的 perception 节会被静默忽略。观察到的消息与亲密度以原始 QQ 号存入本地 SQLite,不做伪名化。
- 上下文模式对所有用户开放:普通用户不再始终单轮无上下文,会话落库与长期记忆不再按管理员身份区分。
- 长期记忆默认参数调整:批处理轮次 3 → 10,空闲触发改为 30 分钟(配置键
idle_seconds改为idle_minutes),适配全用户上下文后的提取量。 - 移除若干旧配置键:队列与发送 action 相关的
max_pending_messages、worker_idle_seconds、private_action、group_action已改为内部定值;指向性回复定为固定行为,quote_reply键移除。写旧键会收到未知字段告警。 - 人格编译链路拆除:
source/soul.md原文直接进入 system prompt,不再有编译产物与缓存。 - 事件回应精简:移除戳一戳回应与进群欢迎,仅保留好友申请通报(通报内容改由人格生成)。
- 回复发送形态变化:私聊回复整条单发(换行原样保留,仅超 4096 字符硬切);群聊改为一句一条分条发送。
新功能
- 观察通道与话题会话(默认关闭):白名单群的只读观察与内容级跟进。被观察群的消息(含 Klein 自己的回复)保留每群最近 300 条 / 24 小时;被 @ 直接进入话题;提到名字时由轻量模型判定是否值得介入;群聊突然聊爆时(消息速率超过按群自动学习的基线——人数地板 + EMA 学习,状态持久化跨重启续用)她会按人格自决是否凑个热闹(每日 3 次、介入后冷却 2 小时)。话题会话中每轮自主决定说话 / 沉默 / 离场,沉寂自然收场,单会话最多 300 条群消息兜底,上下文保留 2 小时供续接。观察期间同步积累群成员亲密度。
- 活人感表达:趁热插话(lull,带每小时限额与情绪惯性)、超长上下文保头截断、语用契约重写(找落点、反驳例外、不当老师、soul 声线不受削);会话情绪基调每 3 轮由轻量模型更新,参与影响回复风格。
- 出站消息分条:按一句一条切分发送,换行即分条、代码块整发、段数上限、UTF-8 安全硬切。
- 被动事件人格化回应:好友申请通报由人格化单轮回应生成(替代硬编码文案),按管理员会话装配人格、纯自然叙事;新朋友首聊自动注入自我介绍注记(随 system prompt 下发),问候不再以自我介绍开场。
- 模型注册表:模型名类配置改为注册表(
source/Model/ModelsName.json)下拉选择,面板保存后进程内热重载;新增models.worker轻量模型端点,供话题判断、上下文压缩等后台任务使用;当前值不在注册表时保留为选项。 - Web 面板增强:新增「基础信息」置顶资料卡(机器人 QQ 头像昵称签名、Klein 版本、构建与运行时长、通信模式);「群聊设置」页(M05)管理观察通道与白名单群选择器;保存结果改为右下角非模态通知(自动消失、可堆叠、带生效摘要,需重启清单与诊断分层到页内横幅);字段路径提示截头留尾不再溢出;首跑骨架改为全配置节完整形态。
- 会话上下文机制:token 估算、超长占位、滚动压缩 + 原文尾巴、每会话一次
recall_context召回。 - 通信基础设施:OneBot API 调用通道(echo 结果关联)、notice/request 事件路由分流(EventRouter)、群聊引用回复与 AT 触发的结构化判断、私聊「对方正在输入」提示(能力协商门控)、能力协商机制(CapabilityBroker 与静态能力表)。
- 面板地址与访问令牌改为每次启动打印,找回令牌不必翻配置文件。
改进与修复
- 修复普通用户始终单轮无上下文的缺陷;聊天采样参数改跟随配置实时值(此前建用户时快照导致改温不生效)。
- 修复入站
message_id双形态解析(数字/字符串)与缺失时的降级诊断,避免事件关联失效。 - Windows 真机多项修复:SQLite 库文件自动创建父目录、配置写回前关闭读句柄防文件被占、WS 系统错误本地编码转 UTF-8(禁 Boost 源位置防构建路径泄漏)、OneBot 解码对标量字段字符串形态宽容防丢事件、模型注册表缺失时改面板引导。
- 修复 ERROR 级日志 stderr 前缀重复(时间戳与级别拼两遍)。
- 修复早安 prompt 丢失、群聊纯 @ 空消息、群聊命令失效三缺陷。
- 修复群选择浮层头像尺寸失控(无约束按 640px 原图渲染);修复保存横幅被面板刷新冲掉从未显示的问题。
- 工具函数拆分独立模块(TextSplit / TextTokenize / Hash / Encoding / FsUtil),自动化测试由 174 项扩充至 306 项。
运行要求
- Linux:x86_64,需系统安装 libcurl 与 libsqlite3(Ubuntu 22.04 可用
sudo apt install libcurl4 libsqlite3-0)。 - Windows:x64,开箱即用(curl、SQLite 与 MinGW 运行时已静态内置,TLS 走系统 Schannel)。
KleinBot v2.4.0
KleinBot v2.4.0
v2.4.0 是一次大版本更新:代码库全面重构(Action 化、端口适配器、SQLite 持久化、174 项自动化测试),并带来 Web 配置面板、长期记忆、联网搜索等重要能力。
⚠️ 升级须知
- 配置文件与数据库默认改为点前缀隐藏文件:
config.json→.config.json(数据库同理)。旧路径不会自动迁移,升级请手动改名,或用--config指定旧路径。 - 主程序名统一为
KleinBot(不再附带版本号),版本信息通过--version查询。 - 移除 Stable Diffusion 生图链路,绘图统一走 models.drawing 模型端点。
- 移除无障碍聊天功能,上下文模式命令仅管理员可用。
models.registry_path、OneBot 发送 action、线程参数等配置键已移除或改为内部定值。- 语音临时文件迁入系统临时目录,不再写入
source/。
新功能
- Web 配置面板:浏览器端 Klein 主题控制台,支持配置写回、模型供应商编辑、API 标准下拉选择与首次运行引导;首次运行自动生成
.config.json占位骨架,访问令牌打印在启动日志中。 - 长期记忆:无向量长期记忆与自动召回,按空闲分钟数(idle_minutes)触发。
- 联网搜索与网页抓取:接入 Tavily 搜索与无需 Key 的网页抓取工具,工具编排回归模型自主决策。
- 自然语言定时提醒:全新提醒系统替换旧定时任务模块,24 小时内漏触发的提醒自动补发。
- Anthropic 标准支持:新增 Anthropic API 接入、原生工具调用与提示缓存断点。
- 多模态路由:模型视觉能力按模型标注,图片资源与多模态工具统一编排;生图/视觉功能未配置或缺少 API Key 时,机器人会用自然语言说明具体原因,而不是笼统的"生成失败"。
- 上下文工程:高低水位裁切并持久化锚点,保护前缀缓存;每轮临时指令尾部化,system 提示词保持逐字稳定。
- 人格持久化:用户人格存入 SQLite,默认人格改读
source/soul.md。 - 重置命令分层:
#重置对话轻量清空窗口(历史仍可召回),#重置上下文彻底删除。 - 通信基础设施:正向 WebSocket / 反向 WebSocket / HTTP 三种模式一键切换;新增 WebSocket 鉴权、OneBot HTTP 事件签名鉴权兼容与请求代理支持。
- 配置热重载:配置快照重载与差异分类,面板保存即生效。
- 版本信息体系:
--version打印版本、Git 提交、构建时间、编译器与架构信息。
Bug 修复
- 完善模型请求取消与超时处理,增加强制退出保护。
- 修复图片工具重复发送与资源命名问题。
- 修复上下文首次截断后退化为滑窗的问题。
- 修复面板中文小字号发虚的渲染问题。
- Windows 下 HTTPS 回归系统证书存储(Schannel),移除硬编码证书路径。
- 修复旧版遗留问题:
#帮助失效、图片无法识别、URL 提取失败、网易云歌曲 ID 解析失败、切换模型失败、图片生成失败、早安发送崩溃、语音发送失败、400 错误提示模糊、top_p 参数冲突等。
架构与工程
- 代码库全面现代化:Action 统一命令与工具调用、端口适配器分离核心业务与外部系统、按用户分片的动态消息调度器、会话服务持久化。
- 采用 MIT 开源协议。
- Windows 支持 MinGW 一站式构建(内置 curl、SQLite、Boost 头文件归档)。
- 自动化测试 174 项全部通过。
运行要求
- Linux:x86_64,需系统安装 libcurl 与 libsqlite3(Ubuntu 22.04 可用
sudo apt install libcurl4 libsqlite3-0)。 - Windows:x64,开箱即用(curl、SQLite 与 MinGW 运行时已静态内置,TLS 走系统 Schannel)。
v2.3.4
KleinQBot
-
当前版本:v2.3.4
-
bug修复
- 切换人格时,中文名称切换失败的问题。
- 其他修复。
-
更新
-
model文件参数热更新,同步至“#更新配置文件”。
-
配置文件参数合法化提示。
-
日志功能新增时间,并将日志写入文件。
-
其他更新。
KleinBot v2.3.3
KleinQBot
-
当前版本:v2.3.3
-
bug修复
- 进一步优化异常提示。
- 其他修复。
-
更新
-
新增“#搜歌”功能,根据指定歌名,返回来自网易云的音乐。
-
模型搭配更加自由,在
v2.3.3版本之前,最多只支持同时拥有两种不同key的模型,但现在可支持N种。 -
Windows支持“#获取服务器公网IP”、“#获取服务器inet4”、“#获取服务器inet6”功能。
-
其他更新。
KleinBot v2.3.2
KleinBot
-
当前版本:v2.3.2
-
修复bug
- 修复一些不常见的bug
-
添加"#图片超分"功能
-
重构了绘图和文本转语音功能
-
KleinBot_Linux_x64_v2.3.2.7z中存在bug“#图片超分”功能在Linux无法使用的问题已经在KleinBot_Linux_x64_64_v2.3.2.1.7z中修复。 -
v2.3.2.2版本中,修复了“#话题:“导致的”invalid character '\n' in string literal“情况。 -
v2.3.2.3版本中,修复了在使用prompt+图片的组合发送时,可能因为prompt过长导致出现发送失败的情况。
KleinBot v2.3.1
KleinBot
-
当前版本:v2.3.1
-
修复bug
- 修复了使用”#设置人格“后无法继续对话的情况
- 临时更新了KleinBot_Linux_x64_v2.3.2_beta.7z,2.3.1出现重大bug,已被更改为2.3.2_beta。但注意,截止2024年10月24日,源代码依旧是2.3.1。