常见问题 FAQ
安装与启动
Q: npm install 报错?
确认 Node.js 版本 >= 18。运行 node -v 检查。如果版本过低,使用 nvm 升级:
bash
nvm install 18
nvm use 18Q: npm run dev:h5 启动后白屏?
检查浏览器 DevTools Console。常见原因:
- SCSS 编译错误 — 查看终端日志,修复 SCSS 语法问题
- COOP/COEP 头缺失 — 确保使用
npm run dev:h5启动(不要直接用vite命令),vite.config.ts 已自动配置跨域隔离头
Q: TypeScript 报 "找不到模块 @/xxx"?
tsconfig.json 已配置 @/ → src/ 路径映射。如果 VS Code 仍然报错,尝试:
bash
# 重启 TypeScript 服务
Cmd+Shift+P → TypeScript: Restart TS Server加密与安全
Q: 忘记加密密码怎么办?
无法恢复。密码是数据的唯一解密密钥,系统不存储密码本身。唯一恢复途径:
- 如果你之前导出过备份文件(.json 格式的加密密文)
- 使用"合并旧数据"功能,输入旧密码解密备份,再用新密码重新加密
强烈建议:设置密码后用纸笔记下,或使用密码管理器保存。
Q: 为什么 App 后台一段时间后需要重新输入密码?
这是自动锁屏功能。可在 设置 → 锁屏设置 中调整自动锁定时间(1/5/15/30/60 分钟),或关闭自动锁屏。
Q: 生物认证解锁失败怎么办?
- 确认设备已录入指纹/面容
- 确认已在 设置 → 加密设置 中开启生物解锁
- 重启 App 后重试
- 如果持续失败,使用密码解锁后重新开启生物认证
Q: 数据真的安全吗?服务端能看到我的数据吗?
不能。采用零知识架构:
- 加密密钥由你的密码通过 PBKDF2 派生,只有你知道密码
- 数据在写入数据库前已完成 AES-256-GCM 加密
- 同步到云端的数据是加密密文,服务端无法解密
- 生物认证仅在本地 Keychain/Keystore 中存储,不会上传
AI 功能
Q: 端侧 AI 和云端 AI 有什么区别?
| 端侧 AI | 云端 AI | |
|---|---|---|
| 运行位置 | 设备本地 | 远程服务器 |
| 网络要求 | 不需要 | 需要 |
| 模型大小 | 350MB - 2.2GB | N/A |
| 响应速度 | 取决于设备性能 | 取决于网络 |
| 智能程度 | 基础 | 更强 |
| 隐私 | 数据不出设备 | 发送到服务端 |
Q: 如何下载端侧 AI 模型?
设置 → AI 设置 → 端侧模型 → 选择模型 → 下载。
- H5 端:模型下载到浏览器 IndexedDB(约 350MB-600MB)
- App 端:模型下载到应用私有目录(GGUF 格式)
Q: 端侧 AI 速度慢怎么办?
- 选择更小的模型(如 Qwen2.5-0.5B 仅 350MB)
- App 端会自动利用 GPU(Metal/Vulkan)加速
- H5 端受 WebAssembly 性能限制,建议使用云端 AI
Q: AI 对话中 [ACTION] 是什么?
当 AI 需要操作你的数据时,会在回复中插入 [ACTION] 块。这些块会被系统自动解析并执行,例如创建任务、记录心情等。无需手动处理。
数据与同步
Q: 如何备份数据?
两种方式:
- 本地备份:我的 → 数据管理 → 导出备份 → 保存 JSON 文件到本地
- 云端同步:我的 → 数据同步 → 配置 WebDAV / GitHub Gist → 上传
Q: 换手机怎么迁移数据?
- 旧手机:数据管理 → 导出备份 → 保存文件到新手机
- 新手机:安装爱生活 → 设置加密密码 → 数据管理 → 导入恢复
- 如果使用云端同步:新手机配置同样的同步服务 → 下载
Q: WebDAV 同步配置后报错?
常见原因:
- URL 格式错误:坚果云地址应为
https://dav.jianguoyun.com/dav/(注意末尾/) - 密码使用了第三方应用密码:坚果云需要使用"第三方应用管理"中生成的专用密码,而非登录密码
- H5 端 CORS 错误:开发模式下通过
localhost:9399代理,生产模式需服务器 CORS 配置
Q: 同步会覆盖我的数据吗?
会上传本地数据到云端,同时下载云端数据到本地。如果两端都有修改,系统会检测冲突(通过 version 字段),提示用户选择保留哪个版本。
平台相关
Q: H5 和 App 版本有什么区别?
| 功能 | H5 | App |
|---|---|---|
| 生物认证 | 不支持 | 支持 |
| 截图保护 | 不支持 | 支持 (iOS) |
| AI 推理 | Transformers.js | Llama.cpp |
| 数据库 | IndexedDB | SQLite |
| 后台锁屏 | 页面可见性 | 原生事件 |
Q: iOS 上架需要什么?
- Apple Developer 账号($99/年)
- 发布证书(.p12)和描述文件(.mobileprovision)
- App Store Connect 应用信息(描述、截图、隐私标签)
- 详见 部署与发布指南
开发相关
Q: 如何新增一个功能模块?
参见 开发指南 - 新增功能模块指南,包含 6 步完整流程。
Q: VitePress 文档构建报错 "Element is missing end tag"?
这是 Markdown 中的 < > 字符被 Vue 编译器误解析为 HTML 标签。使用 HTML 实体替换:
<→<>→>
仅在代码块之外的 prose 文本中需要替换,代码块内不受影响。
Q: 如何在真机上调试?
- Android:USB 连接 → 开启开发者选项 →
adb logcat | grep -i "lifeos" - iOS:Xcode → Window → Devices and Simulators → 查看日志
- HBuilderX:运行 → 运行到手机或模拟器 → 内置调试器