Skip to main content
タスクの自動化

スクリプトでの実行

概要

ヘッドレス(非対話)モードでは、Qoder CLI をインタラクティブインターフェースなしで実行できます。プロンプトを受け取り、タスクを実行し、結果を標準出力に出力して終了します。Qoder をシェルスクリプト、自動化プロセス、CI/CD パイプラインに組み込む場合に最適です。 ヘッドレスモードに入るには、--print(短縮形 -p)を追加します。
qoder -p "このコードリポジトリのアーキテクチャを説明してください"
確認を行うユーザーが不在となるため、ヘッドレスモードでの権限は事前に構成しておく必要があります。本来ポップアップでの確認が必要な操作は、テキストのみのヘッドレスモードでは自動的に拒否されます。詳細については、権限 を参照してください。

基本的な使い方

プロンプトを引数として渡し、-p を追加します。
qoder -p "今回の変更のコミットメッセージを生成してください"
標準入力からプロンプトを渡すこともできます。
echo "昨日のすべてのコード変更を要約する" | qoder -p
スクリプトで出力をキャプチャします。
result=$(qoder -p "src ディレクトリ内のすべてのエクスポート関数をリストアップしてください")
echo "$result"

出力形式

--output-format(短縮形 -o)を使用して出力形式を指定します。デフォルトは text です。
形式説明適用シーン
text純テキスト結果(デフォルト)直接読む、シンプルなスクリプト
json結果とメタデータを含む単一の JSON オブジェクト最終結果をプログラムで解析する必要がある場合
stream-json逐次出力される JSON メッセージストリーム中間プロセスをリアルタイムで消費する必要がある場合
例:
# プレーンテキスト(デフォルト)
qoder -p "main.tsの役割を説明して"

# JSON:スクリプトでの解析が容易
qoder -p "main.tsの役割を説明して" --output-format json

# Stream JSON:メッセージストリームをリアルタイムで消費
qoder -p "utilsモジュールをリファクタリングして" --output-format stream-json
入力形式は --input-format で指定でき、textstream-json がサポートされています。stream-json 入力を使用する場合、標準入力を通じて構造化メッセージを継続的に送信できます。

一般的な引数

ヘッドレスモードでは、通常以下の引数と組み合わせて使用します。
引数説明
-p, --printレスポンスを出力して終了(非対話)
-o, --output-format <format>出力形式:text / json / stream-json
--input-format <format>入力形式:text / stream-json
--max-turns <count>単一クエリの最大会話ターン数を制限
--permission-mode <mode>権限モードを設定
--allowed-tools <tool>指定されたツールのみを許可
--disallowed-tools <tool>指定されたツールを禁止
-m, --model <model>モデルを指定
--session-id <id>指定されたセッション ID を使用
-w, --cwd <dir>起動前に作業ディレクトリを切り替え
完全な引数リストについては、CLI コマンドとパラメーター を参照してください。

権限制御

ヘッドレスモードにはインタラクティブな確認がないため、権限引数を使用して、どの操作を自動実行できるかを事前に決定する必要があります。
# ファイル編集は自動承認され、Shell コマンドは引き続き拒否されます
qoder -p "utils モジュールをリファクタリングする" --permission-mode accept_edits

# 特定のツールのみを許可する
qoder -p "ステータスを確認する" --allowed-tools 'Read,Bash(git status)'

# すべて許可する(信頼できるシナリオのみ)
qoder -p "データベースマイグレーションを実行する" --yolo
  • テキストのみのヘッドレスモードでは、「確認が必要」な操作はデフォルトで拒否されます。ホストプログラムによって stream-json プロトコル経由で駆動される場合(エージェント SDK など)、確認リクエストはホストプログラムの判断に委ねられます。詳細は 権限 の「異なる実行環境における ask の消費方法」を参照してください。
  • --permission-mode accept_edits を使用すると、作業ディレクトリ内の安全なファイル編集を自動的に承認できます。
  • --yolo--permission-mode bypass_permissions と同等)を使用すると、すべての確認をスキップできます。完全に信頼された環境でのみ使用することを推奨します
各権限モードの動作の詳細については、権限 を参照してください。

CI/CD の例

パイプラインでは、通常、環境変数を使用して認証を完了してから、ヘッドレスモードで実行します。
export QODER_PERSONAL_ACCESS_TOKEN="your_token"

qoder -p "今回の変更をレビューし、潜在的な問題をリストアップしてください" \
  --output-format json \
  --permission-mode accept_edits \
  --max-turns 20
認証方法については、サインインと認証 を参照してください。出力形式を json に設定することで、パイプラインの後続ステップで Qoder の結果を解析しやすくなります。
Qoder CLI を使用する