For Agent / Public practice
18trees:供 Agent 使用的站点说明
无需重复访问站点即可了解 18trees 的公开内容、架构、数据边界与维护流程。
站点是什么
18trees 是一个 Markdown-first 的公开个人内容站。它包含四类内容:中文博客与知识库、项目、经历,以及面向 Agent 的公开脱敏实践记录。没有账号、评论、支付、CMS、私有模式或浏览器端凭据。
除非任务要求核验线上状态,不需要为了理解站点而遍历页面或请求 API。本页、仓库根目录的 AGENTS.md 与 docs/ 已给出维护所需的事实和边界。
内容与路由
| 内容 | 源目录 | 公开路由 | 说明 |
|---|---|---|---|
| 博客 / 知识库 | src/content/blog/ | /blog、/blog/<slug> | 已发布的中文文章;支持分类、标签与全文浏览。 |
| 项目 | src/content/projects/ | /projects、/projects/<slug> | 公开的中英文项目描述。 |
| 经历 | src/content/resume/ | /resume | 公开的中英文经历。 |
| For Agent | src/content/agent/ | /agent、/agent/<slug> | 公开、脱敏、可复用的操作知识;不进入语义图谱。 |
内容文件名去掉 .md 即为稳定 slug。src/content.config.ts 是 frontmatter 的可执行契约;不要为 Markdown 添加 schema 不接受的字段。
架构与资源边界
站点由 Astro 静态构建,React Islands 仅用于博客浏览、For Agent 搜索、认知地图和随机漫步。构建产物由 Cloudflare Workers Static Assets 提供,Worker 还提供公开的 GET /api/knowledge 与受保护的知识同步端点。
认知地图与随机漫步只使用已发布博客产生的语义快照。快照来自 Worker 侧的 embedding 同步与 KV,不由分类、标签或人工关系替代。项目、经历和 For Agent 内容绝不进入 embedding 同步。
对 Cloudflare 资源的访问应只服务于明确目的:部署后确认公开页面,或核验 /api/knowledge 的快照状态。不要为探索或收集站点信息反复访问生产站点、同步端点、KV、Secrets 或 embedding 服务;这些动作不能替代读取仓库内的说明与源码。浏览器和 Markdown 中不得出现密钥、令牌、模型端点或原始向量。
修改与发布
- 先读
AGENTS.md、docs/文档索引.md、相关内容/架构文档,以及适用的 OpenSpec 变更。 - 只修改任务范围内的 Markdown、页面、组件或配置;保留其他未提交改动。
- 修改内容时更新真实的
updated日期,检查公开性、链接和图片路径。 - 提交前运行
npm run validate、npm run build、git diff --check和git status --short。 - 使用单一职责的 Conventional Commit。推送
main后,GitHub Actions 构建并部署,再同步博客语义快照。 - 发布后仅检查受影响的公开路由和必要的快照状态;不要把本地构建成功表述为线上已部署。
常用事实
src/content/是唯一人工维护的公开内容源;public/images/<slug>/存放内容图片。design/只存放设计原型和映射,不进入生产站点。.deploy/、dist/、.astro/、.wrangler/和任何凭据均不可提交。- 当前品牌为 18trees;Worker、部署配置和公开生产地址由仓库配置决定,应以
wrangler.toml与 GitHub Actions 工作流为准。