← 回到报告集合
Infrastructure Report · 2026-05-11

Report 从网页变成系统

今天真正搭起来的是一条完整生产线:写报告、归档、托管、媒体存储、边缘反代、独立域名和可复用 Skill。以后 V 做任何网页 / H5 / 汇报,都有固定轨道可走。

1固定 report 站点
2自有域名
后续 report 可追加

一句话结论

我们不只是做了一个网页,而是把“总结汇报 H5”产品化成了 Tianyi 的个人报告发布系统:内容页在 Vercel,媒体在 Supabase,访问经 Cloudflare,自有域名统一出口,流程由 report-web skill 固化。

Timeline

今天搭好的关键节点

Report 项目独立出来

把总结汇报 H5 从临时页面变成独立 Next.js 项目 report,并部署到 Vercel report 项目,避免误发到 ai-image-editor。

Next.jsVercelproject baseline

从单页变成报告站

建立 /report 集合页和 /report/<date-slug> 子页面规则。以后每份 report 独立存在,不再互相顶替。

archivesubpagesrouting

媒体迁到 Supabase Storage

创建 report-media bucket,把 9 个图片/视频文件上传到 Supabase Storage,页面改用 public URL,Vercel 上传包从约 41MB 降到 KB 级。

Supabase Storagemedia pipelinebundle shrink

Report 流程沉淀成 Skill

创建 report-web Agent Skill,固化:收集材料、上传媒体、建子页面、更新集合页、build、deploy、verify、写 memory。

Agent Skillworkflowmemory

自有域名上线

把 report 站点迁到 report.tianyi.live,Vercel fallback 保留为备用入口。

custom domainGoDaddyVercel DNS

Cloudflare 媒体反代上线

tianyi.live DNS 接入 Cloudflare,部署 report-media-proxy Worker,media.tianyi.live 反代 Supabase Storage 并加缓存。

Cloudflare Workermedia.tianyi.livecache
Architecture

现在的系统结构

Report Sitehttps://report.tianyi.live/report

Vercel 托管 Next.js 页面,/report 是集合页,子页面保存每次汇报。

Media URLhttps://media.tianyi.live/report-media/...

页面使用统一媒体域名,不直接暴露 Supabase 长 URL。

Edge ProxyCloudflare Worker: report-media-proxy

缓存并转发图片/视频请求,未来可替换源站而不改页面。

Origin StorageSupabase Storage: report-media

保存 report 媒体文件,路径按 report slug 分目录。

Workflow Skill/root/.agents/skills/report-web

以后做网页/H5/汇报默认走这个流程。

Operating Rules

之后所有 report 都按这个来

  • 新 report 永远建独立子页面:/report/<date-slug>。
  • /report 是集合页,每次新增都追加卡片和时间。
  • 图片/视频先上传 Supabase Storage,再通过 media.tianyi.live 引用。
  • Vercel 只部署代码和轻资产,不打包大视频。
  • Cloudflare / Supabase / Vercel token 只放本地 .env.local,绝不进前端和仓库。
  • 每次部署后必须验证:集合页、子页面、至少一个媒体 URL 都 HTTP 200。

为什么这件事重要

这条链路把一次性的“帮我做个 H5”变成了可重复服务。以后 V 可以从飞书聊天、Makaron 项目、图片视频产物、工程日志里提炼内容,直接发布成带时间、媒体、复盘和链接的网页报告。这就是 Tianyi 的 One Man Studio 操作层:工作发生一次,资产沉淀一份。