跳到正文
WC.

无服务端的跟读音频

1 分钟阅读架构
#static#audio#nextjs#infrastructure

TTSCDN TTS API key

跟读音频作为构建时产物:一次生成,从边缘分发。

writing project MDX MP3 JSON manifest public/audio/ git R2 bucket TTS /audio/ R2 base URLmanifest manifest

从 MDX 到生成的音频与 manifest,再经本地或 R2 投递到静态站的流程。

/audio/ AUDIO_SOURCE=r2 R2_AUDIO_PUBLIC_BASE_URL bucket URL URL manifest URL HTML MP3 R2 bucket CORS fetch JSON

pnpm audio:generate pnpm audio:publish manifest R2 metadata hash CDN env CI TTS

edge + manifest

继续阅读

越来越多人倾向于在服务端动态渲染一切。Edge 来了之后,说法是动态渲染几乎免费:在 edge 跑个函数、毫秒级返回 HTML,用户无感。那还折腾静态生成干什么? 但物理规律还在。再快的 edge function 也快不过从 CDN…

1 分钟阅读架构
nextjsstaticperformance

「在生产环境出错」是默认状态。坏链照样上线,主题描述里有个 typo 没人发现,frontmatter 少必填字段 build 照样跑——直到某页渲染错或 feed 崩了。错误在用户打开页面或你几周后才发现时出现,那时问题已经上线、被缓存,更难回溯。 改成在构建时失败。把校验当成内容流水线的一等公民。有问题就不让…

1 分钟阅读架构
validationstatic-siteszod

常有人问 wchen.ai 怎么做多语言、怎么在英文、西语和中文之间保持同步而不靠复制粘贴。简短回答:站点围绕一套清晰的内容模型来建,两个 agent skill——website-content 和 content-translation——规定内容放在哪、如何扩散。架构负责重活,两个 skill…

1 分钟阅读开发者工具
i18nnextjsskills