惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Webroot Blog
Webroot Blog
T
Troy Hunt's Blog
S
Secure Thoughts
S
Security @ Cisco Blogs
S
Security Affairs
Forbes - Security
Forbes - Security
W
WeLiveSecurity
H
Hacker News: Front Page
T
Threatpost
Google Online Security Blog
Google Online Security Blog
S
Schneier on Security
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - Franky
腾讯CDC
IT之家
IT之家
博客园 - 聂微东
L
LINUX DO - 最新话题
罗磊的独立博客
Hacker News - Newest:
Hacker News - Newest: "LLM"
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)
Hacker News: Ask HN
Hacker News: Ask HN
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
C
CERT Recently Published Vulnerability Notes
Know Your Adversary
Know Your Adversary
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cisco Talos Blog
Cisco Talos Blog
S
SegmentFault 最新的问题
酷 壳 – CoolShell
酷 壳 – CoolShell
Hugging Face - Blog
Hugging Face - Blog
L
LINUX DO - 热门话题
美团技术团队
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
AI
AI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Jina AI
Jina AI
Help Net Security
Help Net Security
N
News | PayPal Newsroom
月光博客
月光博客
Spread Privacy
Spread Privacy
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
N
News and Events Feed by Topic

Halo - 强大易用的开源建站工具

如何选择最佳网站搭建方案?2026年12款建站工具对比测评! Halo 和 WordPress 对比:开源 CMS 怎么选? Halo 和 Ghost 对比:博客、简报与会员订阅怎么选? Halo 和 Typecho 对比:现代 CMS 还是轻量博客? Halo 和 Hugo 对比:动态 CMS 还是静态网站生成器? Halo 和 Hexo 对比:动态 CMS 还是静态博客? Halo 和 Strapi 对比:全栈建站平台还是 Headless CMS? 在群晖 NAS 上用 Docker 部署 Halo 用 Obsidian 写文章,一键发布到 Halo 域名是什么?新手注册域名前要知道的 7 件事 虚拟主机、VPS 和云服务器有什么区别?建站服务器怎么选 建站需要准备什么?域名、服务器、备案和 SSL 的关系 域名解析:A 记录、CNAME、MX、TXT 分别怎么用 网站备案是什么?个人备案和企业备案有什么不同 SSL 证书和 HTTPS 是什么?免费证书够用吗 CDN 是什么?网站什么时候需要 CDN robots.txt 是什么?新手建站常见配置误区 Sitemap 是什么?它对网站收录有什么作用 SEO 写作基础:标题、描述、URL 和内链怎么做 301 和 302 重定向有什么区别?网站改版怎么降低排名风险 Google Analytics、Umami、Rybbit:流量统计工具怎么选 网站图片优化指南:格式、压缩和懒加载怎么做 网站安全基础:建站后必须做的 6 件事 Halo 如何定时发布文章 Halo 如何接入 Bing Webmaster Tools 支持优惠券和折扣码,Halo 2.25 发布 AI Foundation:给 Halo 插件生态一层 AI 能力底座 Halo 应用市场已支持开发者入驻和创建应用 Halo 如何接入 Google Search Console 如何自动备份 Halo 网站 让 AI Agents 管理 Halo 网站内容 支持商城小程序,Halo 2.24 发布 如何在本地快速体验 Halo 使用 Halo CLI + GitHub Actions 持续部署主题 使用页面缓存插件优化 Halo 网站速度 阿里云 ESA 接入 Halo 配置指南 在本地搭建 Halo 插件开发环境 七牛云 DCDN 接入 Halo 配置指南 如何一键更新 Halo 的主题和插件 又拍云 CDN 接入 Halo 配置指南 腾讯云 EdgeOne 接入 Halo 配置指南 Halo 网站加载慢?8 种原因排查与优化方法 Halo 导入 Word 文档教程:批量导入并保留图片 主题开发技巧:为 Halo 网站添加一个知识库样式的页面 Rybbit 接入 Halo 教程:开源隐私友好的流量分析工具 Umami 接入 Halo 教程:自托管网站流量统计 在 Halo 中使用 Markdown 写作的 6 种方式 如何从社区版切换到 Halo 付费版
Halo 和 EmDash 对比:成熟 CMS 还是 Cloudflare 新方案?
Ryan Wang · 2026-07-10 · via Halo - 强大易用的开源建站工具

2026 年 4 月,Cloudflare 发布了 EmDash,一款被官方称为「WordPress 精神继任者」的开源 CMS。 凭借 TypeScript + Astro + 无服务器架构的组合,以及 Cloudflare 的背书,EmDash 在开发者社区引起了大量讨论。Halo 在 2018 年就以 Java + Spring Boot 的方式开始了「现代 CMS」的探索。这两个项目都是对 WordPress 模式的回应,但走的是两条截然不同的技术路线。

