Repolode
emdash-cms

emdash-cms/emdash

基于 Astro 构建的全栈 TypeScript CMS,在无服务器环境中提供类 WordPress 的扩展性与后台体验,插件运行于沙箱中。

可替代:WordPress

Star
13,789
Fork
1,313
未关闭 Issue
318
最近提交
38分钟前

这是什么?

EmDash 是一个用 TypeScript 编写、以 Astro 集成形式提供的内容管理系统。它面向博客、营销页面和作品集等与 WordPress 相同的场景,在 Astro 配置中添加后即可获得后台管理面板、REST API、身份认证、媒体库和插件系统。

其核心差异在于插件隔离。每个插件需声明能力清单(如 content:read、email:send),在 Cloudflare 上运行于沙箱化的 Worker 隔离环境,在 Node.js 上则运行于 workerd 子进程中。内容以 Portable Text 这种结构化 JSON 格式存储,而非 HTML。内容类型定义在数据库中,每个集合对应一张 SQL 表,并可从实时 schema 生成 TypeScript 类型。

EmDash 可部署在 Cloudflare(D1、R2、Workers)或基于 SQLite 的 Node.js 服务器上,通过数据库和存储的抽象层还支持 Turso、PostgreSQL、AWS S3 和本地文件。项目提供 CLI、面向编码助手的 agent skills 以及内置 MCP 服务器,并能导入 WordPress WXR 导出文件和 REST API 数据。

核心功能

  • 01插件在带能力声明的沙箱 Worker 隔离环境中运行。
  • 02内容以 Portable Text 结构化 JSON 存储,而非 HTML。
  • 03内容类型定义在数据库中,可通过后台界面修改。
  • 04以 Passkey 为主的身份认证,支持 OAuth 和魔法链接,并提供基于角色的权限控制。
  • 05内置 MCP 服务器和 CLI,便于 AI 工具与程序化站点管理。
  • 06可从 WordPress 导出文件和 API 导入文章、页面、媒体和分类法。

适用场景

  • 将现有 WordPress 博客或营销网站迁移到无服务器的 Astro 技术栈。
  • 基于 Cloudflare 的 D1 和 R2 构建内容驱动型网站。
  • 从同一数据源把结构化内容发布到网页、移动应用或邮件。
  • 通过 MCP 让 AI 助手读取和管理站点内容。

快速上手

  1. 1

    使用脚手架创建新的 EmDash 站点

    npm create emdash@latest
  2. 2

    可选:使用部署按钮直接部署到你的 Cloudflare 账户

使用前须知

  • 官方插件及插件工具仍处于 0.x 版本,次要版本之间可能发生变化。
  • 完整运行在 Cloudflare 上是支持最好的方式,其他平台虽可移植但并非重点。

标签

常见问题

emdash 是什么?
基于 Astro 构建的全栈 TypeScript CMS,在无服务器环境中提供类 WordPress 的扩展性与后台体验,插件运行于沙箱中。 EmDash 是一个用 TypeScript 编写、以 Astro 集成形式提供的内容管理系统。它面向博客、营销页面和作品集等与 WordPress 相同的场景,在 Astro 配置中添加后即可获得后台管理面板、REST API、身份认证、媒体库和插件系统。
emdash 可以免费使用吗?用的什么许可证?
emdash 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
emdash 还在维护吗?
活跃维护中。emdash 最近一次提交是在 2026年10月19日。
emdash 适合用来做什么?
将现有 WordPress 博客或营销网站迁移到无服务器的 Astro 技术栈。 基于 Cloudflare 的 D1 和 R2 构建内容驱动型网站。 从同一数据源把结构化内容发布到网页、移动应用或邮件。 通过 MCP 让 AI 助手读取和管理站点内容。
emdash 怎么安装和运行?
使用脚手架创建新的 EmDash 站点: npm create emdash@latest 可选:使用部署按钮直接部署到你的 Cloudflare 账户
在哪里获取 emdash?
源代码和安装说明在 GitHub 上:https://github.com/emdash-cms/emdash

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目