Skip to content
プロジェクト

tx7do/go-wind-cms has 230 GitHub stars and 53 forks. GitHot measured 0 in 7 days. Last checked 2026-11-10 23:08 UTC. Last push 2026-11-02.

この数値の測り方

Go full-stack headless content platform on go-kratos: Protobuf as the single API contract with Go/TypeScript/OpenAPI codegen, REST + gRPC dual-protocol admin/app/core services, multi-tenant isolation with menu/API/data-level RBAC and native i18n — with a Vue3 (Vben) admin and Vue/React/Taro/Flutter app frontends.

計測したスター増加

24時間
更新が遅れています
7日間
0
15日間
履歴を収集中
1か月
履歴を収集中

期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。

README.ja-JP.md

オリジナル
GoWind Content Hub

GoWind Content Hub

License Go Version Vue React Flutter Kratos

English | 中文 | 日本語


GoWind Content Hub(風行)は、すぐに使える企業向けの Golang フルスタック Headless コンテンツプラットフォームであり、柔軟で拡張性の高いコンテンツ管理と配信ソリューションを企業に提供します。

主な特徴:

  • API ファースト — 完全な RESTful / gRPC デュアルプロトコルインターフェース、OpenAPI ドキュメント自動生成
  • マルチプラットフォーム — Vue、React、Taro(ミニプログラム)、Flutter の 4 つのフロントエンドをサポート
  • マルチテナント — テナントデータの分離、ロール・管理者の自動初期化
  • きめ細かい権限管理 — メニュー権限、API権限、データ権限の 3 レベル制御、ボタンレベルの制御に対応
  • ネイティブ i18n — コンテンツ、メニュー、UIテキストの統一翻訳管理
  • マイクロサービス — go-kratos ベース、サービスディスカバリ、分散トレーシング、分散トランザクション対応

デモ

デモタイプ アクセスアドレス
管理画面 https://admin.cms.gowind.cloud
管理画面 API Swagger https://api.admin.cms.gowind.cloud/docs/
フロント API Swagger https://api.cms.gowind.cloud/docs/
Vue フロントエンド https://cms.gowind.cloud
React フロントエンド https://react.cms.gowind.cloud
Taro フロントエンド https://taro.cms.gowind.cloud
Flutter フロントエンド https://flutter.cms.gowind.cloud

すべてのデモサイトの共通アカウント:admin / admin

テクノロジースタック

バックエンド

レイヤー 技術 説明
言語 Go 1.25+ 高性能コンパイル言語
フレームワーク go-kratos Bilibili オープンソースマイクロサービスフレームワーク
DI 手書き組み立て(wiring.go) DIフレームワークなし、make registerで新モジュールを登録
ORM Ent Go エンティティフレームワーク
データベース PostgreSQL / MySQL リレーショナルデータベース
キャッシュ Redis インメモリデータストア
オブジェクトストレージ SeaweedFS S3 互換オブジェクトストレージ(保守終了した MinIO の代替)
検索エンジン OpenSearch 全文検索
サービスレジストリ Etcd / Consul サービスディスカバリ & 設定管理
トレーシング Jaeger + OpenTelemetry 分散オブザーバビリティ
API 定義 Protobuf + buf.build コントラクトファースト API 設計
認可エンジン Casbin / OPA ポリシーベース認可

管理画面フロントエンド

技術 説明
React 19 プログレッシブフロントエンドフレームワーク
TypeScript 型安全開発
Ant Design エンタープライズ UI コンポーネントライブラリ
ProComponents エンタープライズ管理画面コンポーネント

アプリケーションフロントエンド

まず「フロントエンド」の 2 種類を整理:本プロジェクトにはユーザー向けインターフェースが 2 種類あります。管理画面は運用チーム向け——PC ブラウザで開き、記事の作成・コメント管理・サイト設定を行います。アプリケーションフロントエンド(下記 4 種)は読者・顧客向け——公開されたコンテンツを閲覧します。バックエンドは 1 つだけで、公開後のコンテンツは 4 つのフロントエンドすべてが同じデータを参照します。読者の接点に合わせて 1 つ(または複数)を選べばよく、すべてをデプロイする必要はありません。

バージョン 技術スタック 動作環境 典型的な用途
Vue Nuxt.js + shadcn-vue PC / スマホのブラウザ(Web ページ) 企業サイト、コンテンツポータル、ブログ、ニュースサイト。SEO に有利
React Next.js + shadcn/ui PC / スマホのブラウザ(Web ページ) Vue 版と機能的に同等。チームの技術スタックに合わせてどちらかを選択
Taro Taro + React + shadcn/ui WeChat ミニプログラム、H5 モバイル Web にもビルド可 WeChat 内での運用:QR コードや検索で即開け、インストール不要
Flutter Flutter + BLoC iOS / Android ネイティブアプリ(アプリストアからインストール) 独立アプリ:プッシュ通知・オフライン利用に対応。1 つのコードベースで両プラットフォームを生成

