corpusctl 对比 Ghost:发布平台,还是内容基础设施?
Ghost(Pro) 按受众规模定价,而一次安装就是一家出版物。corpusctl 以固定套餐从一个面板运营 N 家出版物。一份诚实的对比。
Ghost 在一件 corpusctl 完全不做的事情上非常出色。
如果你是一位作者或一家出版物,想要一个美观的编辑器、付费会员、新闻邮件投递,以及一个一分钟就能安装的主题——那么 Ghost 就是正确答案,本文也不会劝你放弃它。大约 55,000 个 GitHub star,开源、可自托管、真正受人喜爱。
这份对比面向的是另一种情况:当出版物不再是产品本身,而开始成为产品的一部分时。
你的账单是受众规模的函数
Ghost(Pro) 按受众规模定价。定价页面上有一个会员数量滑块,拖动它价格就跟着变。据 ghost.org 上 2026 年 8 月 17 日的列示,Starter 套餐起价为按年付费每月 18 美元。
对于付费新闻邮件而言,这套模式是自洽的——会员越多意味着收入越多,因此成本更高也算公平。但对于公司博客、文档站点或产品更新日志而言,它就远不那么自洽了——在这些场景里,读者是营销成果,而不是一条收入项。你在为一件并不直接给你回报的东西付更多的钱。
corpusctl 采用固定套餐,原因在于架构,而非慷慨。已发布的内容在构建时被写入对象存储中一个不可变、以哈希寻址的文件,并从nginx 边缘缓存提供服务。访客流量从不触及 API 或 PostgreSQL。没有可计量的读取,也就没有滑块可以滑动的东西。
一次安装就是一家出版物
这是结构性的差异,它决定了大多数评估的结果。
一个 Ghost 安装就是一家出版物。五个品牌意味着要运维和升级五个安装,或要支付五份 Ghost(Pro) 订阅。没有共享面板,没有按空间划分的角色,没有一个统一的地方让编辑看到他们负责的三个品牌、而看不到他们不负责的那两个。
corpusctl 的多租户在核心之中,与认证和模块注册表并列:
- 一个面板,无限空间。
- 一个用户在每个空间拥有独立的角色——在一个品牌处是编辑,在另一个品牌处是所有者,在第三个品牌处则不可见。
- 隔离由PostgreSQL 行级安全在数据库层强制执行,位于应用层之下——而遗忘的过滤条件正生活在应用层。
对于一家代理机构、一组品牌,或一款为每个客户提供各自内容的 SaaS 而言,这个差异就是整个决策的全部。