Architecture Codex
这里记录系统为什么长成现在这样。
Codex 不是普通博客,也不是教程。它保存 Reader、OpenList、MySQL、Graph、视觉语言和书架策展的设计考古,供未来的自己、协作者和 AI 维护者读取。
- Systems
- 16
- Active
- 5
- Glossary
- 25
Content Infrastructure Reduction
不要把博客继续扩成自研 CMS 内核。
Runtime MarkdownObject Index / Quartz / Contentlayer / Meilisearch futureAI-Native Publishing System
Directus owns content truth; Dify runs AI workflows.
Directus / Postgres / Dify / LangGraph activeFrontend Runtime Archaeology
前端不是组件树,而是运行时系统。
Astro SSR / React Islands / Inline Runtime Scripts / MyBlog Capability Registry formingFrontend Runtime Convergence
前端运行时必须从多头脚本收束成 Runtime Kernel。
Runtime Kernel / Legacy Inline Runtime / React Islands / Command Bus formingRuntime Experience Layer
缺的不是组件,而是统一且连续的运行时体验。
Spatial Layer / Runtime Overlay / Interactive Object / Command Runtime activeReader System
书籍不是文件入口,而是可阅读知识对象。
Book Drawer Reader / Reader Pool / Runtime Persistence / PDF.js activeRuntime Architecture
OpenList 是图书馆,MySQL 是目录与状态系统。
OpenList Content Control Plane / Syncthing Hot Mirror / GitHub Content Layer / MySQL Runtime Layer formingContent Pipeline
Obsidian 是写作母库,Runtime MarkdownObject 是唯一公开文章线。
Obsidian Authoring Truth / Syncthing / Linux /home/vault/Obsidian Hot Mirror / OpenList Content Control Plane formingComposable Service Stack
MyBlog 是展示壳,不是全能后端。
OpenList + Tencent COS / Immich / Directus / Meilisearch formingRuntime Federation
克隆成熟系统角色,而不是重写底层引擎。
Obsidian / Syncthing / OpenList + COS / Quark / Quartz 4 formingObject Layer
文件只是载体,对象才是知识系统的基本单位。
KnowledgeObject / BookObject / VisualObject / PersonObject formingProjection Clients
一个 Runtime,多个 Surface。
MyBlog Runtime API / KnowledgeObject Graph / Astro Web Projection / PWA / TWA formingKnowledge Runtime
阅读痕迹才是系统最有价值的动态资产。
Reader Memory / Highlights / Annotations / Seals formingVisual System
视觉素材不是图片墙,而是 Visual Collection。
Pinterest Visual Shell / Immich Media Runtime / Visual Collection System / Visual Bookmark Sync activeDesign Language
从网页组件转向出版物和阅读空间。
Editorial Metadata / Book Object / Drawer Reader / Publication Layout activeCollection Stack
书架不是网盘目录,而是知识策展空间。
Bookshelf / Collection Card / Stacked Covers / Knowledge TopicGlossary
项目自己的词汇系统
- Runtime Migration Sprint
- 历史阶段名;当前已从主架构下线,不再有 runtime-migration.json 机器真源。后续真实 cutover 必须由具体 surface 代码和浏览器证据证明。
- Authority Cutover
- 把某个 runtime surface 的事件、状态、focus、Escape 和渲染 owner 从 legacy owner 切到目标 owner 的过程;依赖安装不算 cutover。
- Reader Pool
- 首页常驻的最近阅读器集合,关闭抽屉时隐藏但不销毁最近 3 本书的 reader runtime。
- Frontend Runtime Archaeology
- 按用户行为追踪 DOM、事件、状态、hydration、网络、动画、authority 和 fallback 的前端审计方法,不等同于组件树说明。
- Runtime Kernel
- 前端 command、keyboard、overlay、drawer、focus、navigation 和 storage classification 的统一交互合同;当前入口是 packages/runtime-kernel。
- Runtime Experience Layer
- 统一 Drawer、Command、Reader、Visuals、Graph 和 runtime shells 的交互质感层;当前入口是 README.md、Architecture Codex 与 packages/design-system。
- Spatial Layer
- 保留上下文的运行时层级,例如 drawer 或 shell 打开时背景被压低但仍保持空间关系。
- Interactive Object
- 把卡片视为可延续的对象,而不是装饰容器;对象应从 card 到 drawer 到 reader 保持身份连续性。
- Runtime Split Brain
- 同一个用户意图由多个 runtime owner 同时解释或兜底,例如 Ctrl/Cmd+K 同时存在 Command Palette 和 fallback search authority。
- Knowledge Runtime
- 负责阅读记忆、高亮、批注、印章、贴纸和关系的动态状态层。
- Book Object
- 把封面作为实体书物件处理的视觉规则,强调尺度、书脊、材质和低透明阴影。
- Collection Stack
- 用 Top 3 堆叠封面表达知识主题或馆藏合集,而不是展示普通文件夹。
- Immich Media Runtime
- 独立部署的 AI 媒体库服务,负责图片 / 视频索引、人脸、物体识别、CLIP embedding、语义搜索、缩略图和时间线;MyBlog 只消费其结果并组织成 Visual Collection。
- Editorial Metadata
- 像出版物目录一样展示分类、格式、年代和主题的小字信息线,不使用 chip 或 badge。
- Authoring Truth
- 写作母库真源;当前唯一真源是 E:\Vaults\Obsidian,服务器 /home/vault/Obsidian 只是 Syncthing 热镜像。
- OpenList Public Content Access
- 公开内容访问层;Runtime MarkdownObject 的 openlistPath/openlistUrl 必须指向 /openlist/Obsidian/...,前端不得把 /home/vault 热镜像裸路径展示为 source。
- Publishing Truth
- 历史术语;当前公开文章只以 public-data/runtime/content-index.json 的 Runtime MarkdownObject 为 active article truth。
- Publish Pipeline
- 从 Obsidian 原稿到 Astro 发布稿的规范化链路,负责过滤、补 frontmatter、解析双链、迁移附件和写入 content collection。
- Vault-backed CMS
- 网页编辑回写同一个 Git 化 Obsidian Vault working copy 的 CMS 形态;TinaCMS 优先,Decap CMS 为轻量备选。
- Composable Service Stack
- 把文件存储、AI 媒体库、metadata 后台、搜索引擎和前台展示分给成熟服务的架构;MyBlog 只做 presentation shell。
- Metadata Overlay
- 覆盖在文件真源之上的人工策展和结构化信息层;目标服务是 Directus,大文件仍留在 OpenList / COS。
- Presentation Shell
- 只负责 Feed、Drawer、Reader、Graph、Visual Collection 和公开路由展示的前台壳,不承担 CMS、媒体库或搜索引擎职责。
- Search Runtime
- 负责动态对象、OpenList 文件索引、Directus metadata 和 Immich 导入结果检索的搜索服务;目标服务是 Meilisearch。
- Content Infrastructure Reduction
- 将自研 content-index、watcher、RSS/build race、search 和 deploy glue 收束到 Quartz、Contentlayer、Meilisearch、Coolify 等成熟底座候选上的减法路线;候选系统未接入前不得写成 active。
- folderTags
- 由 Vault 文件夹路径派生的分类标签,例如 history/korea 生成 history 与 korea,并映射到 Collection / Topic。
Maintenance Protocol
以后新增大系统,先写档案,再写界面。
每个新系统必须回答 Inspiration、Rejected、Runtime、Tradeoff、Future Direction 和 Related Systems。没有这些记录的功能,只能算临时 UI,不算 MyBlog 的长期架构。
查看 Knowledge Graph