用語解説(フロントエンドに不慣れな方向け)

  • Web ページ:ブラウザで URL を開くだけでアクセスでき、PC・スマホ両対応、インストール不要。React 版と Vue 版がこれに該当し、どちらも SSR(サーバーサイドレンダリング:ページをサーバー側で組み立ててからブラウザへ送る方式。検索エンジンにクロールされやすく、SEO に有利)に対応しています。
  • H5:WeChat やモバイルブラウザ内で開くモバイル向け Web ページ。実態は Web ページで、インストール不要、タップして即閲覧できます。
  • WeChat ミニプログラム:WeChat 内で動く「ライトアプリ」。QR コードのスキャンや WeChat 内検索で開け、ダウンロード不要・ホーム画面も占有しません。公式アカウント導線・グループ共有・オフライン QR など、中国の WeChat エコシステムで最も一般的な接点です。
  • ネイティブアプリ:App Store / Android アプリストアからダウンロードし、スマホのホーム画面にインストールするアプリ。動作が最も滑らかで、プッシュ通知・カメラ・オフライン保存など端末機能を利用できます。Flutter の価値は1 つのコードベースから iOS と Android の両アプリを生成できることです。

どれを選ぶべきか?

  • 読者がブラウザでアクセスする(公式サイト / ポータル / ブログ)→ React または Vue を選択。機能は同等なので、チームの得意なスタックでどうぞ。
  • ターゲットが WeChat ユーザー(公式アカウント、グループ共有、オフライン QR)→ Taro(WeChat ミニプログラム)。
  • アプリストアに自社アプリを出したい、プッシュ通知など端末機能が必要 → Flutter。
  • 組み合わせも可能:例えば公式サイトに React、ミニプログラムに Taro——両方とも同じコンテンツと設定を参照するため、二重入力は不要です。

コア機能

組織 & 権限

機能 説明
マルチテナント管理 テナントの追加、有効化/無効化、パッケージ設定、データ分離。新規テナントのロール、管理者を自動初期化
ユーザー管理 ライフサイクル全体を管理、複数ロール/部署のバインディング、高度な検索
ロール管理 ロール & ロールグループ管理、メニュー/API/データ権限のきめ細かい設定
権限管理 権限グループ、メニューノード、権限ポイント、ボタンレベルの制御に対応
メニュー管理 ディレクトリ/ページ/ボタンの 3 レベル設定、権限に基づく動的レンダリング
OpenAPI 認証情報 テナント単位の AK/SK マシン認証情報管理、トークン交換で短期 JWT 発行、IP+AK 総当たり制限
テナントクォータ ユーザー/ストレージ/API 呼び出し/AI トークンの 4 種クォータをテナント別に設定、ハードゲート + 透過アラート、セルフサービス使用量パネル
ログインポリシー IP/時間/デバイス/地域の 4 軸ブラックリスト/ホワイトリスト、グローバル+ターゲット 2 段階執行;パスワード有効期限切れはログイン拒否
部門管理 複数レベルの部門ツリー管理、ユーザーとの連携バインディング

コンテンツ & サイト

機能 説明
コンテンツモデリング テキスト、数値、リッチテキスト、画像、ファイル、関連フィールドを持つカスタムコンテンツモデル
コンテンツ管理 CRUD、公開/非公開、ピン留め、並べ替え、ゴミ箱、一括操作。リッチテキスト / Markdown 編集
カテゴリ管理 複数レベルのカテゴリツリー、コンテンツモデルのバインディング、フロントエンドフィルタリング
タグ管理 タグ CRUD、コンテンツ関連付け、検索 & 集約表示
コメント管理 審査、削除、返信、ブロック。コンテンツ/ユーザー/時間でフィルタリング
多言語管理 言語管理、コンテンツ/メニュー/UIテキストの統一翻訳
サイト管理 複数サイトの独立設定、ドメイン、タイトル、ロゴ、SEO、スタイル
サイト設定 基本情報、SEO、アップロード制限、メール/SMS グローバル設定
ページビルダー セクションベースのページエディター(14 種類のブロック)、3 つのフロントエンドで描画
承認ワークフロー 記事のレビュー申請→承認/却下、結果を作者に通知(サイト内メッセージ+メール);権限ゲートは API ロールバインディング
コンテンツ実験 A/B ランダム分割とオーディエンスターゲティング(locale/デバイス/ログイン/パラメータ)、バリアント丸ごと置換、参加統計
共同編集ロック 記事/ページエディタで他ユーザー編集中のバナー表示(ハートビート付き Redis ソフトロック)、同時上書きを防止
リアルタイム共同編集 リッチテキストの複数人同時編集を競合なくマージ、カーソル共有(ygo エンジン内蔵、コンテンツ+言語ごとのルーム)、保存は明示操作のまま
コンテンツバージョン 保存時に自動スナップショット、バージョン一覧・行差分・ワンクリック復元
下書きプレビュー エディターから新しいタブで下書きプレビュー(短命署名トークン)
リダイレクト管理 301/302 リダイレクトルール、nginx map 設定のエクスポート
フォーム送信 ページ FORM セクションへの訪問者送信を収集、管理一覧/詳細/CSV エクスポート

