Skip to main content
このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
作業をコーディングエージェントに任せるには、difyctl スキルでエージェントをセットアップ し、このページを渡してください。

アプリの検索

difyctl get console_app を実行すると、アプリが一覧表示されます。一覧に表示されるのはサービス API アクセスがオンになっているアプリだけで、実行できるのもそれらのアプリだけです。
ほかのコマンドでは、アプリの id を --app-id として渡します。mode はアプリの種類を表し、アプリを実行するコマンドはこれによって決まります:
新しい Agent で構築したアプリは、difyctl では一覧表示も実行もできません。代わりに サービス API から呼び出してください。

アプリの入力の確認

difyctl describe console_app を実行すると、アプリの変数について、名前、型、必須かどうかが表示されます。

Workflow アプリの実行

アプリの変数は、変数名をキーとする JSON にまとめ、difyctl run console_app workflow の --inputs で渡します。回答は結果の outputs に、出力ノードの変数をキーとして入ります。
必須変数の名前を間違えると、topic is required in input form などのエラーで実行が失敗します。任意変数の名前を間違えた場合は、エラーにならず、その変数が省かれるだけです。変数名は describe console_app で確認してください。

メッセージの送信またはテキストの生成

アプリの検索 で確認したアプリの種類に対応する run console_app コマンドを使います。メッセージは --query で、変数があれば --inputs で渡します。テキストジェネレーターアプリが受け取るのは、通常 --inputs だけです。応答は結果の text.answer に入ります。

会話の継続

結果の conversation_id を、--conversation-id で次の実行に渡します。
必須の変数は、メッセージを送るたびに渡し直してください。これらの変数を付けずに送ったメッセージは失敗します。
Chatflow アプリの実行が停止した場合や、フォームで一時停止した場合、その結果には conversation_id が含まれません。停止した実行の会話は、引き続き新しいメッセージを受け付けます。こうした場合にも ID を得るには、--stream を付けて実行を開始してください。どのイベントにも、最上位に conversation_id が含まれます。

ファイルの送信

どの実行コマンドでも、--files でファイル変数ごとにローカルファイルのパスを指定できます。ファイルリスト変数には、パスのリストを渡します。Web 上のファイルは、代わりに --inputs で渡します。各ファイル変数は、--files と --inputs のどちらか一方だけで渡してください。

時間のかかる実行の追跡

実行の進行をその場で確認するには、--stream を付けます。イベントが発生するたびに、1 行に 1 つの JSON オブジェクトとして出力されます。Workflow アプリの実行では、最後のイベント workflow_finished の data.outputs に結果が入ります。必要なイベントだけを出力するには、--only でイベント名を 1 つずつ指定します。

実行の停止

Workflow アプリまたは Chatflow アプリの実行を停止するには、その実行 ID を difyctl stop run に渡します。進行中の実行も、人間の入力フォームで一時停止している実行も停止できます。実行 ID は、suspended または incomplete の結果にある run_id です。--stream を付けた場合は、workflow_started イベントの workflow_run_id を使います。 チャットボット、レガシー Agent アプリ、テキストジェネレーターの応答を停止する場合は、代わりに stop task を使います。
Workflow アプリや Chatflow アプリの実行中に Ctrl+C を押しても、止まるのは difyctl だけで、サーバー上の実行は止まりません。実行も停止するには、その実行 ID を stop run に渡します。
実行を停止した時点ですでに始まっているモデル呼び出しや HTTP リクエストは、最後まで処理されます。 スクリプトからは、停止と失敗は同じように見えます。両者を見分ける方法は、実行の終了状態の確認 を参照してください。

チャットボット、レガシー Agent アプリ、テキストジェネレーターの応答の停止

応答を停止できるようにするには、--stream を付けて開始します。そのうえで、最初のイベントにある task_id を difyctl stop task に渡します。
stop task は、存在しないタスク ID や、すでに終わった応答を指定しても {"result": "success"} と出力します。そのため、task_id が停止したい応答のものであることを確認し、そのストリームがまだ開いているうちに stop task を実行してください。停止した応答は、最後まで終わった応答と同じように見えます。ストリームは message_end で終わり、応答を開始したコマンドは終了コード 0 で終了します。回答には、停止するまでに届いた内容だけが含まれます。スクリプトで回答を使う場合は、stop task を呼び出したことをスクリプト側で記録しておいてください。

人間の入力フォームへの回答

difyctl からフォームに回答できるのは、人間の入力ノードが Webアプリ でフォームを配信する場合だけです。
フォームで一時停止した実行は、status が suspended の結果を返します。結果には、アクションボタンごとにヒントが 1 つずつ含まれます。選んだアクションのヒントにある inputs の各 null を回答に置き換えて、そのヒントを実行 します。 または、回答する前にフォームのフィールドを確認したい場合は、いずれかのヒントから form_token を取得して describe run form を実行します。その後、submit run form で回答します。 どちらの方法でも、再開した実行は get run event で追跡します。その際、一時停止した結果の run_id を --run-id に指定します。--include-state-snapshot は省略しないでください。省略すると、コマンドが最大 5 分間何も出力しないことがあります。

実行が失敗した原因の調査

Workflow アプリまたは Chatflow アプリの実行では、失敗した結果の run_id から調べ始めます。または、difyctl get run で失敗した実行を一覧表示します。次に、describe run で実行を、get run node でそのノードを確認します。
--triggered-from app-run は省略しないでください。省略すると、ドラフトのテスト実行しか一覧に表示されません。

トラブルシューティング

どのコマンドでも起こりうるエラーについては、「結果、エラー、終了コード」の トラブルシューティング を参照してください。
Last modified on November 4, 2026