6 Commits
13 changed files with 626 additions and 68 deletions

No files matched your search

+47
View File
@@ -0,0 +1,47 @@
# 更新日志 / Changelog
本项目按 `v主版本.次版本.修订版本` 标记发布。下列内容以对应 Git tag 和已提交功能为准。
## v1.8.0 — 2026-09-28
- 目标倒计时成为可拖动、可缩放的小部件,位置和尺寸保存在本设备。
- 拖动图标及小部件时显示吸附网格;小部件操作柄支持方向键调整。
- 增加时钟、今日概览与快捷操作小部件,可在系统设置中分别开关和重置布局。
- 小部件布局纳入 JSON 备份与数据重置。
## v1.7.0 — 2026-09-28
- 桌面图标可拖动排列并保存格位;可选择显示哪些 App 快捷方式。
- 记住本设备的窗口位置、尺寸与打开状态,并可设置开机默认打开的 App。
- 新增必应每日图、内置背景及自定义 HTTPS 图片链接的壁纸来源选择。
- 窗口布局纳入 JSON 导出;重置数据时同时清除本地布局。
## v1.6.0 — 2026-09-28
- 洞察增加周报、月报和周期切换:记录天数及频率、任务与目标完成情况、常见天气、能量记录。
- 高光片段来自明确收藏或标记高光的记忆;缺失数据不作推断。
## v1.5.0–v1.5.8 — 2026-09-27 至 2026-09-28
- 调整桌面端图标排列和移动端横排布局,支持目标倒计时显示在桌面。
- 重构中英文界面文案与自动浏览器语言选择,修复手动切换、启动及缓存导致的多次回归问题。
- v1.5.8 将全部必要脚本打包到页面,并增加语言切换和启动校验。
## v1.4.0–v1.4.3 — 2026-09-27
- 记忆增加标签、可选地点/场景、收藏与关联任务;时间线支持关键词和标签筛选。
- 备份补齐目标与待办,修复云端恢复时本地任务板未合并的问题。
- 修复从日历选定日期新增记忆、标题与每日提示混用的问题。
## v1.3.0 — 2026-09-27
- 新增日历 App,在月视图和日视图中汇集记忆、任务与目标节点。
## v1.2.0 — 2026-09-27
- 新增目标与待办 App,支持截止日期、优先级、完成状态和目标关联。
## v1.0.0–v1.1.0 — 2026-09-25 至 2026-09-27
- 建立 Life OS 桌面、记忆、博物馆、档案和系统设置基础功能。
- 加入中英文界面、必应每日壁纸代理、记忆搜索与草稿恢复、ChatGPT 登录及 D1 云同步。
+36 -46
View File
@@ -1,72 +1,62 @@
# Life OS / 人生操作系统
> Your life, running as an operating system.
以桌面操作系统为交互方式的个人记录网站。用 App 记录日常、管理目标与待办,并沿时间线回看已经留下的内容。
一个以桌面操作系统为交互隐喻、支持 ChatGPT 登录和云端同步的个人记录网站。它不是传统日记本:今天被归档、记忆沿时间线回看、重要片段进入人生博物馆。
在线站点:[Life OS](https://life-os-personal-desktop.biss0.chatgpt.site) · 当前应用版本:**v1.8.0** · [更新日志](CHANGELOG.md)
## 功能
- **桌面式交互**:桌面图标、任务栏、启动器、多窗口、最小化/最大化/关闭。
- **Today**:每日文字记录、情绪天气、1–5 能量等级,以及随机生成的“今日电影”。
- **Timeline**:按时间轴浏览、编辑和删除记忆;支持标签、地点/场景、收藏和关联待办,并可按标签或关键词筛选。
- **Museum**:将重要记忆长期珍藏为馆藏。
- **Tasks / Goals**:创建目标和待办,关联任务、设置截止日期与优先级,查看今天/即将开始/已完成事项并追踪目标进度。
- **Calendar**:月历查看每天的记忆、待办截止与完成记录,以及目标创建、目标日期和完成节点;可切换到日视图查看当天详情。
- **Insights / Profile**:查看情绪、能量、连续记录与个人系统状态。
- **System**:深浅主题、自动识别浏览器语言(也可固定中文/English)、JSON 导入导出与本地存储说明。
- **Bing 每日一图**:桌面壁纸每日自动更新;由 Life OS 同源代理读取,避免浏览器跨域限制。
- **Windows 式操作**:桌面端单击选择、双击打开;右键桌面或 App 图标可使用快捷菜单。
- **快捷键与草稿恢复**:`Ctrl / ⌘ + K` 打开启动器,`Ctrl / ⌘ + F` 搜索记忆,`Ctrl / ⌘ + S` 归档 Today;当天未归档文字会自动恢复。
- **App 快捷键**:`Alt + 6` 打开目标与待办,`Alt + 7` 打开日历,`Alt + 8` 打开 System。
- **移动端**:App 以全屏方式打开,保留任务栏恢复入口。
- **个人云端**:使用 ChatGPT 登录后,数据按账号隔离并同步到 SQLite 兼容的 D1 数据库。
| App | 用途 |
| --- | --- |
| 今日 | 为选定日期写记忆,记录天气、1–5 能量、标题、标签、地点和关联任务;每日电影是写作提示,不会替代记忆标题。 |
| 时间线 | 按日期浏览记忆,使用关键词或标签筛选,编辑、删除和收藏。 |
| 博物馆 | 回看收藏的记忆。 |
| 目标与待办 | 创建目标和任务,设置截止日期、优先级和完成状态;目标倒计时可选择显示在桌面。 |
| 日历 | 在月视图与日视图中查看记忆、任务和目标节点,并为选定日期新增记忆。 |
| 洞察 | 周报和月报展示记录频率、完成任务数、常见天气、能量记录及收藏或标记高光的记忆;仅依据已保存的数据统计。 |
| 档案 | 查看记录概况并维护个人资料。 |
| 系统设置 | 选择语言、主题、壁纸、桌面快捷方式和开机 App,管理备份。 |
桌面端支持单击选择、双击打开 App、多窗口、任务栏恢复、图标拖动排列和窗口布局记忆。拖动图标或小部件时会显示吸附网格;目标倒计时、时钟、今日概览与快捷操作小部件可移动、调整大小和分别开关。移动端以横排图标和全屏 App 为主,小部件在桌面下方排列。可选必应每日图片、内置背景或自定义 HTTPS 图片链接。中文与英文可自动跟随浏览器语言,也可手动选择。
快捷键:`Ctrl / ⌘ + K` 打开启动器,`Ctrl / ⌘ + F` 搜索记忆,`Ctrl / ⌘ + S` 保存今日记忆;`Alt + 1–8` 打开对应 App。站点包含 PWA 清单和 Service Worker,离线时可打开已缓存的应用外壳;云同步与必应图片仍需要联网。
## 数据与备份
登录后,Life OS 会将资料同步到云端数据库;浏览器 `localStorage` 保留为本地缓存、临时草稿与迁移来源。首次登录时,现有本地记录可以迁移到云端;云端已有记录时,会优先恢复云端资料,并在本机保留迁移前副本。
站点使用 ChatGPT 登录标识隔离不同用户的数据。登录后,资料通过同源 API 保存到 Sites 的 D1 数据库;浏览器 `localStorage` 充当缓存、草稿及首次迁移来源。首次云端恢复前,本地资料会保留一份迁移前副本。目标与任务存于 `lifeos_system.tasksBoard`,记忆及其可选信息存于 `lifeos_memories`。
请在 **System → Export Data** 定期导出 JSON 备份;导入时支持合并现有数据或完整覆盖恢复,导入后的资料也会同步。
**系统设置 → 导出数据** 会生成 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 版本与数据库迁移编号是两回事。建议定期导出备份。
- `lifeos_memories`
- `lifeos_museum`
- `lifeos_profile`
- `lifeos_settings`
- `lifeos_system`
## 构建与验证
JSON 备份使用 `schemaVersion: 2`,导入仍兼容 v1 备份。D1 表结构保持 v1:目标和待办保存在 `lifeos_system.tasksBoard`,随现有 `system_json` 字段同步;记忆及其标签、地点、关联待办保存在 `lifeos_memories`。云端恢复时会把本机尚未同步的目标与待办合并并补传。旧版记忆继续兼容,新增信息为选填。
## 运行
这是一个轻量的同源 Worker 网站。Worker 会代理 Bing 每日图片,避免浏览器跨域限制导致壁纸回退为纯色。
安装依赖后构建并运行验证:
项目无需安装第三方 npm 依赖,使用 Node.js 运行:
```bash
npm run build
npm run validate
```
构建产物位于 `dist/`,其中包含 Cloudflare Worker 入口与界面资源。
`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 # 目标与待办 App
public/calendar.js # 记忆、待办与目标节点的日历时间轴
public/addons.js # 窗口与辅助交互
worker/index.js # ChatGPT 登录门槛、云端数据 API 与 Bing 壁纸代理
drizzle/ # SQLite / D1 数据库迁移
scripts/build.mjs # 生成 Worker 部署产物
.openai/hosting.json # Sites 托管配置
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 的稳定用户标识隔离云端数据,不保存 ChatGPT 密码。浏览器本地缓存不作为唯一副本;仍建议定期导出 JSON 备份。
## License
个人使用项目。壁纸图片版权归 Bing 每日一图的原始权利人所有。
Life OS 不保存 ChatGPT 密码。自定义壁纸链接由浏览器直接加载;使用第三方图片时,请考虑图片服务的访问与隐私规则。必应每日图片版权归原始权利人所有。
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "life-os",
"version": "1.6.0",
"version": "1.8.0",
"private": true,
"type": "module",
"scripts": {
Loaded 3 of 13 files, more files were not shown because too many files have changed in this diff. Show more