Compare commits
No files matched your search
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
本项目按 `v主版本.次版本.修订版本` 标记发布。下列内容以对应 Git tag 和已提交功能为准。
|
本项目按 `v主版本.次版本.修订版本` 标记发布。下列内容以对应 Git tag 和已提交功能为准。
|
||||||
|
|
||||||
|
## v1.14.0 — 2026-09-28
|
||||||
|
|
||||||
|
- 新增数据库管理器 App:固定服务器与用户名的登录页、直接操作数据库的确认提示、按表分页浏览及 JSON 增删改查。
|
||||||
|
- 管理操作只作用于当前 ChatGPT 登录用户的记录;口令保存在服务端密钥中,短时会话、失败次数限制、版本冲突检测与写入二次确认保护数据。
|
||||||
|
- 记忆、目标、待办、收藏、档案与设置可在管理器查看;标签由记忆内容维护,旧版备份表不开放直接编辑。
|
||||||
|
|
||||||
## v1.13.0 — 2026-09-28
|
## v1.13.0 — 2026-09-28
|
||||||
|
|
||||||
- D1 新增按记录存储的记忆、标签、目标、待办和收藏表;资料与设置保留 JSON。
|
- D1 新增按记录存储的记忆、标签、目标、待办和收藏表;资料与设置保留 JSON。
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
以桌面操作系统为交互方式的个人记录网站。用 App 记录日常、管理目标与待办,并沿时间线回看已经留下的内容。
|
以桌面操作系统为交互方式的个人记录网站。用 App 记录日常、管理目标与待办,并沿时间线回看已经留下的内容。
|
||||||
|
|
||||||
在线站点:[Life OS](https://life-os-personal-desktop.biss0.chatgpt.site) · 当前应用版本:**v1.13.0** · [更新日志](CHANGELOG.md)
|
在线站点:[Life OS](https://life-os-personal-desktop.biss0.chatgpt.site) · 当前应用版本:**v1.14.0** · [更新日志](CHANGELOG.md)
|
||||||
|
|
||||||
## 功能
|
## 功能
|
||||||
|
|
||||||
@@ -13,6 +13,7 @@
|
|||||||
| 博物馆 | 回看收藏的记忆。 |
|
| 博物馆 | 回看收藏的记忆。 |
|
||||||
| 目标与待办 | 创建目标和任务,设置截止日期、优先级和完成状态;目标倒计时可选择显示在桌面。 |
|
| 目标与待办 | 创建目标和任务,设置截止日期、优先级和完成状态;目标倒计时可选择显示在桌面。 |
|
||||||
| 日历 | 在月视图与日视图中查看记忆、任务和目标节点,并为选定日期新增记忆。 |
|
| 日历 | 在月视图与日视图中查看记忆、任务和目标节点,并为选定日期新增记忆。 |
|
||||||
|
| 数据库管理器 | 在再次登录并确认风险后,按表查看、创建、编辑和删除当前账号的云端记录。 |
|
||||||
| 洞察 | 周报和月报展示记录频率、完成任务数、常见天气、能量记录及收藏或标记高光的记忆;仅依据已保存的数据统计。 |
|
| 洞察 | 周报和月报展示记录频率、完成任务数、常见天气、能量记录及收藏或标记高光的记忆;仅依据已保存的数据统计。 |
|
||||||
| 档案 | 查看记录概况并维护个人资料。 |
|
| 档案 | 查看记录概况并维护个人资料。 |
|
||||||
| 浏览器 | 在桌面窗口里打开网页或使用 Google 搜索,支持后退、前进、刷新和外部打开。默认打开 Google;第三方网站可能禁止 iframe 嵌入。 |
|
| 浏览器 | 在桌面窗口里打开网页或使用 Google 搜索,支持后退、前进、刷新和外部打开。默认打开 Google;第三方网站可能禁止 iframe 嵌入。 |
|
||||||
@@ -35,6 +36,8 @@
|
|||||||
|
|
||||||
主要本地数据键:`lifeos_memories`、`lifeos_museum`、`lifeos_profile`、`lifeos_settings`、`lifeos_system`。云端表结构见 `drizzle/0001_lifeos_records.sql`:记忆、标签、目标、待办、收藏各自按记录保存,资料与设置保留按用户存储的 JSON。旧版 `lifeos_states` 作为只读迁移来源保留;用户首次访问新版本时自动回填新表,旧表不会被清空。单条记录的修改使用版本号校验;冲突时会保存本地副本并要求选择。旧版浏览器标签页需刷新,整份状态写入接口已停用,避免覆盖新数据。应用的备份 `schemaVersion: 2` 与数据库迁移编号是两回事。建议定期导出备份。
|
主要本地数据键:`lifeos_memories`、`lifeos_museum`、`lifeos_profile`、`lifeos_settings`、`lifeos_system`。云端表结构见 `drizzle/0001_lifeos_records.sql`:记忆、标签、目标、待办、收藏各自按记录保存,资料与设置保留按用户存储的 JSON。旧版 `lifeos_states` 作为只读迁移来源保留;用户首次访问新版本时自动回填新表,旧表不会被清空。单条记录的修改使用版本号校验;冲突时会保存本地副本并要求选择。旧版浏览器标签页需刷新,整份状态写入接口已停用,避免覆盖新数据。应用的备份 `schemaVersion: 2` 与数据库迁移编号是两回事。建议定期导出备份。
|
||||||
|
|
||||||
|
数据库管理器的服务器固定为本站 D1,用户名固定为 `lifeos-admin`,密码保存在托管环境的 `LIFEOS_DB_ADMIN_PASSWORD` 密钥中,不写进仓库或浏览器。它在原有账号登录之上再次验证密码;会话仅在当前页面内存中保留 20 分钟,退出后立即失效,连续五次输错锁定 15 分钟。管理 API 只允许当前账号在预设表内按记录操作,没有任意 SQL 执行入口。更改云端记录后应刷新桌面,使其他 App 重新加载数据。派生的标签索引和旧版状态备份不能在管理器中单独修改。
|
||||||
|
|
||||||
## 构建与验证
|
## 构建与验证
|
||||||
|
|
||||||
项目无需安装第三方 npm 依赖,使用 Node.js 运行:
|
项目无需安装第三方 npm 依赖,使用 Node.js 运行:
|
||||||
@@ -55,6 +58,7 @@ public/tasks.js 目标与待办
|
|||||||
public/calendar.js 日历
|
public/calendar.js 日历
|
||||||
public/browser-app.js iframe 浏览器
|
public/browser-app.js iframe 浏览器
|
||||||
public/terminal-app.js 命令解析与终端界面
|
public/terminal-app.js 命令解析与终端界面
|
||||||
|
public/db-admin.js 数据库管理器界面
|
||||||
public/data-actions.js 图形界面与终端共用的数据写入
|
public/data-actions.js 图形界面与终端共用的数据写入
|
||||||
public/i18n-renderers.js 记忆、洞察、设置等双语界面
|
public/i18n-renderers.js 记忆、洞察、设置等双语界面
|
||||||
public/desktop-personalization.js 图标、窗口与壁纸偏好
|
public/desktop-personalization.js 图标、窗口与壁纸偏好
|
||||||
@@ -64,6 +68,7 @@ public/locales/ 中文、英文文案
|
|||||||
public/service-worker.js PWA 缓存
|
public/service-worker.js PWA 缓存
|
||||||
worker/index.js Worker 路由与必应图片代理
|
worker/index.js Worker 路由与必应图片代理
|
||||||
worker/cloud-state.js 云端记录迁移与同步 API
|
worker/cloud-state.js 云端记录迁移与同步 API
|
||||||
|
worker/db-admin.js 当前用户的数据库管理 API
|
||||||
drizzle/ D1 数据表迁移
|
drizzle/ D1 数据表迁移
|
||||||
scripts/ 构建与产物验证
|
scripts/ 构建与产物验证
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
CREATE TABLE lifeos_admin_sessions (
|
||||||
|
token_hash TEXT PRIMARY KEY,
|
||||||
|
user_id TEXT NOT NULL,
|
||||||
|
expires_at INTEGER NOT NULL
|
||||||
|
);
|
||||||
|
CREATE INDEX idx_lifeos_admin_sessions_user ON lifeos_admin_sessions(user_id);
|
||||||
|
|
||||||
|
CREATE TABLE lifeos_admin_attempts (
|
||||||
|
user_id TEXT PRIMARY KEY,
|
||||||
|
failures INTEGER NOT NULL DEFAULT 0,
|
||||||
|
locked_until INTEGER NOT NULL DEFAULT 0
|
||||||
|
);
|
||||||
Loaded 3 of 18 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user