63 lines
4.7 KiB
Markdown
63 lines
4.7 KiB
Markdown
# Life OS / 人生操作系统
|
||
|
||
以桌面操作系统为交互方式的个人记录网站。用 App 记录日常、管理目标与待办,并沿时间线回看已经留下的内容。
|
||
|
||
在线站点:[Life OS](https://life-os-personal-desktop.biss0.chatgpt.site) · 当前应用版本:**v1.8.0** · [更新日志](CHANGELOG.md)
|
||
|
||
## 功能
|
||
|
||
| App | 用途 |
|
||
| --- | --- |
|
||
| 今日 | 为选定日期写记忆,记录天气、1–5 能量、标题、标签、地点和关联任务;每日电影是写作提示,不会替代记忆标题。 |
|
||
| 时间线 | 按日期浏览记忆,使用关键词或标签筛选,编辑、删除和收藏。 |
|
||
| 博物馆 | 回看收藏的记忆。 |
|
||
| 目标与待办 | 创建目标和任务,设置截止日期、优先级和完成状态;目标倒计时可选择显示在桌面。 |
|
||
| 日历 | 在月视图与日视图中查看记忆、任务和目标节点,并为选定日期新增记忆。 |
|
||
| 洞察 | 周报和月报展示记录频率、完成任务数、常见天气、能量记录及收藏或标记高光的记忆;仅依据已保存的数据统计。 |
|
||
| 档案 | 查看记录概况并维护个人资料。 |
|
||
| 系统设置 | 选择语言、主题、壁纸、桌面快捷方式和开机 App,管理备份。 |
|
||
|
||
桌面端支持单击选择、双击打开 App、多窗口、任务栏恢复、图标拖动排列和窗口布局记忆。拖动图标或小部件时会显示吸附网格;目标倒计时、时钟、今日概览与快捷操作小部件可移动、调整大小和分别开关。移动端以横排图标和全屏 App 为主,小部件在桌面下方排列。可选必应每日图片、内置背景或自定义 HTTPS 图片链接。中文与英文可自动跟随浏览器语言,也可手动选择。
|
||
|
||
快捷键:`Ctrl / ⌘ + K` 打开启动器,`Ctrl / ⌘ + F` 搜索记忆,`Ctrl / ⌘ + S` 保存今日记忆;`Alt + 1–8` 打开对应 App。站点包含 PWA 清单和 Service Worker,离线时可打开已缓存的应用外壳;云同步与必应图片仍需要联网。
|
||
|
||
## 数据与备份
|
||
|
||
站点使用 ChatGPT 登录标识隔离不同用户的数据。登录后,资料通过同源 API 保存到 Sites 的 D1 数据库;浏览器 `localStorage` 充当缓存、草稿及首次迁移来源。首次云端恢复前,本地资料会保留一份迁移前副本。目标与任务存于 `lifeos_system.tasksBoard`,记忆及其可选信息存于 `lifeos_memories`。
|
||
|
||
**系统设置 → 导出数据** 会生成 JSON 备份;导入支持合并或覆盖。备份格式使用 `schemaVersion: 2`,仍可导入 v1 备份。壁纸来源、快捷方式、开机 App 和小部件开关包含在同步与备份中;窗口布局与小部件格位分别保存在本设备的 `lifeos_window_layout_v1`、`lifeos_widget_layout_v1`,也包含在 JSON 导出中,覆盖导入时可恢复。未保存的今日草稿仅留在本机。
|
||
|
||
主要数据键:`lifeos_memories`、`lifeos_museum`、`lifeos_profile`、`lifeos_settings`、`lifeos_system`。D1 的初始迁移位于 `drizzle/0000_lifeos_cloud_state.sql`:它将各类数据作为 JSON 字段保存在每个用户的一行记录中;应用的备份 schema 版本与数据库迁移编号是两回事。建议定期导出备份。
|
||
|
||
## 构建与验证
|
||
|
||
项目无需安装第三方 npm 依赖,使用 Node.js 运行:
|
||
|
||
```bash
|
||
npm run build
|
||
npm run validate
|
||
```
|
||
|
||
`build` 将页面及 App 脚本打包成 `dist/server/` 中的 Cloudflare Worker 产物;`validate` 检查产物、双语键与主要交互。生产托管配置在 `.openai/hosting.json`,含 Sites 项目 ID 和 D1 逻辑绑定。直接在其他环境部署时,需要提供兼容的 Worker 环境与 `DB` 绑定;云端 API 还依赖托管层提供的 `oai-authenticated-user-id` 请求头。
|
||
|
||
## 项目结构
|
||
|
||
```text
|
||
public/index.html 桌面框架与窗口基础交互
|
||
public/tasks.js 目标与待办
|
||
public/calendar.js 日历
|
||
public/i18n-renderers.js 记忆、洞察、设置等双语界面
|
||
public/desktop-personalization.js 图标、窗口与壁纸偏好
|
||
public/desktop-widgets.js 吸附网格与桌面小部件
|
||
public/addons.js 导入导出、云同步与辅助操作
|
||
public/locales/ 中文、英文文案
|
||
public/service-worker.js PWA 缓存
|
||
worker/index.js Worker 路由、数据 API、必应图片代理
|
||
drizzle/ D1 初始迁移
|
||
scripts/ 构建与产物验证
|
||
```
|
||
|
||
## 隐私与版权
|
||
|
||
Life OS 不保存 ChatGPT 密码。自定义壁纸链接由浏览器直接加载;使用第三方图片时,请考虑图片服务的访问与隐私规则。必应每日图片版权归原始权利人所有。
|