架构设计
数据模型(Dexie v7 Schema)
所有持久化数据通过Dexie 4.4存储于IndexedDB。Schema在src/utils/db.ts中声明,共11个store:workspaces(含type:workspace|folder/parentId树形层级)、dialogs(含msgTree树形消息+msgRoute路径索引)、messages(type:user|assistant/contents/status/error/usage)、assistants(含prompt/provider/model/plugins完整配置)、artifacts(替代废弃canvases,含versions版本管理)、installedPluginsV2(lobechat/gradio/mcp三种插件)、reactives(UI状态)、avatarImages(缓存头像)、imageCache(图片缓存)、items(工具调用结果)、providers(自定义Provider,支持子Provider混搭)。canvases store已废弃——旧数据迁移保留,新写入全走artifacts。
分支对话——树形结构
每个dialog以树而非列表存储消息。msgTree:Record
路由系统
| 路由 | 页面 | 说明 |
|---|---|---|
| /workspaces/:wid/ | 工作区首页+左侧抽屉 | 助手+对话列表 |
| /workspaces/:wid/dialogs/:did | 树形对话视图 | 核心交互页面 |
| /workspaces/:wid/settings | 工作区设置 | 默认助手/变量 |
| /workspaces/:wid/assistants/:aid | 编辑助手 | system prompt/模型/插件 |
| /settings/ | 全局设置 | Provider/快捷键/主题 |
| /plugins/ | 插件市场 | 已安装+目录 |
| /assistants/ | 助手市场 | 浏览/导入 |
| /set-provider | 引导页 | 首次使用 |
所有路由共享MainLayout。404回退ErrorNotFound。/account和/model-pricing仅在云同步启用时可见(本fork隐藏)。
Pinia状态存储
src/stores/:workspaces(工作区/文件夹/对话增删改查,级联删除)、assistants(CRUD)、providers(内置5个+自定义+子Provider故障回退)、plugins(8内置+6常驻+MCP SDK,stdio/http/sse)、user-data(所有IndexedDB导入导出JSON)、user-perfs(38项设置persistentReactive持久化)、ui-state(临时UI状态)。
国际化i18n
en-US/zh-CN/zh-TW三种语言。navigator.language自动检测→回退en-US。Quasar语言包同步切换。用户选择存localStorage持久化。添加语言:创建src/i18n/<locale>/文件夹+注册到boot/i18n.ts的languages集合。
运行时平台检测
IsTauri/IsCapacitor/IsWeb。fetch:Tauri HTTP(桌面)/Capacitor流式(Android)/原生fetch(iOS/Web)。clipboardReadText:三级回退(Tauri插件→Capacitor Clipboard→Web Clipboard API)。exportFile:Documents/AiaW/(Android)/Quasar exportFile(Web)。