mcpField
G
grok-cli

grok-cli

github.com/moore-developersエージェントワークフロー5278 回インストール11 週間前に更新
リポジトリ

grok-cli について

grok-cliはGrok / xAIへのリクエストを実行するコマンドラインツールで、このスキルはそれを再現可能なワークフローにします。CLIからGrokの機能を使う人向けで、入力の保持、出力形式に応じた表示、実際のエラーに基づく復旧を重視します。

主な機能

  1. 01Grokのチャットと検索の実行
  2. 02画像・動画の生成と編集
  3. 03音声合成と文字起こし
  4. 04OAuthログインとトークン更新の管理
  5. 05自動化向けJSON出力

活用シーン

  1. 01CLIからGrokの検索やチャットを依頼
  2. 02画像・動画・音声コンテンツの生成や編集
  3. 03Grokコマンドを自動化ワークフローに組み込む

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/moore-developers/grok-cli --skill grok-cli

インストール後、Claude Code で/grok-cliを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
commands-advanced.md
commands-basic.md
commands-media.md
errors.md
install-and-auth.md
outputs.md

詳細

Grok CLI スキル

このスキルは、ユーザーの Grok / xAI に関するリクエストを、決定的な grok-cli ワークフローに変換します。スキルを最優先します。対応するリリースプラットフォームでは、ソースからコンパイルする代わりに、ビルド済みの GitHub リリースバイナリを優先してください。現在、macOS Apple Silicon ではメンテナーがアップロードしたリリース tarball を使用し、Windows x64 では GitHub Actions でビルドされたリリース zip を使用します。macOS Intel / Linux では、引き続き Cargo を使ってソースからビルドします。

リポジトリ:

https://github.com/Moore-developers/grok-cli

基本的なワークフロー

  1. ユーザーが意図する Grok の機能を特定します。
  2. コマンドを組み立てる際は、ユーザーの元のプロンプト、クエリ、テキスト、ファイルパス、URL、出力指示を保持します。
  3. 自動化、解析、信頼性の高いエラー処理には、明示的なフラグと --json を優先します。
  4. 最短経路:grok-cli が利用可能な場合は、ユーザーが要求した grok-cli コマンドを直接実行します。通常の chat、search、usage、メディア、音声コマンドの前に、status、state、ログイン確認、リフレッシュ確認、利用資格確認、機能プローブを実行してはいけません。
  5. コマンドが成功した場合は、以下の出力モードの仕様に従って結果を表示します。
  6. コマンドが失敗した場合は、実際のシェルエラーまたは JSON エラーエンベロープを確認し、それに該当する復旧手順のみを実行します。
  7. 復旧手順が成功したら、復旧した環境で必要な機械的修正を除き、ユーザーの元のコマンドを変更せずに 1 回だけ再試行します。
  8. 再試行も失敗した場合は、元のエラーコードとメッセージを返し、必要最低限の実行可能な補足を加えます。

インストール、ログイン、リフレッシュ、権限の問題に対処する際も、元のタスクを念頭に置いてください。これらは実際の失敗後に行う復旧手順であり、事前確認ではありません。

出力モードの契約

デフォルトの出力モードは、情報を損なわない人間が読みやすい形式での表示です。JSON エンベロープを解析し、コマンド固有の主要フィールドを抽出して、その値を返されたとおりに表示します。ユーザーが明示的に raw JSON を求めた場合に限り、完全な raw JSON を返します。

ホストアシスタントは Grok の結果を表示するものであり、デフォルトでは二次編集者ではありません。ユーザーがホストアシスタントに翻訳、要約、再構成、書き換え、書式設定、分析を明示的に求めない限り、ユーザーの依頼と Grok の応答の両方をそのまま保持します。

