概览

什么是 AIaW

AI as Workspace——一个 Quasar 2 + Vue 3 + TypeScript 构建的 AI 对话客户端。lingion/AIaW 这个 fork 基于上游 NitroRCr/AIaW 项目,移除了云同步功能和上游的演示服务(src/utils/config.tsDexieDBURL = undefined,所有 Web 服务 URL 来自 .env.app 构建时注入,可以替换)。

本文档根据实际源码目录编写,不是从 README.md 或 AIaW 官方文档站点复制而来。下面的每条命令、文件路径和数值都是从 ~/Desktop/blog/aiaw/ 目录中逐文件读取的。

仓库信息一览

字段来源
name / 版本aiaw 2.0.8.9package.json
上游仓库NitroRCr/AIaW(产品名"AI as Workspace")package.json author 字段
App ID(Capacitor)app.aiaw.glasscapacitor.config.ts
App ID(Tauri)app.aiawsrc-tauri/tauri.conf.json
Quasar 模式列表SPA、PWA、Capacitor(Android/iOS)、Tauri、SSR(代码中存在,默认 SPA)quasar.config.js
启动引导文件i18nunocssglobal-componentsquasar.config.js
前端框架Quasar 2.18 + Vue 3.5 + Pinia 2 + vue-router 4 + vue-i18n 11package.json
CSS 管线UnoCSS 0.62(preset-rem-to-px)+ Quasar SCSSuno.config.tsquasar.config.js
构建目标(浏览器)es2022firefox115chrome115safari15;Node node20quasar.config.js
Node 引擎要求^24 || ^22 || ^20 || ^18package.json
包管理器pnpm(仅 sharp 允许在 pnpm.onlyBuiltDependencies 中)package.json
开发端口(SPA)9005;PWA 9006quasar.config.js

顶层目录结构(实际路径)

aiaw/
|-- android/                  Capacitor 7 Android 项目(Gradle,app.aiaw.glass)
|-- src/                      Vue 3 SPA 源码(主应用)
|   |-- boot/                 i18n / UnoCSS / 全局组件初始化的引导文件
|   |-- components/           可复用 Vue SFC 组件(assistant-item、model-item 等)
|   |-- composables/          use-call-api、use-dialog-chain、use-create-dialog 等组合式函数
|   |-- css/                  全局 SCSS 样式
|   |-- i18n/                 en-US / zh-CN / zh-TW(按语言分隔的 TS 翻译文件)
|   |-- layouts/              MainLayout + 工作区侧边抽屉
|   |-- pages/                路由级页面(WorkspacePage、SettingsPage 等)
|   |-- router/               routes.ts + index.ts
|   |-- stores/               Pinia 状态存储(workspaces、providers、plugins 等)
|   |-- utils/                db.ts、types.ts、values.ts、plugins/、platform-api.ts
|   '-- views/                子路由视图(DialogView、AssistantView 等)
|-- src-tauri/                Tauri 2 桌面端封装
|-- src-capacitor/            Capacitor 特定桥接层的 package.json
|-- src-pwa/                  PWA manifest + Service Worker
|-- src-backend/              (空占位目录——本 fork 没有服务端代码)
|-- docs/                     VitePress 用户文档(独立站点)
|-- scripts/                  脚本工具(sync-version、generate-app-icons、sync-android-shell 等)
|-- public/                   静态资源(头像、字体、图标、JSON 数据)
|-- resources/                操作系统级图标文件(Android .png、Tauri .icns)
|-- quasar.config.js          Quasar CLI 配置
|-- capacitor.config.ts       Capacitor CLI 配置
|-- uno.config.ts             UnoCSS 配置
|-- tsconfig.json
'-- .env.app                 上游演示服务 URL(DEXIE/LITELLM/BUDGET/SEARXNG)

本 fork 中没有的内容

  • 没有 src-backend/ 服务端代码——该目录存在但为空。这个 fork 是纯客户端的
  • 没有云同步:src/utils/config.ts 硬编码了 export const DexieDBURL = undefined,注释中写道"Cloud sync is stripped by default in this fork. Re-enable only if you explicitly wire your own Dexie Cloud URL."(云同步在本 fork 中默认被移除。仅当你明确配置了自己的 Dexie Cloud URL 时才重新启用)
  • 没有签入 .env 文件。.env.app 文件包含了上游的演示 URL,但本 fork 在运行时忽略它们——因为每一个服务路径(DocParse、SearXNG、CorsFetch、Litellm、Budget、Dexie)都被 src/utils/config.ts 中对应的 *BaseURL 常量所控制,所有这些常量都返回 undefined,除非在构建时设置了对应的环境变量
  • 没有针对本 fork 定制的 CI/CD 流水线

许可证

仓库包含上游的 LICENSE 文件(35 KB 文本文件)。作者是上游 NitroRCr;本 fork 是移除了云服务的个人部署版本。

参见:技术博文:AIaW 移动端 Fork——深入解析 8 个新增文件、Camera+LocalFs+Pyodide+PDF.js+Cerebras/MiniMax 集成的技术细节。