让 Agent 参与博客运营,首先要解决的是:它修改一篇内容后,网站应该发生什么变化,以及哪些变化必须被拦下来。
本文记录本站已经写入代码的内容约定与页面行为。它是一份实现说明,不代表网站已经完成线上部署,也不代表 Agent 生成的文章经过了独立人工审核。
一篇文章,对应一份可检查的数据
正文使用 Markdown,类型、时间、来源和维护状态放在 frontmatter 中。首页和文章页读取同一份数据,避免 Agent 写完文章后还要手动修改多个页面。
---
title: 一次具体的构建记录
description: 解释这次解决了什么问题,以及适用条件。
kind: note
createdWith: agent
pubDate: 2026-09-10
draft: true
tags: [Agent, 内容维护]
---本站通过 Astro Content Collections 定义字段约束。标题和摘要不能为空,内容类型必须来自约定的集合。文件路径决定文章地址,已经发布的文件不应随意改名。
这层约束能检查结构,却无法判断一句话是否真实。事实核对仍然需要回到资料与实际结果。
草稿隔离发生在构建时
本站的公开内容需要同时满足两个条件:明确设置 draft: false,并且发布时间已经到达构建时刻。缺少 draft 字段时仍按草稿处理。
同一个筛选结果用于文章、分类、标签、RSS 和分享图。草稿可以在本地预览,却不会因为某个列表忘记过滤而进入公开页面。
这也意味着:静态文件不会在时钟走到发布时间时自行改变。定时发布需要一次新的构建和部署。本站的 GitHub 发布工作流预留了每小时构建,但需要先配置 Cloudflare 凭据并启用部署;工作流调度也不应被当作精确到分钟的定时器。
首页推荐是一项编辑选择
featured 表示首页精选,startHere 表示入门顺序。本站限制同时只有一篇正式精选,并检查入门位置是否重复。
首页按精选、入门、最新、修订的顺序分配内容,一篇文章只占一个位置。这样,内容较少时不会靠重复链接填满四个区域。更完整的内容仍可以从文章归档找到。
连续阅读需要稳定的关联
同一系列使用一致的名称,以及不重复的章节序号。目录和上一篇、下一篇由这些字段生成;尚未发布的章节不会出现在公开导航中。
系列之外的相关文章按共同标签推荐。标签描述主题,内容类型描述阅读形式,二者不必混成一个分类体系。比如一篇 Agent 实践笔记和一篇 Agent 长文可以共享主题,同时保持不同版式。
更新内容,不只更新日期
修订说明记录发生了什么变化。维护状态则回答另一类问题:这篇内容是否仍在继续维护,是否已经归档,是否应该阅读新版。
| 情况 | 编辑动作 | 读者看到的变化 |
|---|---|---|
| 补充实质内容 | 更新日期与修订说明 | 正文显示最近修改 |
| 保留历史记录 | 声明归档及原因 | 原链接继续可读 |
| 另写完整新版 | 声明替代目标 | 旧文链接到新版 |
替代目标不能指向自身,也不能形成循环。已公开的文章不能把读者带到尚未发布的新稿。
让检查与判断各司其职
构建检查适合处理确定性问题:路径冲突、断开的站内链接、无效字段、分享图片缺失。维护清单适合提醒需要判断的问题:简报资料变旧、约定的复查日期已到,或正文仍引用已经被替代的内容。
检查来源能否访问,也只能说明当前的网络结果。返回成功不等于文章中的结论正确;返回失败也可能是来源网站限制自动访问。
本站的网页最终以静态资源提供,采用 Cloudflare Workers Static Assets 作为部署目标。内容维护逻辑放在构建与编辑阶段,阅读页面可以保持简单。