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