概述
BoB v4 是一次彻底的架构重构。移除了 v3 中散乱的 JSON / PostgreSQL / Zilliz 存储,统一到单一 SQLite 库;重构了命令路由、返回值和依赖注入体系;新增了多项 AI 驱动功能。
架构重构
统一后端存储
全部数据(用户、金币、背包、签到、统计、交易流水、AI 历史、广告、加密货币持仓)统一存入一个 SQLite 数据库(WAL 模式 + 索引 + 连接复用)。
- 移除 Zilliz 向量数据库
- 移除 PostgreSQL / Supabase 作为主存储
- 移除散落的 JSON 文件
- KV 型数据统一走
kv表
统一命令路由
core/router.py 统一注册命令、别名、限流、帮助生成。新增命令只需在 commands/*.py 添加一个装饰器,无需修改路由逻辑。
统一返回值
所有服务与游戏返回 Result(success, message, data),命令层统一处理消息与金币收支。修复了旧版骰子 / 炸金花「扣了钱却没成局」导致金币凭空消失的 bug。
依赖注入容器
services/app.py 的 App 统一装配所有服务,杜绝模块间循环 import。
AI 系统
多 Provider Fallback
- 主力:Kilo AI(
kilo-auto/free动态模型选择) - 保底:NVIDIA NIM(
nemotron-3-ultra) - 自动检测 Provider 错误并切换,用户无感知
动态并发控制
根据系统 CPU / 内存使用率动态调整 AI 并发上限,避免资源耗尽。
CodeAgent
通过 AI tool-calling 在 Supabase Storage 上创建 / 编辑文件,用户可在线预览生成的代码。使用 code <需求描述> 触发。
聊天历史
所有聊天记录存入 SQLite,支持 history 查看最近记录、search <关键词> 搜索历史、history export 导出为 HTML / TXT。
用户画像
基于 AI 分析用户聊天历史,生成自然语言画像描述。使用 profile 查看。
新功能
- 留言系统:
msg命令给离线用户留言,对方上线自动通知 - 游戏统计:
gamerank查看游戏排行榜 - 友情链接:通过 Supabase REST API 管理
- 每周 / 总排行:
rank week/rank total - 广告系统优化:单次广告展示上限,防止刷量
- AFK 自动清除:用户上线自动清除离开状态
移除
- Zilliz 向量搜索
- small_chat 模块
- HTML 导出到文件系统
- 独立流水文件(并入 DB)
- 硬编码推广语
- batch_writer / migrate_to_db