Colophon

本站是怎么建成的

这个网站从内容管线、问答助手到部署脚本都是自己搭的。这一页记录它的工程构成,供感兴趣的同学参考。

框架与内容

  • Next.js 16 App Router + TypeScript + Tailwind,全站静态优先(SSG / ISR)
  • 内容 MDX-first:content/notes/*.mdx 即文章,Git 提交即发布
  • 自管编译链:shiki 双主题代码高亮、标题锚点、目录从渲染文本生成

Ask Doit 问答

  • MiniMax-M3 走 OpenAI 兼容协议,站点侧零 SDK 依赖
  • 未配 Key 或模型故障时自动降级本地知识规则,站点不瘫
  • 四层防护:输入预检 → 提示词约束 → 输出整形(修断口/压长度/查隐私)→ 数据隔离
  • 流式响应先缓冲全量、过校验再放行,不让流式绕过防线

部署与运维

  • 阿里云 ECS · nginx · systemd,standalone 产物原子切流(软链切换,秒级回滚)
  • 站点域名在构建期注入(canonical / RSS / sitemap 随构建固化)
  • 不使用容器:单机单应用、无中间件,tar + systemd 更直观好排查

质量门禁

  • eslint + tsc + 52 项 node:test(渲染层用 react-dom/server 断言真实 HTML)
  • 内容门禁:日期必填、状态受控、来源明确、性能预算(public 媒体体积上限)
  • 冒烟校验自指地址来源(canonical / RSS / sitemap 不许指向错误域名)
  • 对抗测试:提示注入与隐私诱导的离线判定器 + 真模型红队基线

源码与内容都在同一个仓库里以 Git 管理;页面上每个对外展示的数字都来自同一个数据源, 改一处全站同步。想了解某一块的细节,直接问右下角的 Ask Doit。