EmDash:内容管理系统的新视角
EmDash: A Fresh Take on CMS

原始链接: https://maciekpalmowski.dev/blog/emdash-a-fresh-take-on-cms/

Cloudflare 的 EmDash 是一款全新的、完全开源的 CMS,使用 TypeScript 和 Astro 6.0 构建,旨在成为 WordPress 的现代重新构想。它利用 Cloudflare Workers(或 Node.js)上的无服务器架构,SQLite 用于本地开发,Cloudflare D1 用于生产环境,将内容存储为结构化 JSON。 主要特性包括强大的安全模型,沙盒插件需要明确的访问权限,以及深度集成的 AI 优先方法,将 AI 代理视为核心用户。该系统拥有更简洁的数据库结构和熟悉的、Gutenberg 之前的风格管理面板,使用 TinyMCE。 然而,作者质疑它的必要性,更喜欢使用 markdown 文件进行更简单的静态站点生成流程。虽然 EmDash 在开发者体验和架构优雅性方面表现出色,但它并没有直接解决 WordPress 常见的痛点,例如性能、托管成本或插件膨胀。 最终,EmDash 的成功取决于其对 AI 辅助工作流程和以开发者为中心的功能的关注是否能引起更广泛受众的共鸣,而不仅仅是那些已经熟悉现代 Web 开发实践的人。这是一个很有前景的项目,但仍处于早期开发阶段。

最近的 Hacker News 讨论批评了一篇关于 EmDash 的博文,EmDash 是一种新型 CMS,定位为“AI 优先”。主要批评在于该文章写得不好,且感觉是生成的,除了 LLM 对代码的描述外,几乎没有实质内容。 评论者质疑 EmDash 是否解决了真正的问题,认为它更多的是炒作而非创新。一位用户引用了 Joost 的观点,强调 EmDash 的 AI 代理构建方法,但其他人仍然持怀疑态度。 讨论还涉及新技术更广泛的吸引力,一些人认为参与是出于想要加入的愿望。有人将 EmDash 与 Astro 进行比较,但认为这令人困惑,因为 Astro 只是 EmDash 构建的基础框架。最后,一位评论员抱怨缺乏历史背景,希望文章能将 EmDash 的发布与 WordPress 的早期阶段进行比较。
相关文章

原文

It’s April 1st. A new CMS drops, built by Cloudflare, powered by Astro, pitched as a modern spiritual successor to WordPress. Sure. Very funny.

Except it wasn’t a joke. EmDash is real, and of course I had to take a look. Two posts got me started: Cloudflare’s own announcement and Joost’s take.

What is it?

EmDash is a fully open source CMS built on TypeScript and Astro 6.0. It runs serverless on Cloudflare Workers (or any Node.js server), uses SQLite locally and Cloudflare D1 in production, and stores content as portable text (structured JSON) instead of raw HTML.

The pitch? It’s what WordPress would look like if you built it today, from scratch, without 20 years of legacy decisions weighing it down.

Things I actually like

The security model is genuinely clever. In WordPress, plugins can do almost anything they want. That’s the root of a huge number of security issues, and I’ve written about this before. EmDash plugins run in sandboxed isolates and have to explicitly declare what they need access to, similar to how OAuth works. Honestly the most interesting thing about the whole project.

The DB structure seems solid. I had a look at the SQLite tables and I liked what I saw. Post types get their own separate tables instead of everything being crammed into a handful of generic ones. If you’ve ever debugged a WordPress database, you know how refreshing that is.

It’s AI-first in a real way. There’s an MCP server, a JSON CLI, and direct agent access baked in. Joost put it well:

It’s not a CMS with AI features bolted on. It’s a CMS where AI agents are first-class builders.

That framing is accurate. EmDash treats agents as actual users of the system, with structured content and typed schemas they can introspect. It’s a real bet, built in from the start. Whether it pays off depends on where AI-assisted workflows actually land, but it’s the part of EmDash I find hardest to dismiss.

The Astro core. Using Astro for themes instead of PHP templates and functions.php is a nice move. Familiar to modern developers and no more random PHP logic sprinkled through your theme files. That said, Astro templates and PHP templates aren’t that different conceptually. You can still write messy, hard-to-maintain code in either. The real win is the ecosystem and tooling around it, not some magical safety guarantee.

And yes, it brings back some pre-Gutenberg nostalgia. The admin panel has that old tinyMCE feel. The way themes work reminds me of building WordPress themes before Full Site Editing. Template files, the_content(), a straightforward loop. I get the appeal. But I think dropping a block editor entirely is a mistake. Gutenberg has real problems, but the idea of structured, visual content editing isn’t one of them. Matt Cromwell asked it straight: “Is the future really Astro + TinyMCE? Really?” And honestly, I think he has a point.

Why I won’t use it

I migrated to Astro partly to get away from the CMS.

My blog is markdown files. No database, no admin panel, no content layer that can go wrong. I write a post, push it, done. I’ve written a bit about different approaches to content management if you want more context on why this matters to me.

EmDash is well built, but it means running a server, paying for edge compute, and adding a layer between me and my content. That’s the trade-off I already decided wasn’t worth it.

And I think more people are quietly arriving at the same conclusion. Markdown files, a static site generator, Git for version control. No CMS required. For personal blogs and small sites, it’s often just enough.

Does it solve the right problem?

I’m not totally sure EmDash addresses the main frustrations people have with WordPress. Performance, hosting costs, plugin bloat. Those are the things that actually make people look elsewhere. EmDash doesn’t really touch those directly.

What it does tackle is the developer experience, the security model, and how AI fits into content management. But the person frustrated with WordPress is usually frustrated about slow hosting, expensive plugins, or too much maintenance overhead. EmDash doesn’t make that cheaper or simpler. It makes it more elegant for developers who care about architecture. That’s a smaller audience than the pitch suggests.

Still worth watching

Astro itself wasn’t an obvious success from day one. It took time, a strong community, and a lot of iteration to become what it is today. EmDash is early and rough in places. But it’s doing something other than just wrapping existing tools in a nicer UI.

I’ll keep an eye on it. And I’m hoping it earns the community it needs to grow.

联系我们 contact @ memedata.com