CLI クイックリファレンス

GEO Wiki CLI v1.0.4 コマンド早見表 -- Agent 向けリファレンス

GEO Wiki Pro v1.0.7 コマンドライン管理ツール。AI Agent が知識ベースを自動管理できるようにします。 ## インストール ```bash # Node.js >= 18 が必要 npm install -g geowiki-cli # インストール確認 geo status ``` ## ログイン ```bash # Token ログイン(推奨、90日間有効) geo login --url https://geowiki.pro --token geo_xxxxx ``` ログイン後、Token はローカルに自動保存され、以降のコマンドは自動的に認証情報を携带します。 ## ヘルスチェック ```bash geo health # サーバー状態をチェック(ログイン不要) geo health --json # JSON 形式出力 ``` ## ドキュメント管理 ```bash # ドキュメント一覧 geo doc list --category <category> --lang zh --json # ドキュメント作成(ファイルから) geo doc create --file ./article.md --category <category> --lang zh # ドキュメント作成(直接内容を渡す) geo doc create --title "タイトル" --category docs --slug my-doc --content "# 本文コンテンツ" # ドキュメント取得 geo doc get --slug <slug> --lang zh --json # ドキュメント更新(ファイルから) geo doc update --slug <slug> --file ./updated.md --lang zh # タイトル更新 geo doc update --slug <slug> --title "新タイトル" --lang zh # 説明更新 geo doc update --slug <slug> --description "新説明" --lang zh # 著者更新 geo doc update --slug <slug> --author "張三" --lang zh # タグ更新 geo doc update --slug <slug> --tags "tag1,tag2" --lang zh # 通知更新 geo doc update --slug <slug> --notice "このドキュメントは更新されました" --lang zh # 並び順のみ更新 geo doc update --slug <slug> --sort 0 # カテゴリのみ更新 geo doc update --slug <slug> --category new-category # URL slug のリネーム(全言語同期更新) geo doc slug-rename --slug old-name --new-slug new-name # ドキュメント削除(ゴミ箱に移動、言語指定が必要) geo doc delete --slug <slug> --lang zh --yes # 一括ソート geo doc reorder --orders "slug1:0,slug2:1,slug3:2" ``` ## カテゴリ管理 ```bash geo category list --json geo category create --name "カテゴリ名" --slug category-slug geo category update --slug <slug> --name "新名称" geo category delete --slug <slug> ``` ## タグ管理 ```bash geo tag list --json geo tag create --name "タグ名" --slug tag-slug geo tag delete --slug <slug> ``` ## メディアアップロード ```bash geo media upload --file ./image.png geo media upload --file ./document.pdf --directory docs geo media list --json ``` ## 設定管理 ```bash geo config get --json geo config update --site-name "新サイト名" geo config update --hero-title "新タイトル" --hero-subtitle "新サブタイトル" geo config update --featured-slugs "slug1,slug2,slug3" ``` ## ユーザー管理 ```bash geo user list --json geo user create --username <user> --password <pass> --role editor geo user update --id <user-id> --role admin geo user reset-password --id <user-id> geo user delete --id <user-id> # API Token 管理 geo user token list --json geo user token delete --id <token-id> ``` ## 下書き管理 ```bash geo draft list --json # 下書き一覧 geo draft get --slug <slug> # 下書き内容を表示 geo draft publish --slug <slug> --lang zh # 下書きを公開 geo draft publish --slug <slug> --lang en # 下書きを公開(言語指定) geo draft delete --slug <slug> --lang zh # 下書きを削除 geo draft delete --slug <slug> --lang en # 下書きを削除(言語指定) ``` ## その他のコマンド ```bash geo search "キーワード" --lang zh --json # ドキュメント検索 geo stats --json # ダッシュボード統計 geo feedback list --json # フィードバック管理 geo guestbook list --json # ゲストブック管理 geo geo status # GEO 最適化ステータス geo geo report --json # GEO 分析レポート geo geo rebuild # llms.txt / sitemap 再構築 ``` ## グローバルオプション すべてのコマンドは `--json` フラグをサポートし、構造化 JSON を出力します。Agent のパースに適しています。 ## Agent 注意事項 ### 1. sed で NAS 上のファイルを直接編集しない ```bash # エラー:ファイルが切り捨てられ、sed は変更部分のみ保持する ssh user@nas "sed -i 's/old/new/' /path/to/file.md" # 正しい:CLI または API を使用して更新 geo doc update --slug <slug> --file ./updated.md ``` **理由**:`sed -i` は複数行ファイルを処理する際、frontmatter 以外のコンテンツが失われる可能性があります。 ### 2. 中国語ファイル名はエンコードが必要 CLI とフロントエンドはファイル名を自動的に `encodeURIComponent()` エンコードします。API を直接呼び出す場合は手動でエンコードが必要です: ```bash # エラー curl -H "X-Original-Filename: 测试.pdf" ... # 正しい curl -H "X-Original-Filename: %E6%B5%8B%E8%AF%95.pdf" ... ``` ### 3. すべての書き込み操作に CSRF Token が必要 CLI は自動的に処理します。API を直接呼び出す場合は、Cookie から `XSRF-TOKEN` を抽出してリクエストヘッダーに入れる必要があります。 ### 4. サポートされているファイルアップロードタイプ 画像:JPG, PNG, GIF, WebP 動画:MP4, WebM 音声:MP3, WAV, OGG ドキュメント:PDF, DOC, DOCX, TXT, MD 3D モデル:STEP, STP, IGS ## Agent 使用例 ```bash # 完全なワークフロー:ログイン -> ドキュメント作成 -> GEO 再構築 geo login --url https://geowiki.pro --token geo_xxxxx geo doc create --file ./new-article.md --category guide --lang zh geo geo rebuild # 一括インポート for f in ./docs/*.md; do geo doc create --file "$f" --category docs --lang zh done # 検索結果の処理 geo search "API" --json | jq '.[] | {slug, title}' ```