機能一覧
GEO Wiki Pro のすべての機能モジュールの包括的な概要、ドキュメント管理から AI 最適化、セキュリティメカニズムからデプロイソリューションまで
## ドキュメント管理
### Markdown ネイティブ編集
GEO Wiki Pro は Markdown をプライマリドキュメント形式として使用します。各ドキュメントには YAML Frontmatter メタデータヘッダーが含まれ、以下のフィールドをサポート:
- `title`: ドキュメントタイトル
- `slug`: URL エイリアス(一意識別子)
- `category`: カテゴリ割り当て
- `tags`: タグ配列
- `author`: 著者
- `sort`: カテゴリレベルのソート重み
- `description`: 検索結果サマリー
### 拡張 Markdown 構文
標準 Markdown に加え、以下の拡張構文をサポート:
| 構文 | 説明 | 例 |
|------|------|-----|
| `:::video[説明](url)` | 動画埋め込み | `:::video[Bilibili 動画](https://bilibili.com/video/BVxxx)` |
| `:::model[タイトル](url)` | 3D モデルダウンロードカード | `:::model[モーターモデル](/media/model.step)` |
| `` | 画像(alt テキストが自動的にキャプションとして表示) | `` |
| `コールアウトブロック` | ヒップ/警告/危険などのコールアウト | `::: tip\nヒップ内容\n:::` |
### カテゴリとタグ
- **カテゴリ**: 木構造のドキュメント組織、各カテゴリは独立したソート、説明、通知バナーを設定可能
- **タグ**: 柔軟なマルチタグシステム、タグによるドキュメントフィルタリングをサポート
- **ソート**: カテゴリ内のドラッグ&ドロップソート、ソート値はすべての言語バージョンに自動同期
### 全文検索
Fuse.js ベースのクライアント側あいまい検索をサポート:
- タイトルとコンテンツの全文一致
- カテゴリによるフィルタリング
- 即時検索結果フィードバック
## 多言語システム
### 内蔵言語サポート
- **日本語** (jp): デフォルト言語
- **英語** (en)
- **中国語** (zh)
### 共有フィールド同期
`category`、`tags`、`author`、`sort` は**共有フィールド**です。ある言語バージョンを更新すると、これらのフィールドは他の言語バージョンに自動的に同期されます。手動での一貫性維持は不要です。
### カスケードマージ
デフォルト言語以外のドキュメントリストをリクエストすると、システムは**カスケードマージ**を実行:
1. まずデフォルト言語(中国語)のすべてのドキュメントをベースとして読み込み
2. ターゲット言語のドキュメントをオーバーレイ
3. 特定の言語にのみ存在するドキュメントも結果に含まれる
これにより、中国語バージョンのみのドキュメントでも、英語や日本語のユーザーが閲覧できます。
## GEO 最適化
### 自動 GEO ファイル生成
GEO Wiki Pro は AI 検索エンジンがコンテンツをより良く理解し、インデックスできるように、以下のファイルを自動生成:
- **llms.txt**: AI フレンドリーなサイト概要、すべてのドキュメントのタイトル、サマリー、リンクを含む
- **sitemap.xml**: 検索エンジンがすべてのページを発見できる標準 XML サイトマップ
- **構造化データ**: Schema.org 準拠のドキュメントメタデータ
### GEO 分析ダッシュボード
管理ダッシュボードには GEO 分析ページが用意されており、以下を表示:
- llms.txt と sitemap.xml の現在のステータス
- ドキュメントカバレッジ統計
- 一键再生成機能
## セキュリティメカニズム
### 認証と認可
- **JWT 認証**: httpOnly Cookie ベースのステートレス認証、2 時間で自動期限切れ
- **ロール制御**: admin、editor、viewer の 3 ロールをサポート
- **パスワードセキュリティ**: bcrypt 暗号化ストレージ、初回ログイン時パスワード変更を強制
- **CSRF 保護**: Double-Submit Cookie HMAC メカニズム
### コンテンツセキュリティ
- **CSP ポリシー**: Nonce ベースの Content Security Policy、XSS 攻撃を防止
- **レート制限**: グローバル 300 リクエスト/分、認証エンドポイント 10 リクエスト/分
- **ファイルアップロードセキュリティ**: Magic Bytes タイプ検出 + ファイル名エンコーディング
- **入力フィルタリング**: customHeadHtml の `<script>`、`<iframe>`、`on*` イベント属性の自動フィルタリング
- **Slug 検証**: 正規表現検証 + 長度制限 + 重複チェック
## コラボレーション機能
### ドラフト承認ワークフロー
1. エディターがドラフトを作成(`drafts/` ディレクトリに保存)
2. 管理者がドラフト内容をレビュー
3. 承認後、ワンクリックで正式なドキュメントに公開
### バージョン履歴
- 各ドキュメント更新時に自動で履歴バージョンを保存
- 履歴バージョンの表示と比較をサポート
- 履歴バージョンは `history/` ディレクトリに保存
### フィードバックシステム
- リーダーはドキュメントページでフィードバックを送信可能
- 管理者はダッシュボードでフィードバックを表示・処理
- フィードバックステータスの追跡をサポート
## デプロイソリューション
### Docker デプロイ
```bash
cp .env.example .env # JWT_SECRET を設定
docker-compose up -d
curl http://localhost:3002/api/v1/health
```
### NAS デプロイ
UGREEN DXP4800 などの NAS デバイスをサポート、Docker Compose でデプロイ。
### バオタパネルデプロイ
バオタパネルの PM2 マネージャーを通じたデプロイをサポート、国内サーバー環境に最適。
## CLI ツール
GEO Wiki Pro は、機能充实したコマンドラインツール `geo` を提供:
- ドキュメント CRUD 操作
- カテゴリとタグ管理
- 設定管理
- メディアファイルアップロード
- GEO ファイル再生成
- 全文検索
```bash
geo doc list --category getting-started
geo doc create --file article.md --category getting-started --sort 3
geo config update --hero-title "Welcome"
```