入力の処理:

  • ユーザーの実質的なプロンプト、クエリ、テキスト、URL、ファイルパス、指定された出力形式を、書かれたとおりに grok-cli に渡します。
  • Grok に送信する前に、ユーザーの文言を翻訳、要約、拡張、短縮、整理、正規化、改善、再解釈しないでください。
  • ユーザーが明示的に指定していない限り、隠れた指示、追加のコンテキスト、望ましい構成、安全に関する文言、スタイルルール、例を Grok のプロンプトに加えないでください。
  • シェルや CLI に必要な引用符付け、エスケープ、適切なフラグの選択、ユーザーが指定した日付フラグの追加、ローカルパスの解決など、機械的な変更のみ行ってください。
  • セットアップの確認、認証チェック、権限チェックは、ユーザーの元のタスクとは別のものです。それらのプロンプトや出力を、ユーザーの Grok リクエストに混ぜないでください。

出力の処理:

  • テキストコマンドでは、Grok が生成したテキスト値をそのまま表示します:chat --json の data.output_text、search --json の data.answer、stt --json の data.transcript。
  • Grok のテキストを要約、言い換え、翻訳、並べ替え、削除、Markdown として整形、見出しや箇条書きの追加、文法の修正、引用の本文への統合など、いかなる方法でも書き換えないでください。
  • チャット画面で可能な限り、Grok の空白、改行、コードフェンス、引用、番号、文言を保持してください。
  • メディアコマンドでは、JSON フィールドに含まれる生成ファイルのパス、URL、データ URL、リクエスト ID、メディアタグ、ハンドルをそのまま返します。名前を変更したり、注釈を加えたりしないでください。
  • ユーザーが raw CLI 出力または raw JSON を求めた場合は、安全に表示するために必要な最小限のフェンス以外は変更せず、標準出力/標準エラーのペイロード全体を返します。
  • ユーザーがホストアシスタントに Grok の出力の要約、翻訳、書き換え、抽出、書式設定、比較、分類、再構成を明示的に求めた場合は、変換モードに切り替え、結果が Grok の逐語的な出力ではなく変換されたものであることを明確にします。
  • 復旧処理を行った場合は、Grok の結果の後にのみ、短い別個の注記としてその旨を伝えます。復旧に関する説明を Grok の結果に挿入しないでください。
  • コマンドが失敗した場合は、元のエラーコードとメッセージを返します。認証、利用資格、コマンド形式の問題に対する、実行に必要な最小限の復旧案内のみ追加します。

ファストパスと復旧

通常のユーザータスクでは、楽観的に実行します:

  1. たとえば grok-cli search --json --query "..." のように、ユーザーの元のコマンドを組み立てます。
  2. そのコマンドを直接実行します。
  3. 成功した場合は、結果を表示します。
  4. 失敗した場合は、実際のエラーに基づいて復旧し、元のコマンドを一度だけ再試行します。

実際のユーザーリクエストの前に、grok-cli search --json --query "Grok" や grok-cli chat --json --prompt "Reply with exactly: ok" のような準備状況の確認を実行しないでください。検索を依頼された場合は、まず実際の検索を行います。

構造化された復旧:

  • JSON エラーに error.recovery_action が含まれている場合は、それを唯一の信頼できる情報源として扱います。code、message、relogin_required、entitlement_denied を別のアクションに読み替えないでください。
  • refresh_then_retry:grok-cli refresh --json を実行してから、元のコマンドを一度だけ再試行します。
  • login_then_retry:grok-cli login を実行してから、元のコマンドを一度だけ再試行します。
  • wait_then_retry:error.retry_after_seconds が存在する場合はその秒数だけ待ってから、元のコマンドを一度だけ再試行します。再試行までの時間が示されていない場合は、レート制限メッセージを返します。
  • fix_args_then_retry:不足または互換性のない引数が明らかな場合はコマンドの形式を修正し、一度だけ再試行します。
  • stop_billing:停止し、公式アカウントの請求、残高、クレジット、または支出上限を CLI の外部で修正する必要があることを説明します。
  • stop_quota:停止し、クォータまたは使用量の上限に達していることを説明します。
  • stop_rate_limit:停止し、上流のレート制限で再試行可能な時間が示されていないことを説明します。
  • stop_entitlement:停止し、アカウントまたはサブスクリプションではその機能を利用できないことを説明します。
  • stop_unknown または none:必要最小限の説明を添えて、元のエラーコードとメッセージを返します。