システム & 運用

機能 説明
ファイル管理 画像/ドキュメント/動画の管理、ローカルまたは OSS ストレージ、プレビュー、ダウンロード、グループ管理
辞書管理 データ辞書カテゴリ & アイテム、連携検索、並べ替え、インポート/エクスポート
API 管理 バックエンド API の保守 & 自動同期、ツリー表示
タスクスケジューリング Cron ジョブ管理、開始/一時停止/即時実行、実行履歴 & ログ
メッセージ通知 複数レベルのメッセージカテゴリ、対象ユーザーへの送信、既読ステータス追跡
站内メッセージ 個人受信トレイ、表示/削除、個別/一括既読
ログインログ ログイン成功/失敗ログ、アカウント、IP、所在地、デバイス、時刻
操作ログ 全リンク監査証跡、操作者、IP、パラメータ & 結果
パーソナルセンター プロフィール編集、アバター、パスワードリセット、ログイン履歴
Headless API コンテンツ CRUD の完全な OpenAPI、マルチターミナル対応;加えて読み取り専用 GraphQL コンテンツ API(記事/ページ/カテゴリ/タグ、:6702)
Webhook 配信 コンテンツイベント(公開/更新/削除)を HMAC 署名付きで非同期配信、配信履歴とテスト送信対応
メール送信 システム通知を非同期 SMTP で配信、SMTP 可視化設定(認証情報暗号化)+ テスト送信
API 同期 OpenAPI 整合同期(空でないテーブルでも安全、ID 安定でロールバインディングを保護)
バックアップ・リストア 中核 ID/権限/組織 24 テーブルのワンクリック非同期バックアップ(オブジェクトストレージバケット + プロジェクト接頭辞分離)、空 DB 一括リストアで ID 保持、バケットライフサイクルクリーンアップ
システムパラメータ プラットフォーム全体の動的 KV 設定、パラメータ管理ページで視覚的に調整、プロセス内キャッシュ + Redis マルチインスタンス無効化ブロードキャスト;内蔵パスワードポリシーしきい値
オンラインセッション 全オンラインセッション一覧と強制ログアウト、ユーザー名/IP フィルタ対応
サーバーモニター Go ランタイム/DB 接続プール/ホスト情報の読み取り専用ダッシュボード(10 秒自動更新)
Redis キャッシュモニター INFO セクションツリー、DBSIZE とスローログの読み取り専用パネル

ソーシャルディストリビューション

機能 説明
ソーシャルアカウント 10 プラットフォームに接続 — Bluesky / Mastodon / DEV.to / Telegram / WordPress / WeChat公式アカウント / Nostr / Weibo / LinkedIn / cnblogs(MetaWeblog)(多くは審査不要);保存時に認証情報を検証、AES-GCM で暗号化保存、読み取りはマスク表示のみ
コンテンツ配信 プラットフォーム別のテキスト・タイトル上書き、予約/即時投稿;ステートマシンで全体追跡、ワンクリック再試行
投稿カレンダー カレンダー/リストの切り替え、月次スケジュール表示、日付クリックで素早く予約
エンゲージメント統計 いいね/返信/リポストのスナップショット取得、手動即時更新 + 定期自動同期

AI アシスタント