本文试图客观对比这两款新一代开源 CMS。


两个产品,一个目标

EmDash

2026 年 4 月以 v0.1.0 开发者预览版启动,TypeScript 编写,MIT 协议,Cloudflare 推出的开源项目。技术架构以 Astro 为框架、Cloudflare Workers / Node.js 为运行时。核心设计理念:无服务器(scale-to-zero)、插件沙箱隔离、AI 原生。当前仍处 beta preview 阶段,版本迭代很快,尚不能按成熟 CMS 评估。

Halo

2018 年开源,Java(Spring Boot)编写,GPL-3.0 协议。覆盖博客、知识库、企业官网、在线商城四种场景。累计发布 200+ 版本,当前稳定版为 2.25.x 系列。成熟的生产级系统。

选 Halo,如果你:

  • 需要一个稳定、成熟的系统,可以立即用于生产环境
  • 偏好 Java + Spring Boot 技术栈
  • 需要内置全文搜索、备份恢复、主题系统等开箱即用的完整功能
  • 面向中国市场,需要微信支付、支付宝等本土化能力
  • 需要通过应用市场发现和安装主题与插件
  • 想要 Docker 一键部署的简单运维体验

选 EmDash(未来),如果你:

  • 偏好 TypeScript / Node.js 生态,想要用 Astro 构建前端
  • 看重插件安全隔离——在 Cloudflare 环境中,插件可以运行在独立 Worker 沙箱中
  • 已经在 Cloudflare 生态中(Workers、D1、R2),希望无缝集成
  • 需要 AI Agent 可编程管理的能力(MCP 服务器、Agent Skills)
  • 愿意接受一个早期项目,参与社区建设
  • 对 x402 等新型内容付费实验感兴趣

功能逐项对比

维度 Halo EmDash
成熟度 生产级(v2.25.x,200+ 版本) beta preview(从 v0.1.0 起快速迭代)
许可证 GPL-3.0 MIT
后端技术栈 Java / Spring Boot TypeScript / Astro
运行时 JVM(传统服务器) Cloudflare Workers / Node.js(无服务器)
前端渲染 Thymeleaf 模板引擎(服务端渲染) Astro(SSG + SSR 混合)
数据库 PostgreSQL、MySQL、MariaDB、H2 Cloudflare D1 / SQLite,也可适配 Turso、PostgreSQL 等
部署方式 Docker / Docker Compose Cloudflare Workers / Docker / Node.js
内容模型 固定(文章/页面/分类/标签) 自定义(管理面板中定义 Schema)
编辑器 富文本编辑器 富文本编辑器
多用户 ✅ RBAC 权限体系 ✅ 角色制(管理员/编辑/作者/贡献者)
认证方式 用户名/密码 + 两步验证 Passkey 默认,支持 SSO 插件
全文搜索 内置 Lucene 搜索引擎,可配合搜索组件扩展主题端体验 内置 FTS5 搜索能力(生态仍早期)
备份恢复 内置备份恢复 ❌ 取决于部署环境
插件机制 JVM 类加载器 + 动态加载/卸载 Cloudflare 环境下沙箱化 Dynamic Workers;Node.js 环境为进程内安全模式
插件安全 独立类加载器隔离 Cloudflare Workers 隔离(Node.js 自托管时不具备同等隔离)
主题系统 应用市场 + Thymeleaf 模板 标准 Astro 项目(页面/布局/组件/样式)
主题市场 官方应用市场 去中心化(能力声明 = 信任),生态尚未建立
AI 能力 官方 AI Foundation 插件 原生 Agent Skills + CLI + MCP 服务器
内容付费 商城版(商品/订单/支付) x402 等实验性内容付费方向
SEO 结构化配置 + 模板渲染 Astro 原生优势(静态预渲染 + SSR)
多语言 管理端原生多语言 Lingui 国际化框架
WordPress 迁移 通过站点迁移插件支持 ✅ 原生 WXR 导入 + Exporter 插件
托管方式 自托管 部署到 Cloudflare Workers / 自托管 Node.js
运维负担 中等(Docker/数据库管理) 低(部署到 Cloudflare Workers 时)/ 中等(自托管)
适用场景 博客、知识库、企业官网、商城 内容驱动网站、Blog、文档站

架构对比:服务器 vs 边缘

这是最根本的分歧

Halo 采用传统的服务端架构:一个 Java 应用运行在 VPS 上,接收 HTTP 请求,查询数据库,通过模板引擎渲染 HTML 返回给访客。这是 WordPress 熟悉的模式,也是大多数 CMS 的模式。优势在于:成熟、可控、所有的数据和逻辑都在自己的服务器上。

