终于正式发布!开发全新无头CMS Vol.3
blog Business Software Technology

终于正式发布!开发全新无头CMS Vol.3

Cloudflare原生的超高速无头CMS“KuroCMS”终于正式发布。本文深度解析这款前沿边缘技术的魅力——配备免电脑Web安装器、一键社区模板共享、强大的AI多语言管理系统以及简单的仪表盘更新,助力个人博客和小型企业完全在Cloudflare的免费额度内运行。


KuroCMS终于正式发布!它是一款完全免费的下一代多语言无头CMS,可实现Cloudflare边缘的超高速分发以及智能手机的便捷设置。

世界上有无数的CMS平台,但当个人开发者或小型企业主试图获取“自己的域名”、“自己的设计”和“超高速的显示速度”时,难度和每月运营成本就会骤然飙升。然而,本系列Vol.1和Vol.2中一直探讨的KuroCMS的目标终于公开了!随着1.7.0正式版本的发布,本篇开发日志的第三篇将详细介绍各种新增功能及其压倒性的魅力。顺便说一下,这个黑兔(Kurousagi)网站也已经用KuroCMS完全替换了Strapi,并正在实际使用中。

当然,还有许多需要改进和修复bug的空间,但在经过两到三天的测试并确认其可用性后,我们决定于今天正式发布。

由Cloudflare原生创造的“完全免费”与“极致显示速度”的融合

KuroCMS最大的架构特点是,其后端和托管基础设施全部与Cloudflare的边缘计算环境(Workers、D1、KV、R2、Workers Assets)原生结合。

传统的无头CMS和WordPress等平台需要每月数百到数千日元的虚拟主机租赁费,以及繁琐的数据库管理。然而,KuroCMS旨在最大化利用Cloudflare强大的免费额度(Free Tier)。对于标准博客运营,可以实现每月“0日元”的运行成本。

【Cloudflare免费额度参考标准】
・Workers (服务器执行):1天10万次请求
・D1 (SQLite数据库):存储空间 5GB
・KV (页面缓存):1天10万次读取 / 1万次写入
・R2 (媒体存储):存储空间 10GB / 每月100万次操作
对于个人或中小型网站,这些限制极难被超出。

此外,在显示速度上也毫无妥协。KuroCMS采用三层超高速缓存机制。请求时,最近的边缘节点(边缘缓存)进行响应;在缓存未命中时,则从KV存储中瞬间返回。这实现了全球任何地方访问的页面加载时间(TTFB)均低于100毫秒,拥有彻底消除用户焦虑的优异性能。

虽然生成的网站使用无依赖库的Vanilla JS和Tailwind CSS实现超高速显示,但KuroCMS本身也完全没有使用任何框架。因此,无需进行框架版本管理或适配修正,且由于没有使用框架带来的额外开销,KuroCMS运行极其迅速。

免电脑!可通过智能手机启动的“Web安装器”

无头CMS通常需要PC或命令行(CLI)操作,从构建环境搭建到运营 and 部署都需要一定的专业知识。然而,KuroCMS以“无需PC,任何人都能轻松部署”为目标,开发了专门的Web安装器。

用户只需通过浏览器访问专用页面并关联其Cloudflare账户,Workers、D1、KV等资源就会自动完成配置并启动KuroCMS的管理后台。当第一个用户注册为管理员(admin)后,初始化页面(/initialize/)会自动锁定以确保高度安全。这是一种革命性的机制,让所有部署和初始配置直接在手机屏幕上即可完成。

原生支持多语言的“真正多语言(i18n)数据模型”

KuroCMS从开发初期就将全球分发纳入考量,进行了多语言设计。在黑兔的这个网站上,已经支持显示包括日语、英语、德语、法语、意大利语、西班牙语、中文、韩语和乌克兰语在内的共9种语言。*请使用您自己订阅的AI云服务。个人而言,正如过去的文章所介绍的,礼貌语境推荐Gemini,友好语境推荐ChatGPT,正式语境推荐Claude。

语言代码 显示语言 URL结构 特点
ja 日语 (网站默认) /path/to/page 设为基础语言,黑兔仅用日语撰写文章。
en 英语 /path/to/page?lang=en 通过REST API使用Gemini等低成本AI云服务转换为英语。
zh / ko / de / fr / it / es / uk 中文/韩文/德文/法文/意文/西文/乌克兰文 /path/to/page?lang={code} 随后指示同一个AI云服务将英文版依次翻译为其他语言。

数据模型采用美观的“一对多”关系进行管理,在单个文章ID(did)和共享别名(slug)下,挂载各语言的翻译文本(title, summary, body_html)。翻译新语言时,只需在管理后台的下拉菜单中选择语言,即可一键复制现有基础语言的内容并开始翻译。

