68 lines
3.0 KiB
Markdown
68 lines
3.0 KiB
Markdown
# Life OS / 人生操作系统
|
||
|
||
> Your life, running as an operating system.
|
||
|
||
一个以桌面操作系统为交互隐喻、支持 ChatGPT 登录和云端同步的个人记录网站。它不是传统日记本:今天被归档、记忆沿时间线回看、重要片段进入人生博物馆。
|
||
|
||
## 功能
|
||
|
||
- **桌面式交互**:桌面图标、任务栏、启动器、多窗口、最小化/最大化/关闭。
|
||
- **Today**:每日文字记录、情绪天气、1–5 能量等级,以及随机生成的“今日电影”。
|
||
- **Timeline**:按时间轴浏览、编辑和删除记忆。
|
||
- **Museum**:将重要记忆长期珍藏为馆藏。
|
||
- **Insights / Profile**:查看情绪、能量、连续记录与个人系统状态。
|
||
- **System**:深浅主题、自动识别浏览器语言(也可固定中文/English)、JSON 导入导出与本地存储说明。
|
||
- **Bing 每日一图**:桌面壁纸每日自动更新;由 Life OS 同源代理读取,避免浏览器跨域限制。
|
||
- **Windows 式操作**:桌面端单击选择、双击打开;右键桌面或 App 图标可使用快捷菜单。
|
||
- **快捷键与草稿恢复**:`Ctrl / ⌘ + K` 打开启动器,`Ctrl / ⌘ + F` 搜索记忆,`Ctrl / ⌘ + S` 归档 Today;当天未归档文字会自动恢复。
|
||
- **移动端**:App 以全屏方式打开,保留任务栏恢复入口。
|
||
- **个人云端**:使用 ChatGPT 登录后,数据按账号隔离并同步到 SQLite 兼容的 D1 数据库。
|
||
|
||
## 数据与备份
|
||
|
||
登录后,Life OS 会将资料同步到云端数据库;浏览器 `localStorage` 保留为本地缓存、临时草稿与迁移来源。首次登录时,现有本地记录可以迁移到云端;云端已有记录时,会优先恢复云端资料,并在本机保留迁移前副本。
|
||
|
||
请在 **System → Export Data** 定期导出 JSON 备份;导入时支持合并现有数据或完整覆盖恢复,导入后的资料也会同步。
|
||
|
||
主要存储键:
|
||
|
||
- `lifeos_memories`
|
||
- `lifeos_museum`
|
||
- `lifeos_profile`
|
||
- `lifeos_settings`
|
||
- `lifeos_system`
|
||
|
||
备份格式包含 `schemaVersion: 1`,为后续数据迁移预留兼容空间。
|
||
|
||
## 运行
|
||
|
||
这是一个轻量的同源 Worker 网站。Worker 会代理 Bing 每日图片,避免浏览器跨域限制导致壁纸回退为纯色。
|
||
|
||
安装依赖后构建并运行验证:
|
||
|
||
```bash
|
||
npm run build
|
||
npm run validate
|
||
```
|
||
|
||
构建产物位于 `dist/`,其中包含 Cloudflare Worker 入口与界面资源。
|
||
|
||
## 项目结构
|
||
|
||
```text
|
||
public/index.html # 界面、样式与本地数据逻辑
|
||
public/addons.js # 窗口与辅助交互
|
||
worker/index.js # ChatGPT 登录门槛、云端数据 API 与 Bing 壁纸代理
|
||
drizzle/ # SQLite / D1 数据库迁移
|
||
scripts/build.mjs # 生成 Worker 部署产物
|
||
.openai/hosting.json # Sites 托管配置
|
||
```
|
||
|
||
## 隐私说明
|
||
|
||
Life OS 使用 ChatGPT 的稳定用户标识隔离云端数据,不保存 ChatGPT 密码。浏览器本地缓存不作为唯一副本;仍建议定期导出 JSON 备份。
|
||
|
||
## License
|
||
|
||
个人使用项目。壁纸图片版权归 Bing 每日一图的原始权利人所有。
|