v1.7
新增功能
-
Token 统计增强
- 按提供商分别统计 Token 使用量
- 显示每个提供商的输入/输出 Token 和调用次数
- Token 记录控制功能:
- 开始:启用 Token 记录
- 暂停:暂停记录(保留已有数据)
- 关闭:完全关闭记录功能
- 清空:清空所有统计数据(带确认对话框)
-
配置导出/导入系统
- 供应商配置批量导出/导入(支持多选、文件、二维码)
- 单个供应商模型列表导出/导入
- API配置导出/导入(包含密钥,强制加密)
- 知识库完整导出(原始文件+向量数据+配置)
- AES-256-CBC 加密保护
- 二维码分享支持(可选加密)
- 批量文件导入(自动防止ID冲突)
-
聊天文件夹系统
- 无限层级嵌套文件夹
- 文件夹图标和颜色自定义
- 拖拽排序支持
- 智能自动分组:
- 按时间分组(今天/昨天/本周/本月/更早)
- 按模型分组(根据使用的AI模型)
- 按助手分组(根据关联的助手)
- 文件夹树状展示(支持展开/折叠)
- 聊天快速分配到文件夹
-
助手群聊功能
- 多个助手在同一聊天中协作对话
- 4种消息路由策略:
- 自然模式:基于话语权智能选择
- 轮流模式:按成员优先级顺序发言
- 随机模式:随机选择助手回复
- 手动模式:用户手动选择发言者
- 成员配置(优先级、话语权、启用/禁用)
- 自动模式支持(助手自动连续对话)
- 群聊统计信息
技术改进详情
1. 导出/导入系统
功能:完整的配置备份和迁移方案
实现:
ExportDataModels.kt定义导出数据结构EncryptionUtils.ktAES-256-CBC加密QRCodeUtils.kt二维码生成/解析ExportImportManager.kt统一管理器ExportImportScreen.ktMaterial 3 UI界面
安全特性:
- PBKDF2 密钥派生(10000次迭代)
- API密钥强制加密导出
- 二维码支持加密/非加密模式
2. 聊天文件夹系统
功能:组织和管理聊天记录
实现:
ChatFolder.kt文件夹数据模型ChatFolderEntity.kt数据库实体ChatFolderDao.kt数据访问层ChatFolderRepository.kt业务逻辑层ChatFolderManagementScreen.kt文件夹管理UI
核心算法:
- 文件夹树构建算法(递归)
- 循环引用检测(移动文件夹时)
- 智能分组算法(时间/模型/助手)
3. 助手群聊系统
功能:多助手协作对话
实现:
GroupChat.kt群聊数据模型GroupChatEntity.kt+GroupMemberEntity.kt数据库实体GroupChatDao.kt数据访问层GroupChatRepository.kt业务逻辑层GroupChatScreen.kt群聊UI界面
消息路由策略:
- LIST模式:按优先级顺序轮流发言
- POOLED模式:随机选择成员
- NATURAL模式:基于话语权加权随机选择
- MANUAL模式:用户手动选择发言者
4. 数据库升级
修改:
- 数据库版本 14 → 15
- 新增4个实体表:
chat_folders聊天文件夹chat_folder_relations聊天-文件夹关联group_chats群聊group_members群聊成员
- 完整的外键约束和索引优化
涉及文件
| 模块 | 文件 | 说明 |
|---|---|---|
| app/util | ExportDataModels.kt | 导出数据模型定义 |
| app/util | EncryptionUtils.kt | AES-256-CBC加密工具 |
| app/util | QRCodeUtils.kt | 二维码生成/解析工具 |
| app/util | ExportImportManager.kt | 导出导入统一管理器 |
| app/ui/settings | ExportImportScreen.kt | 导出导入UI界面 |
| app/ui/folder | ChatFolderManagementScreen.kt | 文件夹管理UI |
| app/ui/groupchat | GroupChatScreen.kt | 群聊UI界面 |
| data/model | ChatFolder.kt | 文件夹数据模型 |
| data/model | GroupChat.kt | 群聊数据模型 |
| data/database/entity | ChatFolderEntity.kt | 文件夹数据库实体 |
| data/database/entity | GroupChatEntity.kt | 群聊数据库实体 |
| data/database/dao | ChatFolderDao.kt | 文件夹DAO |
| data/database/dao | GroupChatDao.kt | 群聊DAO |
| data/repository | ChatFolderRepository.kt | 文件夹Repository接口 |
| data/repository | GroupChatRepository.kt | 群聊Repository接口 |
| data/repository/impl | ChatFolderRepositoryImpl.kt | 文件夹Repository实现 |
| data/repository/impl | GroupChatRepositoryImpl.kt | 群聊Repository实现 |
| data/database | AppDatabase.kt | 数据库版本15迁移 |
同步平板和手机模式的设置图标
同步平板模式和手机模式的设置图标
修改内容
在 SettingsScreen.kt 的平板模式 SettingsListContent 函数中,添加了两个缺失的图标定义:
- 助手群聊 (group_chat):
- 使用 Lucide.Users 图标
- 与手机模式保持一致 - 正则表达式 (regex_rules):
- 使用 Icons.Default.BugReport 图标
- 与手机模式保持一致
当前图标映射
| 设置项 | 图标 | 类型 |
|---|---|---|
| 助手 | Icons.Default.Person | Material |
| 助手群聊 | Lucide.Users | Lucide ✨ |
| 服务商 | Icons.Default.Settings | Material |
| 知识库 | Lucide.BookOpen | Lucide ✨ |
| MCP 服务器 | Icons.Default.Cloud | Material |
| 深度研究 | Icons.Default.Search | Material |
| 正则表达式 | Icons.Default.BugReport | Material ✨ |
| 使用统计 | Icons.Default.BarChart | Material |
| 日志查看 | Lucide.ScrollText | Lucide ✨ |
| 网络日志 | Icons.Default.Cloud | Material |
| 关于 | Icons.Default.Info | Material |
现在平板模式和手机模式在设置页面中显示的图标完全一致了!