打破设计壁垒:“Template 功能”与社区共享

关于作为无头CMS一大魅力的“设计自由度”,KuroCMS也采用了独特的规范。It配备了“Template API”,可直接将HTML + KuroCMS特殊代码作为模板进行处理。

该模板引擎只需在HTML中编写类似 site.name#each articles.../each 的特殊表达式,即可在边缘侧动态或在静态构建时展开变量和列表。无需任何繁琐的JavaScript框架知识,即可完全使用纯HTML/CSS/JS自主设计网站。

此外,创建的模板可以通过“社区模板库”与全球用户一键共享和下载。从管理后台的“选择模板”界面直连公开模板库,在安装前可查看预览画面,若有喜欢的设计可立即应用到自己的网站上。

【自动缩略图生成功能】
向社区公开自己设计的模板时,管理后台会在iframe中临时渲染HTML,并在浏览器中利用 html2canvas 技术自动捕获为JPEG图片,自动注册为该模板在库中的缩略图。用户无需手动制作图片。

产生字体统一感的“Web字体应用功能”

即使部署了设计精美的模板,如果字体因访问者的手机或电脑操作系统不同而千差万别,网站的整体观感也会大打折扣。为此,KuroCMS搭载了Web字体导入管理功能。

管理后台内置了精选的40种Google Fonts目录,涵盖日语、西文及等宽字体。使用双栏穿梭框UI,可以像拖放一样轻松添加要加载的字体、更改优先级以及设置“默认字体”。指定默认字体后,系统会在公开构建时自动将CDN链接注入 <head>,覆盖模板侧的CSS设置,从而让整个网站的字体美观统一。

此外,在所见即所得下运行的后台编辑器(KuroEditor)也与此设置完全联动。由于编辑界面能够以与公开网站完全相同的字体进行书写,因此绝不会产生“写作时的外观与发布后的外观不同”的焦虑感。

进度直观可见的“构建流”与自我更新

在更新大量文章并进行“全站构建”时,由于看不到进度,往往会让人感到不安。KuroCMS具备从构建执行API(POST /api/build)返回NDJSON(Newline Delimited JSON)格式进度流的功能,将进度实时反映在管理后台的进度条和日志查看器中。

构建时,缓存功能(page_build_cache)也会发挥作用,跳过未修改的页面,将不必要的KV写入降至最低,从而最大化边缘的利用效率。

同时,仪表盘还会统计KV写入量,以便用户确认是否可以在免费额度内进行更新,帮助他们估算每日的KV更新(构建工作)限制。

【一键自动更新】
自行托管开源无头CMS的最大难点在于“更新操作的繁琐”。KuroCMS配备了自我更新功能。它会与GitHub的官方发布仓库进行通信,在有新版本发布时在后台通知,只需点击“更新”按钮,系统就会自动将Worker内的脚本替换为最新版本的 KuroCMS。无需执行命令或Git操作。

与主要CMS平台的全面对比

最后,我们总结了KuroCMS与现有主要CMS(WordPress和自托管的Strapi 5)的对比。

对比项目 KuroCMS WordPress Strapi 5 (自托管)
每月运行成本 永久免费 (免费额度内) 虚拟主机费 (500日元起~) VPS/PaaS费 (1,000日元起~)
显示/响应速度 超高速 (边缘缓存分发) 依赖服务器 (易变慢) 依赖配置 (因API请求存在延迟)
部署难度 使用Web安装器,简单方便 简单 (主机商一键安装) 难 (需构建服务器、命令行操作)
多语言支持 多语言。※可由AI操作 需要插件 (配置极其复杂) 标准支持(配置和UI对初学者较难)※实际上好像有Bug导致无法使用。黑兔也尝试了许多次。
更新 后台一键更新 后台一键更新 必须执行命令和手动部署
许可证 基于MIT的Kuro License(增加了归属表示) GPL MIT

总结:迈向个人与小型网站的新标准

KuroCMS是一款革命性的产品,它将“利用CDN让自由设计的无头CMS获得压倒性显示速度”的优势,以类似于日本博客服务的便捷度和零成本结构带到了Cloudflare上。凭借在自我更新功能、多语言模型的完整性以及默认Web字体应用等细节上的倾心打造,KuroCMS有望成为未来个人博客和小型网站运营的新标准。

如果您对此感兴趣,请务必访问官方安装器网站,亲自体验超高速且舒适的博客生活!


【数据来源】
  1. KuroCMS 官方宣传页面
  2. Cloudflare Workers 官方文档
  3. KuroCMS GitHub 开源仓库