recovery_action がない古い grok-cli バージョンでのフォールバック処理:

  • シェルで grok-cli が見つからない場合:インストールし、grok-cli --version と grok-cli --help で確認してから、元のコマンドを再試行します。
  • シェルでサブコマンドが見つからない場合:インストールを修復またはアップグレードし、grok-cli --help で確認してから、元のコマンドを再試行します。
  • 認証情報の問題は、利用資格に関する文言より優先されます。エラーコードまたはメッセージに auth_missing、無効な認証、bad-credentials などの認証情報検証失敗、The OAuth2 access token could not be validated、期限切れのトークン、古いトークン、または auth_expired が含まれる場合は、まず grok-cli refresh --json を実行してから、元のコマンドを再試行します。同じエラーエンベロープに entitlement_denied: true または xai_oauth_tier_denied も含まれている場合でも、同様に実行してください。
  • ローカルの認証状態が見つからない、更新してもセッションを復旧できない、または relogin_required が true であるために更新が失敗した場合は、grok-cli login を実行してから、元のコマンドを再試行します。
  • 元のコマンドからの JSON エラーが state_file_missing、auth_relogin_required、または relogin_required: true の場合、更新では解決しない可能性が高いため、grok-cli login を実行してから、元のコマンドを再試行します。
  • status --json の access_token_expiring:ユーザーが status または診断を明示的に要求した場合にのみ更新します。通常のタスクを行う前に、これを確認する目的で status を実行しないでください。
  • billing_required、payment_required、insufficient funds、insufficient balance、credits、または spend cap:停止し、公式アカウントの請求または残高を CLI の外部で修正する必要があることを説明します。
  • quota_exhausted、insufficient_quota、quota exceeded、または usage limit:エラーに再試行可能な時間が示されている場合を除き、停止してクォータを使い切っていることを説明します。
  • rate_limited または rate limit:エラーに再試行までの時間が示されている場合にのみ再試行します。そうでない場合は停止します。
  • 認証情報の検証に関する文言を伴わない entitlement_denied または xai_oauth_tier_denied:アカウントまたはサブスクリプションではその機能を利用できないことを説明します。エラーで再ログインが明示的に必要とされている場合を除き、再試行、再インストール、更新、再ログインを行わないでください。
  • invalid_args:正しい形式が明らかな場合はコマンドの形式を修正し、一度だけ再試行します。必須情報が不足している場合は、不足している情報をユーザーに尋ねます。

復旧後は、プローブ用コマンドではなく、ユーザーが元々指定したコマンドを再試行します。元のプロンプトまたはクエリは一字一句変えずに保持します。

このスキルでユーザーができること

ユーザーが grok-cli の主要なインターフェースとしてこのスキルを利用できるようにします。リクエストは、次のサポート対象機能に振り分けてください。

  • chat による一般的な Grok の推論と文章作成
  • search による X / Twitter の検索
  • image による画像生成
  • image-edit による画像編集
  • video による動画生成
  • video-edit による動画編集
  • video-extend による動画の延長
  • tts によるテキスト読み上げ
  • stt による音声からテキストへの一括変換
  • stt-stream による実験的なストリーミング音声認識
  • OAuth のインストール/ログイン/更新/ステータス確認/ログアウト/状態確認
  • usage によるローカルでの使用状況の確認

