← 返回日志

Astro架构网站,Keystatic 或 Decap CMS 怎么选?.

配合 Vercel 部署 Astro 架构的网站,选择 Keystatic 还是 Decap CMS,核心取决于你对技术现代感(TypeScript 生态)与老牌稳定性之间的权衡。

目前(2026年),Git-based(基于 Git 的)CMS 市场发生了很多变化。直接回答你的问题,我们先对这两者进行深度横评,再盘点当前更具竞争力的其他类似管理系统。

一、 Keystatic vs Decap CMS:直接对决

这两者都是 Git-based CMS(内容即文件,直接以 MDX/JSON/YAML 形式存在你的 GitHub 仓库里,Vercel 监听并触发静态生成)。

1. Keystatic (推荐 ⭐️⭐️⭐️⭐️⭐️)

由 Thinkmill 团队开发,专门为 modern Web(Astro, Next.js)设计的现代化 Git 核心管理系统。

  • 优势
    • TypeScript 原生驱动:你可以在 Astro 项目里直接用 TypeScript 定义 Schema(内容模型),类型安全,且完美对应 Astro 的 Content Collections(内容集合)。
    • 强大的富文本(Markdoc/MDX):内置类似 Notion 的块级编辑器,支持插入自定义的 Astro 组件(Block Fields),这在编写排版要求高的文章时极其强大。
    • 极佳的本地开发体验(Local-first):本地跑开发服务器时,后台直接读写本地磁盘文件,无需联网或通过 GitHub API。
  • 劣势
    • 生产环境需要配置 Keystatic Cloud 或管理 GitHub App 授权,来处理非技术人员在网页端的登录鉴权。
  • 适用场景:开发者主导、内容模型中等复杂的现代 Astro 项目。

2. Decap CMS (原 Netlify CMS,推荐 ⭐️⭐️)

从 Netlify 独立出来交由社区维护的老牌开源项目。

  • 优势
    • 极其轻量与纯粹:纯前端路由,只需要一个 config.yml 配置文件和一个 index.html 就能在 Vercel 上跑起来,通过 GitHub OAuth 就能直接 commit。
  • 劣势
    • 项目逐渐边缘化:近几年社区维护速度明显放缓,UI 界面充满陈旧的时代感。
    • 配置痛苦:庞大的 YAML 配置文件在字段复杂时非常难以维护,且缺乏类型提示。
    • 预览配置繁琐:想在后台实时预览 Astro 的渲染效果极其麻烦,需要编写 React 渲染器。
  • 适用场景:极简的个人博客,或是只希望改改基本文本、不需要复杂组件交互的遗留项目。

🎯 结论:在这两者中,毫无疑问首选 Keystatic。它与 Astro 的融合度高出数个时代。

二、 2026年还有哪些更佳的类似系统?

在现代 Jamstack 架构中,除了上述两款,还有几款在 Astro 生态中呼声极高的产品:

3. Sveltia CMS (Decap 的完美替代品 ⭐️⭐️⭐️⭐️)

这是针对 Decap CMS 的一个轻量级开源平替项目。它甚至可以直接读取你现有的 Decap config.yml 配置

  • 优劣势:它完全重写了界面,不仅颜值极高,而且解决了 Decap 在 Vercel 部署时的各种鉴权痛点。它是纯客户端运行的,不依赖任何第三方云服务。
  • 适用场景:如果你喜欢 Decap 的零服务器、纯 Git 概念,但讨厌它的老旧 UI 和繁琐体验,用 Sveltia 是最佳选择。

4. TinaCMS (真正的可视化 Git CMS ⭐️⭐️⭐️⭐️)

  • 优劣势:它不仅是 Git-backed,最强的地方在于支持实时可视化编辑(Visual Editing)。运营人员可以直接在右侧的网页预览中点击文字、图片进行修改,左侧自动生成对应的 MDX 变更。
  • 局限:对 React 生态更友好,在纯 Astro 中使用需要引入其特定的 GraphQL 客户端查询数据,配置相对偏重,且免费额度有一定限制(超出后需付费)。
  • 适用场景:完全不懂技术的非技术人员(如纯市场运营人员)负责更新内容,需要所见即所得。

5. StudioCMS (Astro 原生专属 CMS ⭐️⭐️⭐️⭐️)

  • 优劣势:这是专门为 Astro 开发的、全栈运行在 Astro 内部的独立 CMS 管理后台。它不完全走 Git 路线,而是通过 Astro 的 Astro DB(或 Drizzle ORM、SQLite)进行数据存储,完美利用了 Astro 的 SSR 能力。
  • 适用场景:重度 Astro 用户,希望全栈架构高度统一,不想把文章混合在 Git 提交历史里的项目。

三、 选型决策矩阵(各有什么优劣势、对应什么场景)

为了让你更直观地根据项目属性进行选择,可以参考以下场景归类:

CMS 名称数据存储位置核心优势最大劣势最佳适用场景
KeystaticGit 仓库 (MDX/JSON)TS 原生定义、Notion 级富文本、完美适配 Astro需要配置生产环境鉴权独立站、高频更新的个人/团队博客、技术文档库
Sveltia CMSGit 仓库 (Markdown)零配置托管、开箱即用、界面现代、兼容 Decap复杂组件和多表关联能力偏弱小型企业官网、个人单页 (Landing Page)
TinaCMSGit 仓库 + 缓存层所见即所得的可视化拖拽编辑配置成本高,大团队需要付费市场部/运营主导的商业营销网站
StudioCMS数据库 (SQL/Astro DB)Astro 社区原生,不污染 Git 历史无法享受纯文件的 Git 历史追溯需要频繁动态交互、有权限管理的复杂 Web 应用

💡 针对 Vercel + Astro 的落地建议:

如果你追求极简、现代、代码类型安全,并且日常还会借助 AI(如 Cline、Cursor、AI Studio 脚本)直接读取和修改你目录下的 src/content/ 静态文件,强烈建议直接选用 Keystatic。这种“代码即内容”的架构,配合 Vercel 的边缘网络(Edge)构建,能把 Astro 的静态性能发挥到极致。

相关文章 / 延续阅读 →