機能 説明
モデルプロバイダー OpenAI 互換エンドポイント管理(クラウド API / ローカル Ollama)、API キー暗号化、利用量記録
チャットアシスタント SSE ストリーミング対話、CMS 読み取り専用ツール(概览/投稿検索/コメント統計)
ナレッジベース RAG ドキュメント(txt/md/docx/pdf)自動チャンク&pgvector へベクトル化、チャット検索注入
AI クエリ 自然言語 → 読み取り専用 SQL → 構造化結果、テーブルホワイトリスト&テナント fail-closed
セマンティック検索 投稿タイトル/要約をグローバル検索にベクトル化、増分&全再構築
安全インサイト 24h 監査異常パターンのルール検出+LLM サマリー(プラットフォーム管理者)
AI コンテンツ生成 投稿タイトル/要約/本文、ページタイトル、カテゴリ/タグ説明、コメント返信、ロール説明のワンクリック生成
利用統計 対話/生成/embedding 全呼び出し記録、月次サマリー&サーバーサイドエクスポート
AI Agent オーケストレーション 5 種類ノード(開始/知識検索/LLM/条件/終了)のビジュアルキャンバスオーケストレーション、同期テストランでノード毎トレース + SSE リアルタイム軌跡、実行台帳と使用量記録

プロジェクト構造

go-wind-cms/
├── backend/                        # バックエンドサービス
│   ├── api/                        # Protobuf API 定義 & 生成コード
│   │   ├── protos/                 # .proto ソースファイル
│   │   └── gen/                    # 生成コード (Go / TypeScript / OpenAPI)
│   ├── app/
│   │   ├── admin/service/          # 管理サービス (HTTP/gRPC)
│   │   ├── app/service/            # アプリサービス (HTTP/gRPC)
│   │   └── core/service/           # コアサービス (ビジネスロジック + データ層)
│   ├── pkg/                        # 共通パッケージ (認可/暗号化/イベントバス/JWT/ミドルウェア/OSS...)
│   └── scripts/                    # デプロイスクリプト (Docker/PM2/環境設定)
├── frontend/
│   ├── admin/                      # 管理画面フロントエンド (React 19 + Ant Design 6 + ProComponents)
│   └── app/                        # アプリケーションフロントエンド
│       ├── react/                  # React アプリ (Next.js)
│       ├── vue/                    # Vue アプリ (Nuxt.js)
│       ├── taro/                   # Taro アプリ (WeChat ミニプログラム / H5)
│       └── flutter_app/            # Flutter アプリ (クロスプラットフォームネイティブ)
└── docs/                           # ドキュメント & スクリーンショット

クイックスタート

前提条件

  • Go 1.25+
  • Docker & Docker Compose
  • Node.js 18+ & pnpm
  • buf (Protobuf ツールチェーン)

1. 依存サービスの起動

cd backend

# Windows
.\scripts\docker\libs_only.ps1

# Linux / macOS
./scripts/docker/libs_only.sh

2. バックエンドの起動

# 推奨:gow CLI を使用
gow run admin

# または IDE で直接デバッグ

3. フロントエンドの起動

# 管理画面
cd frontend/admin
pnpm install
pnpm dev

# React アプリ
cd frontend/app/react
pnpm install
pnpm dev

よく使うコマンド

cd backend

# Protobuf API コードの生成
make api

# OpenAPI ドキュメントの生成
make openapi

# TypeScript コードの生成
make ts

# 全コードの生成 (ent + api + openapi)
make gen

# 全サービスのビルド
make build

# テストの実行
make test

開発ワークフローの詳細は バックエンドドキュメント と スクリプトガイド を参照してください。

バックエンドスクリーンショット

バックエンドログイン バックエンド登録
バックエンド投稿リスト バックエンド投稿編集
バックエンドカテゴリリスト バックエンドカテゴリ編集
バックエンドタグリスト バックエンドタグ編集
バックエンドコメントリスト バックエンドサイトリスト
バックエンドサイト設定 バックエンドナビゲーションリスト
バックエンドデータ分析 バックエンドメディア資産

フロントエンドスクリーンショット

React フロントエンドログイン React フロントエンド登録
React フロントエンドホーム React フロントエンド概要
React フロントエンド投稿リスト React フロントエンド投稿詳細
React フロントエンドカテゴリリスト React フロントエンドカテゴリ詳細
React フロントエンドタグリスト React フロントエンドタグ詳細

お問い合わせ

  • WeChat 個人アカウント:yang_lin_bo(備考:go-wind-cms)
  • 掘金コラム:go-wind-cms

コントリビューション

以下のような貢献を歓迎します:

  • Issue の提出:バグ報告や機能提案
  • Pull Request の提出:修正や新機能の追加
  • ドキュメントや翻訳の改善
  • 利用経験の共有

ライセンス

このプロジェクトは MIT License の下で公開されています。

謝辞

JetBrains

JetBrains から無料の GoLand & WebStorm オープンソースライセンスを提供していただき、感謝いたします。

関連プロジェクトを探す