EmDash 采用无服务器边缘架构:应用运行在 Cloudflare 全球网络的 v8 隔离环境(Workers)中,访客请求由最近的边缘节点处理。关键特征:

  • Scale-to-zero:没有请求时,不消耗计算资源(零闲置成本)
  • 全球就近响应:内容通过 Cloudflare 边缘网络分发,延迟极低
  • 插件沙箱隔离:在 Cloudflare 部署下,每个插件在独立的 Dynamic Worker 中运行,无法直接访问数据库、文件系统或网络

Halo 的架构对于习惯了传统服务端的团队来说更直观;EmDash 的架构更适合已经生活在 Cloudflare 生态或追求边缘性能的团队。但 EmDash 的无服务器模式也意味着:如果离开了 Cloudflare Workers 运行时,插件隔离等核心安全特性会明显弱化——这是潜在的平台依赖。


插件安全:两种哲学

WordPress 的痛点,两者都想解决

WordPress 生态的新增漏洞长期高度集中在第三方插件和主题上;Cloudflare 发布 EmDash 时引用的 Patchstack 数据为插件占 96%。根因在于插件与核心共享运行环境,一个存在漏洞的插件可以访问整个站点。Halo 和 EmDash 都试图解决这个问题,但方式不同。

Halo 采用独立类加载器:每个插件在自己的 ClassLoader 中运行,隔离了插件间的类冲突,但插件仍然运行在同一个 JVM 中,共享底层资源。

EmDash 更为激进:在 Cloudflare 环境中,每个插件运行在独立的 Dynamic Worker 沙箱中,通过能力声明机制(Capability Manifest)限制权限。插件必须在安装前声明需要什么权限(如 read:contentemail:send),管理员在安装前就能看到完整的能力清单。更重要的是,插件可以运行而不暴露源代码——这是去中心化信任模型的关键。

小结:EmDash 的插件安全模型隔离粒度更细,但它依赖 Cloudflare Workers 的 workerd 运行时,在自托管 Node.js 环境中这个隔离机制会打折扣。Halo 的方案隔离重点不同,优势是不绑定于特定运行时。


生态系统:成熟 vs 从零开始

这是两者差距最大的维度。

Halo 拥有完整的生态基础设施:官方应用市场(主题 + 插件的一键安装)、200+ 版本发布记录、活跃的中文社区、持续增长的主题和插件、完善的文档和教程。

EmDash 的生态仍处早期——项目太新(发布不到 4 个月)。它已经有官方模板、首批插件和文档,但第三方插件市场、主题资源、教程和社区规模都还没有成熟。对于一个 CMS 来说,生态通常比核心功能更重要。Halo 已经有一个可以工作的生态,EmDash 才刚刚开始。

不过 EmDash 在生态策略上有独特的思路:通过去中心化信任模型(插件通过能力声明建立信任,无需集中审核),理论上可以降低生态建设的门槛。但这仍然是理论——在实际落地之前,Halo 的生态优势是压倒性的。


内容管理与主题

固定模型 vs 自定义模型

Halo 的核心内容模型是固定的:文章、页面、分类、标签。这对于博客和企业官网是够用的,但对于需要管理非标准化数据的场景(如产品目录、员工档案),不如专门的自定义内容模型直观。不过这并不意味着 Halo 完全不能承载额外数据:主题可以通过主题配置提供简单的数据配置管理,插件也可以扩展额外的业务模型。

EmDash 像 Strapi 一样,允许在管理面板中直接定义内容类型和字段(Schema Builder),每个 Collection 在数据库中独立存储。同时,EmDash 的主题是标准 Astro 项目——对现代前端开发者来说非常熟悉,可以使用 Astro 的全部能力(静态生成、SSR、组件化、TailwindCSS 等)。

Halo 的 Thymeleaf 主题系统更为传统,但对非前端开发者友好——可以通过配置表单调整主题设置,无需写代码。


客观而言:各自的三项不足

Halo 的三项短板

  1. 采用成熟的服务端架构。 Halo 的 Java + Docker + 数据库架构成熟、可控,数据完全自控,但默认不具备 scale-to-zero、边缘运行、全球 CDN 原生分发这些无服务器特性。如果项目已经深度依赖 Cloudflare 边缘生态,EmDash 的架构路径更贴近这种需求。

  2. 插件隔离策略不同。 Halo 采用类加载器隔离,可以降低插件间类冲突和部分耦合问题,优势是不绑定特定运行时,在任何部署环境均有效。EmDash 在 Cloudflare 环境下提供 Dynamic Workers 级别的运行时沙箱隔离,两种方案各有取舍——Halo 侧重通用性和跨环境一致性,EmDash 侧重运行时级别的强隔离(但依赖 Cloudflare 运行时)。

  3. Thymeleaf 主题体系对非前端开发者友好。 相比 Astro-first 的架构,Halo 的主题系统更注重开箱即用——非前端开发者通过配置表单就能调整主题,无需写前端代码。对于需要现代前端能力的项目,Halo 社区也在积极探索集成方案,例如 theme-vite-startertheme-astro-starter

EmDash 的三项短板

  1. 仍是早期项目。 beta preview 意味着功能、API 和插件生态都还在快速变化,生产环境的未知数太多——不建议把它当作成熟 CMS 的等价替换。Halo 已有更成熟的生产使用基础。

  2. Cloudflare 生态依赖。 虽然 EmDash 可以部署到 Node.js 服务器,但其核心卖点(插件沙箱、scale-to-zero、边缘分发)都依赖 Cloudflare Workers 运行时。离开 Cloudflare,这些架构优势会明显弱化。

  3. 生态系统仍在起步。 EmDash 已有官方模板和首批插件,但第三方插件、主题、教程和社区规模远不能与成熟 CMS 相比。在 CMS 领域,这些通常比核心功能更重要。Halo 的应用市场虽然规模不如 WordPress,但已经可以满足大多数场景;EmDash 还需要时间追赶。


谁通常更适合哪一款?

Halo 更适合:

  • 今天就需要上线的项目
  • Java / Spring Boot 技术栈
  • 面向中国市场的网站(微信支付、小程序等本土化能力)
  • 需要成熟的插件和主题生态
  • 博客、知识库、企业官网、商城四类标准场景
  • Docker 部署 + 自托管运维
  • 非前端开发者主导的项目

EmDash 更适合(未来):

  • 新启动的项目,愿意等待生态成熟
  • TypeScript / Astro 技术栈的前端团队
  • 已经在 Cloudflare 生态中(Pages、Workers、D1、R2)
  • 看重 Cloudflare 环境下插件安全沙箱的团队(多插件共存场景)
  • 需要 AI Agent 可编程管理的能力
  • 需要真正自定义内容模型(不只是文章和页面)
  • 愿意跟进 x402 等新型内容付费实验

常见问题

EmDash 真的能取代 WordPress 吗?

短期内不能,长期来看有可能在特定场景下成为替代选择。WordPress 的优势是 20 年积累的生态——6.7 万+ 插件、不可计数的主题、教程和社区。EmDash 在技术上确实解决了一些 WordPress 的架构性缺陷(插件安全、现代前端、无服务器部署),但 CMS 的竞争力最终不取决于核心代码,而取决于生态。Halo 用 7 年时间建立了一个可用的生态;EmDash 才刚刚开始。

Halo 和 EmDash 都用 TypeScript 吗?

不是。Halo 使用 Java(后端),管理端使用 Vue。EmDash 全栈 TypeScript(后端 + 前端都在 TypeScript 生态中)。如果你希望在项目中统一使用 TypeScript,EmDash 在这个维度上有天然优势。

EmDash 的插件系统真的不需要审核吗?

EmDash 的模式是「能力声明替代审核」:插件在安装前必须声明需要的全部权限,管理员在安装前就知道这个插件能做什么。这种模式在理论上可以降低对集中审核的依赖,但实际效果取决于管理员是否认真查看权限声明,以及社区是否会形成自发的口碑信任体系。

EmDash 会锁定在 Cloudflare 平台吗?

部分会。EmDash 的核心代码可以运行在 Node.js 服务器或 Docker 上。但插件沙箱隔离(Dynamic Workers)、scale-to-zero(Workers 计费模式)、原生 CDN 分发这些卖点都依赖 Cloudflare 运行时。在自托管 Node.js 环境,这些优势会明显弱化,插件也会以进程内安全模式运行。

Halo 会考虑类似 EmDash 的无服务器架构吗?

Halo 基于 JVM 架构,更适合通过 Docker Compose、自托管服务器、缓存和 CDN 获得稳定的动态站点体验。如果你的核心需求是 Cloudflare Workers 这类原生边缘运行时,EmDash 或其他 Headless + 无服务器方案更贴近这个方向。


总结

Halo 和 EmDash 都在回应同一个问题:WordPress 已经 24 年了,下一个时代的 CMS 应该是什么样子?

Halo 的答案是:用更现代的技术栈(Java/Spring Boot)重做一遍,同时保持与传统 CMS 相似的使用体验——后端管理、模板渲染、插件扩展、主题系统。这是一个「渐进式进化」的方案:不颠覆用户的认知模型,但在每个环节做到更好。

EmDash 的答案是:彻底重构基础——无服务器运行时替代传统的服务端进程、Worker 沙箱替代共享运行环境、Astro 混合渲染替代服务端 ONLY 渲染、AI Agent 可编程管理替代纯人工操作。这是一个「颠覆式重构」的方案:方向正确,但生态和时间是其最大的不确定性。


本文基于截至 2026 年 7 月的公开信息编写。EmDash 仍处 beta preview,功能和生态可能快速变化。