架构设计

数据模型(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映射每条消息ID到子消息数组,根节点始终为$root。msgRoute:number[]为当前显示路径(每层children索引)。编辑历史消息→复制AI回复→创建新分支→msgRoute移到新索引。树可在每条用户消息处分叉,旧分支可通过chat router UI切换。逻辑在use-dialog-chain.ts(getChain/switchChain/deleteBranch/appendMessage)。

路由系统

路由页面说明
/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)。