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スタック
何であるか – 個人ブログやクリエイター向けサイトを対象とした完全なヘッドレスコンテンツ管理システムを構築するモノレポ。このスタックは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 Workerに送信されます。
開発者向けの導入手順
- Node 22+ をインストールし、Corepack を有効化します。
pnpm installですべてのパッケージを取得します。- DockerでPostgreSQLとRedisを起動します(
docker compose up -d postgres redis)。 - サーバーを起動するには
pnpm dev(http://localhost:2333)、管理UIはpnpm dev:admin(http://localhost:9528)を実行します。 - OIDCデバイスフローで認証されるCLI(
mxs)を使ってコンテンツ作成や設定を行います。
特徴
- AI契約 –
@mx-space/aiパッケージは、クライアントがAI生成コンテンツや提案をサブスクライブできるサーバーサイドSSEイベントタイプを定義しています。 - タイプセーフSDK –
@mx-space/api-clientはフロントエンドに完全なTypeScript型を提供し、実行時エラーを減らします。 - モジュール化されたデプロイ – プッシュリレーとテレメトリは別々のサービスであり、必要に応じて必要なものだけを実行できます。
- マイグレーションツール –
mongo-pg-cliは、従来のMongoDBデータを新しいPostgreSQLスキーマに移行するのを支援します。
どんな人に向いているか?
- 自分でホストするAI強化ブログプラットフォームを望む個人クリエイター。
- 強力なTypeScriptエコシステムとオプションのネイティブiOS管理アプリを備えた即戦力ヘッドレスCMSを探している開発者。
- プライバシー最優先のプッシュ通知(Rustリレー経由)が必要なチーム。
ライセンス
AGPL‑v3 + MITの二重ライセンス。追加条件は ADDITIONAL_TERMS.md に記載されています。
- 上記のすべての情報はリポジトリのREADMEから直接取得したものであり、外部の仮定は一切追加されていません。*
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト