Skip to content

KleinBot v2.4.1

Latest

Choose a tag to compare

@Aimang2002 Aimang2002 released this 22 Sep 10:47

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)。