サポートに関する重要なルール:

  • video は、テキストから動画への生成、--image-url、ローカルの --image、--reference-image-url、およびローカルの --reference-image に対応しています。
  • video-edit は、--video-url とローカルの --video の両方に対応しています。
  • video-extend は --video-url のみに対応しています。
  • video-extend --video <PATH> は案内しないでください。実際の検証では、ローカルの MP4 入力は xAI に到達するものの、延長生成は上流側の内部エラーで終了します。ユーザーには、まず動画をアップロードしてから --video-url を使用するよう案内してください。
  • image-edit --image は、ローカルパスとリモート URL を受け付けます。
  • stt は、ローカルファイルとリモートの --url に対応しています。
  • stt-stream は実験的な機能です。ユーザーがストリーミング動作を明示的に必要としている場合を除き、stt を優先してください。

インストールの確認

まず、コマンドが存在するか確認します。

command -v grok-cli
grok-cli --version
grok-cli --help

バージョンだけでは不十分です。古いプレリリース版が、新しいコマンドを含んでいないにもかかわらず、有効なバージョンを報告することがあります。トップレベルのヘルプに、次の必須コマンドが含まれていることを確認します。

image-edit
video-edit
video-extend
stt-stream
update

grok-cli が見つからない場合、または必須コマンドが一つでも見つからない場合は、まずプラットフォームを特定し、次の順にインストール方法を選びます。

  • macOS Apple Silicon:GitHub Release のアセット grok-cli-macos-aarch64-apple-darwin.tar.gz を優先します。
  • Windows x64:GitHub Release のアセット grok-cli-windows-x86_64-pc-windows-msvc.zip を優先します。
  • macOS Intel と Linux:Cargo を使ってソースからインストールします。
  • 対象プラットフォーム用のリリースアセットが予期せず見つからない場合は、そのことを明確に伝え、対象プラットフォームでCargoに黙って切り替えないでください。
  • Cargo を使うのは、ユーザーが明示的にソースからのビルドを求めた場合、またはそのプラットフォームがソースからのインストールを優先する場合に限ります。

プラットフォームがソースからのインストールを優先する場合、またはユーザーが明示的にソースからのビルドを希望している場合に限り、Cargo が利用可能か確認します。

command -v cargo

ソースからインストールする場合は、使用中のコンパイラーのバージョンも確認します。

rustc --version

grok-cli をソースからインストールするには、Rust 1.88 以降が必要です。このクレートは edition 2024 を使用し、rust-version = "1.88" を宣言しているためです。CI とローカル開発では、rust-toolchain.toml によって Rust 1.92.0 に固定されています。

ユーザーのプラットフォームに対応する場合は、既定で GitHub Release のバイナリを使用します。

  • macOS Apple Silicon:grok-cli-macos-aarch64-apple-darwin.tar.gz
  • Windows x64:grok-cli-windows-x86_64-pc-windows-msvc.zip

macOS Intel または Linux で Cargo が見つからない場合は、バイナリのインストール方法を勝手に作らず、まず Rust/Cargo が必要であることをユーザーに伝え、rustup を使った Rust のインストールを案内します。

rustc --version の結果が 1.88 より古い場合は、作業を中止し、一般的に「Rust をアップグレードしてください」と伝えるのではなく、具体的な要件を説明します。grok-cli のソースインストールには Rust 1.88 以降が必要であり、リポジトリのツールチェーンは現在 1.92.0 であることを伝えます。そのうえで、次のいずれかを提案します。

  • macOS Apple Silicon または Windows x64 でリリースバイナリを使う、または
  • ソースからのインストールを優先するプラットフォームで、再試行の前に rustup update を実行する。

