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