来源:
notes/documents/个人助理网页版并入工作区:笔记改由构建产物提供.md个人助理网页版并入工作区:笔记改由构建产物提供
结论
个人助理的网页版不再是独立仓库。代码连历史并入 codex_personal_assistant/web/,笔记改为构建期从 notes/ 生成只读产物,数据库只剩身份与会话。线上就是那一刻工作区的快照,push 到 main 即发布。
改了什么
- 仓库:
personal-assistant-web并入web/(GitHub 上已归档,本地目录已删)。 - Vercel:项目
vite-react原样保留——同项目、同域名vite-react-tawny-one-14.vercel.app、同 OAuth 回调、同环境变量;只把 Git 连接换成本仓库、Root Directory 设为web。 - 数据库:
notes表已 drop,只剩users/identities/sessions。笔记不再是数据库里的副本。 - 下线的机制:
/api/notes/import、/api/notes/manifest、/api/admin/migrate、同步脚本、迁移脚本、ADMIN_TOKEN。 - 标识:笔记 id 从数据库 uuid 换成
Note Path,单篇正文走GET /api/notes/detail?path=。
为什么这样切
判据是「不可重建的状态进数据库,可重建的派生物进构建产物」。会话撤销不了,所以要存;笔记的路径、标题、正文、哈希都能从 Markdown 重新算出来,存进需要同步维护的表里就是自找麻烦。
验证
预览与生产都验过:笔记 145 篇(补提交《掌控习惯》后 146)、不再暴露 uuid、列表不含正文、中文搜索命中、单篇按 path 取回、路径穿越 400、旧接口 404、登录 302 到 GitHub 且 redirect_uri 正确。推送两次都自动触发了生产部署。
副作用
- 线上有回收站了:删掉的笔记随下次部署消失,但历史 deployment 保留旧快照。旧的「删除不可逆」性质不再成立。
- 发布即 push:写完笔记不提交推送,线上就看不到。
以后怎么用
- 写笔记 → commit & push → 自动上线。
- 手动部署:
web/下npm run deploy(不要用vercel deploy,本机*.vercel.app被 DNS 污染,上传会中途失败)。 - 改网站前先读
web/docs/operations.md与web/docs/adr/0008。