リリースバイナリをインストールする場合:

  1. プラットフォームがアセット名と正確に一致していることを確認します。
  2. 最新の GitHub Release からアセットと対応する .sha256 をダウンロードします。
  3. 可能であればチェックサムを検証します。
  4. バイナリを展開します。
  5. grok-cli または grok-cli.exe を、すでに PATH に含まれているディレクトリに配置します。適切なディレクトリがない場合は、~/.local/bin を使って、現在のシェルの PATH に一時的に追加し、恒久的に設定する方法をユーザーに伝えます。
  6. command -v grok-cli が失敗しても、~/.local/bin/grok-cli が存在し、実行可能であれば、インストールの失敗ではなく PATH の設定の問題として扱います。PATH="$HOME/.local/bin:$PATH" を一時的にエクスポートするか、検証時に ~/.local/bin/grok-cli を直接使って続行します。
  7. grok-cli --version と grok-cli --help を実行します。
  8. 元の Grok タスクを再試行します。そのタスクで認証の問題が報告された場合は、以下の OAuth の対応に従います。

Cargo を選ぶ場合、ユーザーが最新の状態を希望しているときは、リポジトリの最新状態からインストールします。

cargo install --git https://github.com/Moore-developers/grok-cli.git --locked --force

指定された公開バージョンをインストールする場合:

cargo install --git https://github.com/Moore-developers/grok-cli.git --tag v0.1.6 --locked --force

インストール後、次のコマンドで確認します。

grok-cli --version
grok-cli --help
grok-cli update --check --json

ユーザーが CLI のアップグレードを明示的に希望した場合は、grok-cli update を使います。受動的な更新通知を無効にしたい場合は grok-cli update --no-update-check を、通知を再び有効にしたい場合は grok-cli update --enable-update-check を使います。通常の Grok タスクの前に更新確認を実行しないでください。CLI は JSON および raw stream による自動化出力では、受動的な更新通知を省略します。

コマンドが見つからないために再インストールした場合は、検証後に元のユーザータスクを再実行します。インストールだけで終わらせないでください。

OAuth の処理

通常の Grok 呼び出しの前に OAuth の状態を確認しないでください。まずユーザーの実際のコマンドを実行し、認証の問題が報告された場合にのみ復旧してください。

現在の grok-cli の JSON エラーでは、error.recovery_action に従ってください。

  • refresh_then_retry:grok-cli refresh --json を実行し、元のコマンドを一度だけ再実行します。
  • login_then_retry:grok-cli login を実行し、元のコマンドを一度だけ再実行します。
  • stop_billing、stop_quota、stop_rate_limit、stop_entitlement:処理を停止して障害要因を伝えてください。リフレッシュ、再ログイン、再インストール、プローブの実行はしないでください。

recovery_action がない古い grok-cli の JSON エラーでは、上記の復旧マップをフォールバックとして使用してください。再試行しても失敗する場合は、返された構造化エラーを明確に説明し、エラーで再ログインが必要とされている場合にのみログインを求めてください。

コマンドの振り分け

信頼性の高い自動化のため、明示的なフラグと --json をデフォルトで使用してください。

一般的な Grok の推論や回答には chat を使用します。

grok-cli chat --json --prompt "Summarize this topic"

X/Twitter/ソーシャルの議論の検索には search を使用します。

grok-cli search --json --query "What are builders saying about Grok today?"

X の検索タスクでは:

  • ユーザーが今日、最近の議論、または期間を指定した検索を求めている場合は、関連する日付フラグを含めてください。
  • 検索クエリのテキストは、ユーザーが書いたとおりに渡してください。
  • コマンドの実行後、data.answer を Grok が返したとおりに返してください。
  • 引用を提示する場合は、data.citations と data.inline_citations をそのまま保持してください。
  • ユーザーが明示的に分析を求めていない限り、十分性、感情、意味についてホスト側アシスタントの結論を加えないでください。
  • コマンド自体が結果の不足や欠落を報告した場合は、別の要約に変えず、そのメッセージをそのまま伝えてください。

画像の生成には image を使用します。

grok-cli image --json --prompt "A cinematic skyline at sunrise"

画像の編集には image-edit を使用します。

grok-cli image-edit --json --image ./source.png --prompt "Make it cinematic"

動画の生成には video を使用します。

grok-cli video --json --prompt "Animate a futuristic skyline" --duration 8

既存の動画の編集には video-edit を使用します。

