mx-space/core

AI-powered CMS core for personal blogs and creator websites, with AI summaries, translation, moderation, and writing workflows.

mx-space/core – 带 AI 增强的个人 CMS 堆栈

是什么 – 一个用于构建完整、无头内容管理系统(CMS)的单体仓库,专为个人博客和创作者网站设计。该堆栈是 AI 增强型(例如,使用 AI 合约生成内容),由以下组件构成:

组件 技术栈 作用
核心服务器 (apps/core) NestJS + Fastify, PostgreSQL, Redis 处理 API、存储、AI 相关端点和认证。
管理仪表盘 (apps/admin) React 19 SPA 供所有者编辑内容、配置站点并查看遥测数据的 Web UI。
iOS 客户端 (apps/ios) UIKit + SwiftUI (XcodeGen) 通过生成的 OpenAPI 客户端与服务器通信的原生管理应用。
推送中继 (apps/push-relay-rs) Rust 独立的、保护隐私的 APNs 推送通知中继。
遥测 (apps/telemetry) Cloudflare Workers + D1 匿名使用数据收集器。
共享 SDK (packages/*) TypeScript / Rust 类型安全的 API 客户端、CLI(mxs)、数据库模式、Lexical 编辑器合约、AI 事件合约、推送协议、Webhook 辅助工具、迁移工具。

如何协同工作

README 中的图表展示了典型的部署方式:前端(例如 Yohaku 的 Next.js 站点)通过 @mx-space/api-client 与 核心服务器 通信。管理 SPA 和 iOS 应用是使用此 SDK 的轻量级客户端。服务器将通知 ID 推送到 推送中继,中继再转发给 Apple 的 APNs。遥测数据匿名发送至 Cloudflare 工作器。

快速上手(开发者视角)

  1. 安装 Node 22+ 并启用 Corepack。
  2. 运行 pnpm install 获取所有包。
  3. 使用 Docker 启动 PostgreSQL 和 Redis(docker compose up -d postgres redis)。
  4. 运行 pnpm dev 启动服务器(http://localhost:2333),运行 pnpm dev:admin 启动管理 UI(http://localhost:9528)。
  5. 使用提供的 CLI(mxs)创建内容和配置,通过 OIDC 设备流进行认证。

显著特性

  • AI 合约 – @mx-space/ai 包定义了服务器端的 SSE 事件类型,客户端可订阅以获取 AI 生成的内容或建议。
  • 类型安全 SDK – @mx-space/api-client 为前端提供完整的 TypeScript 类型,减少运行时错误。
  • 模块化部署 – 推送中继和遥测是独立服务,可仅运行所需部分。
  • 迁移工具 – mongo-pg-cli 帮助将旧版 MongoDB 数据迁移到新的 PostgreSQL 模式。

适合谁使用?

  • 希望拥有自托管、AI 增强博客平台的个人创作者。
  • 寻找现成的、拥有强大 TypeScript 生态系统且可选原生 iOS 管理端的开发者。
  • 需要以隐私为先的推送通知(通过 Rust 中继)的团队。

许可证

采用 AGPL-v3 + MIT 双重许可,附加条款见 ADDITIONAL_TERMS.md。


  • 上述所有信息均直接来自仓库的 README,未添加任何外部假设。*

相关

  • 项目
  • 项目
  • 项目
  • 项目