AYAOS · BLOG
「归档」旧版 AyaOS 简介文档
因2026年8月系统重构,将原版文档搬运至博客归档。此文档原先发布在老版档案站(Vuepress)中,现档案站已不再使用Vuepress。
AyaOS 简介
AyaOS是我为自己长期创作、记录与日常管理搭建的一套个人数字系统。它用于统一承载多个长期运行的工具与模块,把分散的写作、发布、记账、提醒与安全管理整合到同一套可持续维护的结构里。
从系统定位上说,AyaOS是一个基于Flask构建的个人集成系统:它提供集中式身份入口、模块化扩展能力与统一的访问边界,作为整个个人数字生态的核心中台。
系统一览
核心能力
- 统一身份与访问边界:后台模块共享统一的认证与访问控制语义,基于数据库会话实现登录状态管理、受控跳转与会话失效控制,并引入动态二次验证提升登录安全性。
- 模块化承载与演进:以Flask为主框架,按功能边界组织模块与路由,降低长期迭代过程中的耦合度与维护难度。
- 统一交互反馈:抽象全站加载状态控制器,为点击与提交等操作提供一致反馈,并支持基于CSS变量的加载条展示区域配置。
- 多站点协作能力:在同一生态内支持低耦合联动与受控协作,使不同子系统在保持边界独立的前提下完成身份验证传递。
- 稳定性与体验保障:采用防御式实现与异常兜底策略,结合会话校验、错误反馈与前端缓存优化,提升系统在长期运行中的稳定性与可恢复性。
- 移动端与PWA体验:支持安装式使用与快速启动,并针对移动端视口、键盘变化与安全区进行适配优化。
- 定时备份:支持通过Cron备份至冷存储,结合对象存储生命周期策略控制历史备份规模,避免长期运行下的存储膨胀。
早期能力定义(2025年旧版)
- 统一身份与访问边界:后台各模块共享一致的认证与权限语义,支持会话生命周期管理与受控跳转
- 模块化承载与演进:以Flask为主框架,功能以模块边界组织,避免功能增长带来的维护困难
- 统一交互反馈:通过抽象加载状态控制器在全站层面提供通用的点击&提交反馈机制,并支持基于CSS变量的加载条展示区域配置
- 多站点协作能力:在同一生态内实现低耦合联动
- 稳定性与体验保障:防御式实现与异常兜底,配合前端缓存策略提升长期可用性
- 移动端与PWA体验:支持安装式使用与快速启动,并针对移动端视口&键盘变化做适配优化
设计原则
- 中台而非单一应用:AyaOS定位为集成中枢,而不直接承担所有业务逻辑。
- 安全基线:所有入口按最小信任设计,默认拒绝、可控失效。
- 长期运行:系统结构与实现优先考虑可演化性与维护成本。
记账模块
这是 AyaOS 内部的一块轻量级记账模块,由个人长期使用需求衍生,用于承载日常收支记录、账户状态查看与简单预算参考,优先保证核心流程的稳定、清晰与可持续使用。
系统概览
- 独立子模块:由主页进入的独立工具箱,页面、数据与业务规则在模块内部形成闭环。
- 最小可用界面:围绕记账、转账与回看等核心流程设计操作面板,优先保证长期使用中的稳定性与维护成本。
- 数据库支持:采用嵌入式数据库承载模块数据,降低部署与维护复杂度,适合个人长期使用场景。
数据模型抽象
- 账户:作为资金容器,区分资产与负债,用于承载状态与归属。
- 流水:用于描述收入、支出、转账等资金事件。
- 分类:以收入/支出为一级类目,向下拆分为二级、三级分类;分类删除不影响既有流水,保证历史记录稳定。
交互与性能策略
- 轻量前端:采用统一模板壳与结构化脚本组织页面。
- 渐进式加载流水:历史流水采用分页/加载更多方式回看,避免一次性拉取全量数据。
- 即时反馈:录入、转账等操作强调明确反馈与刷新策略,减少状态不确定感。
- 预算演示:基于当前余额,展示从当日起至下月发薪日前的日均可用额度,作为日常支出参考。
可靠性与运行取向
- 失败可恢复:写入路径以原子操作为目标,异常情况下尽量不留下半状态或难以解释的数据。
未来演进方向
在现有模型与口径稳定的前提下,该模块可自然扩展为:
- 补齐按月、按分类、按账户的结构化回顾能力
- 支持基础数据导出与后续对账流程
博客后台
这是集成于AyaOS的静态博客管理后台,包含从写作、整理到发布的完整操作流程。
系统一览
信息组织与检索
- 编辑器与管理页解耦:管理页负责目录树、移动、改名、删除等操作,编辑页专注于写作本身,减少不同任务之间的相互干扰。
- 目录树浏览器:归渲染Markdown目录结构,并默认展开根目录与顶层节点,降低频繁展开/收起的操作成本。
- 分类/子类/标签映射:前端以中文语义展示并选择,写入时由后端统一归一为id,提高可读性与数据一致性。
- 子类联动校验:根据所选分类动态生成允许的子类集合,减少错误组合。
编辑与预览
- 实时预览渲染链路:从Markdown渲染到内容清洗、DOM 更新,再到本地资源引用的预览态解析,保证编辑阶段即可接近发布效果。
- 相册可视化编辑:在相册编辑页直接管理图片顺序、alt 文本与引用状态,并通过独立按钮按需请求后端文件浏览,避免一次性请求过大。
媒体资源处理
- 媒体写作友好:文章媒体上传后自动生成引用片段,支持交互式命名;失败时不产生无效编号或残留引用,降低写作过程中的资源管理负担。
- 类型识别与降级:按图片、视频与其它类型分流处理,无法识别的资源以附件链接形式插入,保证写作流程不中断。
- 预览映射缓存:解决“资源已上传但未发布”状态下的本地预览一致性问题。
数据一致性与安全边界
- 保存前置条件:未选定归档目录时禁止保存、发布与上传,避免产生孤儿内容。
- 自动保存:采用节流式autosave,在减少频繁写入的同时降低丢稿概率。
- 相册文件后端联动:前端图片的增删改与后端文件状态保持同步,并按当前最大编号递增命名,降低手工维护成本。
发布与运维
- “保存→构建→上传”一键串联:发布按钮直接触发静态博客构建Pipeline,将内容生产闭环收束为可重复执行的流程。
- 临时资源清理:提供受控的一键清理按钮,清理构建与上传过程中产生的临时资源,避免长期运行下的磁盘膨胀与状态污染。
Vuepress 文档后台
这是集成于 AyaOS 的 VuePress 内容生产与发布子系统,用于承载文档的日常维护与发布流程。它将写作、目录管理与部署动作收束到同一后台中,减少在编辑器、文件系统与构建环境之间来回切换的成本。
系统一览
信息组织与检索
- 统一入口:文档浏览、编辑、新建、重命名、删除与发布部署集中在同一后台
/docs完成,降低操作分散带来的维护成本。 - 目录树浏览器:以树结构呈现
/docs全库,并默认展开关键层级,便于长期维护与定位内容。 - 目录层级隔离: VuePress本体工程与后台应用在文件系统层级进行分离,避免编辑器逻辑直接侵入内容与构建目录,提升可维护性与安全边界。
- 写作与管理分离:编辑页专注写作,管理页专注目录树与文件操作,避免界面职责混杂。
- 正文与页面元信息同屏维护:支持在编辑页同时维护正文与常用Frontmatter字段,在保证灵活性的同时控制复杂度。
数据一致性与安全边界
- 删除/重命名受控:仅对Markdown文档开放删除与改名,降低误操作风险。
- 关键目录保护:
config.yml配置目录不参与常规列表与操作,避免对工程核心结构造成破坏。
发布与运维
- 一键部署:编辑页支持“仅保存”与“保存并部署”两种模式,一键触发完整发布流程(保存→构建→上传→缓存刷新),将内容变更同步至云端静态托管环境。
- 发布状态反馈:界面明确提示部署结果,部署失败时返回具体报错,便于定位问题。
- 资产文件清理:部署时额外清理云端
/assets下的旧文件,防止失效资源长期堆积。 - 缓存刷新:发布后执行 CDN 目录刷新,保证静态页面及时更新。
文档工具
这是集成于AyaOS的结构化文档工具,用于承载个人长期写作、整理与归档需求。它以“分类→书→分卷→文章”四层层级模型组织内容,并通过编辑/管理解耦、删除兜底与阅读态预渲染,提升长期使用中的可维护性与稳定性。
系统一览
内容组织
- 四层层级: 以分类、书、分卷、文章组织内容,适合长期写作与资料整理。
- 归档机制: 书籍支持归档与取消归档,用于区分当前活跃内容与历史完成内容。
- 直属文章与分卷并存: 文章既可直接挂在书分类下,也可归入分卷下,兼顾更多层级表达。
- 一键发布博文:支持单个文档一键跳转博客后台文章编辑,实现子模块串联。
编辑与管理分离
- 页面职责分离: 正文编辑与目录结构管理分离,降低界面职责混杂。
- 文章独立编辑页: 文章预览与文章编辑页面分离,编辑页提供顶部工具栏,专注写作。
- Markdown预渲染: 文章通过Markdown编写,保存时同步渲染为HTML,为阅读态展示提供直接输出。
- 正文与摘要同步维护: 支持同时维护标题、摘要、正文与所属分卷等关键信息。
数据一致性与安全边界
- 删除优先考虑保内容: 分类与分卷删除时不破坏其下内容。
- 排序稳定性: 统一采用置顶、显式排序与ID兜底的顺序策略,保证展示稳定。
未来演进方向
- 扩展搜索与最近打开文档功能,减少定位最近使用文档操作。
交互扩展:说说
本页记录AyaOS内部的说说应用,用于承载轻量级图文内容的发布与展示,目前作为个人博客主页的动态内容层。它面向“快速发布、即时展示、资源联动管理”的使用场景,补足长文内容之外的轻表达入口。
应用概览
- 后台发布:在AyaOS子模块中完成文本录入与图片上传。
- 前端展示:前端实时展示说说列表,作为主页的动态内容流。
- 媒体支持:支持说说图片上传、优化与展示。
- 渐进式加载:前后端均支持分页拉取,首屏仅加载有限条目,降低初始加载压力。
核心流程
- 草稿创建:新建说说后默认进入
draft状态。 - 内容编辑:支持对既有说说条目进行修改与编辑。
- 资源上传:图片在编辑阶段直接上传至COS对象存储。
- 状态发布:发布时将说说内容与其关联资源统一切换为
active状态,对前端可见。 - 前端加载:前端通过对应API分页拉取聚合后的内容。
- 删除回收:支持说说条目与资源联动删除、单张图片的本地与远端同步删除,以及长期未发布草稿的定时清理。
关键机制(结构设计)
- 数据库设计:文本内容与图片资源分表管理,通过关联关系绑定。
- 状态驱动模型:说说与资源统一使用状态字段(draft/active),明确区分编辑态与发布态。
- 发布原子性:发布行为在同一事务中完成内容状态与资源状态切换,保证前端展示一致性。
- 前后端解耦:前端不持有任何管理权限,仅消费聚合后的只读数据。
- 时间处理策略:系统内部统一以UTC存储与计算时间戳,前端展示阶段按客户端本地时区进行转换。
- 对象存储托管:图片等二进制资源统一存储于对象存储服务,降低主站存储压力。
- 孤儿草稿清理:支持系统级调度定期扫描长期未发布的草稿内容,并自动清理其关联资源。
未来演进方向
- 留言与互动能力
- 更完整的归档与检索能力