grok-cli video-edit --json --video-url https://example.com/source.mp4 --prompt "Make it cinematic"

既存の動画の延長には video-extend を使用します。

grok-cli video-extend --json --video-url https://example.com/source.mp4 --prompt "Continue the camera move" --duration 6

テキスト読み上げには tts を使用します。

grok-cli tts --json --text "Hello from Grok"

バッチ音声テキスト変換には stt を使用します。

grok-cli stt --json --file ./sample.wav

ローカルの使用状況統計には usage を使用します。

grok-cli usage --json

よく使うパラメーター早見表

一般的なオプションと代表的な値を確認するには、このページを使ってください。ユーザーからまれなフラグ、正確な値の範囲、または複雑な組み合わせルールについて尋ねられた場合は、ここで説明を続けず、以下の該当するリファレンスファイルを開いてください。

  • login:通常のブラウザーコールバックを完了できないマシンでは、--no-browser、--manual-paste、--timeout 300、--port 8787 を使います。
  • status、refresh、logout、state:別のローカル OAuth 状態ファイルを使いたい場合は、--auth-file <PATH> を使います。
  • model:chat と search の共通デフォルトテキストモデルを設定するには、--model grok-4.5 または --model grok-4.6 を使います。ほかのテキストモデルはサポートされていません。
  • usage:特定のローカル使用状況レコードには、--session-db <PATH> と --session-id <ID> を使います。
  • chat:--prompt または位置引数のプロンプト、--system、--model、--no-web-search、--with-x-search、--allowed-domain example.com、--stream、--no-stream、--raw-stream、--timeout 3600 を使います。
  • search:--query または位置引数のクエリ、--model、--allowed-x-handle xAI、--from-date 2026-05-01、--to-date 2026-05-21、--stream、--no-stream、--raw-stream、--timeout 3600 を使います。
  • image:--count 1-10、--response-format url|b64_json、--output-file <PATH>、--output-dir <PATH>、--aspect-ratio 1:1、--resolution 1k を使います。
  • image-edit:--image は最大 3 回まで繰り返し指定できます。ローカルに書き出す場合は、--output-file <PATH> と --response-format b64_json を使います。
  • video:--image ./source.png、--reference-image ./a.png、--duration 8、--aspect-ratio 16:9、--resolution 720p を使います。
  • video-edit:--video ./source.mp4 または --video-url https://... を使います。
  • video-extend:--video-url https://... と --duration 6 を使います。
  • tts:--list-voices、--text、--voice-id ara、--language en、--output ./out.mp3、--output-format mp3 を使います。
  • stt:--file ./sample.wav、--url、--language auto、--format true、--diarize、--keyterm Grok、--filler-words を使います。
  • stt-stream:--file ./sample.wav、--interim-results、--language auto、--sample-rate 16000 を使います。

リファレンスマップ

正確なフラグの動作、一般的でない組み合わせ、またはパラメーターの全容を確認するには、該当するリファレンスファイルを使ってください。

  • references/install-and-auth.md:インストール、status、login、refresh、logout、state、auth-file の処理。
  • references/commands-basic.md:chat、search、model、usage、テキストコマンドのフィルター。
  • references/commands-media.md:image、image-edit、video、video-edit、video-extend、TTS、STT の一般的な使い方。
  • references/commands-advanced.md:正確な値、まれなフラグ、組み合わせルール、エッジケース。
  • references/errors.md:JSON エラー、認証の復旧、利用資格の処理。
  • references/outputs.md:読み取るべき安定した JSON フィールド。

ユーザーがローカルのメディアパスを指定した場合:

  • image-edit --image ./file.png:サポートされています
  • video --image ./file.png:サポートされています
  • video --reference-image ./file.png:サポートされています
  • video-edit --video ./file.mp4:サポートされています
  • video-extend --video ./file.mp4:現在公開されているスキルの範囲ではサポートされていません。代わりにリモート URL を使うワークフローに変換してください

スキルテスト用プロンプト

Codex または Claude Code がこのスキルを正しく経由し、期待される grok-cli コマンドの形式を選択するかどうかを確認するには、以下のプロンプトを使用してください。すべての公開機能とローカルファイルの対応状況を含む完全なマトリックスについては、以下を参照してください。

  • docs/project/skill-validation-cases.md

最小限のルーティングとパススルーの確認項目:

  • 用 Grok 总结一下最近关于 Rust CLI 设计的讨论,返回结构化结果 期待されるルート:grok-cli chat --json --prompt ...。プロンプトのテキストは変更しないでください。
  • 搜索一下 X 上大家今天怎么评价 Grok CLI 期待されるルート:grok-cli search --json --query ...。クエリのテキストは変更しないでください。
  • 生成一张 1:1 的极简终端图标,保存到本地 期待されるルート:grok-cli image --json --prompt ... --aspect-ratio 1:1 --output-file ...
  • 把这张图片改得更像命令行工具封面:./source.png 期待されるルート:grok-cli image-edit --json --image ./source.png --prompt ...
  • 用这张本地图片做一个短视频:./source.png 期待されるルート:grok-cli video --json --prompt ... --image ./source.png
  • 编辑这个本地视频,让画面更有电影感:./source.mp4 期待されるルート:grok-cli video-edit --json --video ./source.mp4 --prompt ...
  • 把这个视频再延长两秒:https://example.com/source.mp4 期待されるルート:grok-cli video-extend --json --video-url https://example.com/source.mp4 --duration 2 --prompt ...
  • 把这段文字转成 ara 声音的 mp3 并保存 期待されるルート:grok-cli tts --json --text ... --voice-id ara --output ... --output-format mp3
  • 转写这个音频,并保留关键词 Grok 和 CLI:./sample.wav 期待されるルート:grok-cli stt --json --file ./sample.wav --keyterm Grok --keyterm CLI ...

ルーティングの負の確認項目:

  • ユーザーがローカルの動画ファイルを直接延長するよう求めた場合、このスキルは video-extend --video ./source.mp4 を作り出してはいけません。
  • 代わりに、video-extend は現在リモート URL を必要とすることを説明し、アップロード URL のワークフローを尋ねるか、その作成を支援してください。

エラー処理

標準エンベロープから JSON エラーを読み取ります。

{
  "ok": false,
  "command": "chat",
  "error": {
    "code": "auth_missing",
    "message": "...",
    "relogin_required": false,
    "entitlement_denied": false,
    "category": "auth_refreshable",
    "recovery_action": "refresh_then_retry",
    "retryable": true,
    "retry_after_seconds": null,
    "billing_required": false,
    "quota_exhausted": false,
    "rate_limited": false
  }
}

重要な処理ルール:

  • 他のすべてのフィールドより error.recovery_action を優先してください。
  • ローカルバイナリが古いため recovery_action がない場合は、上記の代替リカバリルールを使用してください。
  • 請求、クォータ、および権限のみが原因のブロッカーに対して、更新、ログイン、再インストールを繰り返してはいけません。
  • コマンドが無効な引数を返した場合は、ユーザーに CLI の構文をデバッグしてもらうのではなく、コマンドの形式を修正してください。

ユーザーへの出力

デフォルトでは、情報を損なわず、人が読める形式で表示します。JSON エンベロープを解析し、コマンド固有の主要なフィールドを抽出して、返された値をそのまま表示してください。その後、grok-cli のインストール、認証情報の更新、OAuth の完了など、実施したリカバリについて簡潔に説明してください。

テキストコマンドでは、data.output_text、data.answer、または data.transcript をそのままコピーしてください。メディアコマンドでは、返されたファイルパス、URL、リクエスト ID、メディアタグ、または生成されたメディアハンドルを正確に報告してください。ユーザーが生の JSON を求めた場合に限り、生の JSON を返し、その際は変更しないでください。

コメント