このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。各アプリ操作は 1 つのコマンドに対応し、いずれも グローバルフラグ を受け付けます。
difyctl get appはアプリを一覧表示しますdescribe appは単一アプリの詳細と入力を表示しますrun appは単一アプリを呼び出しますresume appは 人間の入力で一時停止した ワークフローを継続しますexport studio-app/import studio-appはアプリを DSL ファイルとしてエクスポート / インポートします
アプリを一覧表示
引数
[app-id]:任意。表示する単一アプリの ID。省略すると、ワークスペース内のすべてのアプリを一覧表示します。
フラグ
例
ワークスペース内のアプリを一覧表示します:出力
デフォルトのテーブル:
終了コード
全体の体系は 出力形式と終了コード を参照してください。
アプリを確認
describe app は、よく知らないアプリを実行する前に確認したいこと、つまりアプリのタイプ、API が有効かどうか、どんな入力が必要かを教えてくれます。
引数
<app-id>:必須。確認するアプリの ID。
フラグ
例
実行前にアプリを確認します:--inputs をプログラムで組み立てるために入力スキーマを抽出します:
出力
デフォルトのテキストビュー:
Description: 行が、アプリが agentic な場合は Agent: true 行が表示されます。
-o json では、3 つのキーはそれぞれ次のとおりです:
info:上記のNameからService APIまでのメタデータ項目parameters:上記のパラメータブロックinput_schema:アプリ入力の正規化されたリスト。jq '.input_schema'の例が読み取る項目
終了コード
アプリを実行
run app は、すべてのアプリタイプを 1 つのコマンドで扱います。CLI がアプリのタイプを判別し、適切なエンドポイントに振り分けます。アプリタイプによって変わるのは、入力の渡し方とレスポンスの形だけです:
- チャットボット、Chatflow、Agent:位置引数のメッセージを受け取り、応答を stdout に出力し、会話のヒントを stderr に出力します。
- テキストジェネレーター:位置引数のメッセージを受け取り、補完結果を stdout に出力します。会話状態もヒントもありません。
- ワークフロー:
--inputsで JSON オブジェクトを受け取り、その出力を stdout に出力します。出力が単一の文字列のときはそのまま、それ以外はコンパクトな JSON として出力します。
引数
<app-id>:必須。実行するアプリの ID。get appから取得します。[message]:ユーザーメッセージ。チャットボット、Chatflow、Agent、テキストジェネレーターのアプリで使います。Workflow アプリは位置引数のメッセージを受け付けないため、その入力は--inputsで渡します。
フラグ
例
チャットボット、Chatflow、Agent、テキストジェネレーターのアプリにメッセージを送信します:出力
レスポンス本体は stdout に出力されます。それ以外(ヒント、進捗、エラー)はすべて stderr に回るため、パイプやリダイレクトの出力が汚れません。チャットボット、Chatflow、Agent のアプリでは、応答に続けて会話のヒントが stderr に出力されます:
--stream を付けると、サーバーが生成するそばから出力が逐次表示されます。アプリの再公開直後に実行が HTTP 422 で失敗した場合、CLI はアプリメタデータのキャッシュをクリアし、コマンドの再実行を促します。
エラーは stderr に出力されます。-o json では、安定した code 項目を持つ構造化された JSON オブジェクトとして返されます。エラーの形は 出力形式と終了コード を参照してください。
終了コード
ワークフローが一時停止する場合
Workflow と Chatflow のアプリには人間の入力ステップを含められます。実行がそこに到達すると、終了せずに一時停止します。コマンドは 終了コード 0 で終了し(一時停止は失敗ではありません)、一時停止を stdout に出力し、すぐに実行できる再開コマンドを stderr に出力します:-o json を付けると、stdout には一時停止が JSON オブジェクトとして出力されます:
-o json で実行し、stdout に "status": "paused" があるか確認します。再開に必要なのは次の 3 つです: form_token、workflow_run_id、そして(フォームが複数の操作を提示する場合は)操作の id。フォームは expiration_time(Unix エポック秒)の時点で期限切れになります。
ワークフローがメールやその他の外部チャネル経由でフォームを配信する場合、form_token は null になり、その実行は CLI から再開できません。
一時停止したワークフローを再開
resume app は、一時停止したワークフローが待機しているフォームを送信し、その実行にアタッチして、run app とまったく同じように出力を表示します。
引数
<app-id>:必須。一時停止ペイロードのapp_id。<form-token>:必須。一時停止ペイロードのform_token。Token は 1 回限りのため、消費済みの token で再開するとエラーが返ります。
フラグ
例
単一操作のフォームを承認し、その入力値を指定します:出力
デフォルトのテキスト出力では、まず stderr が送信を確認し、実行の進行に合わせてワークフローの出力が stdout に出力され、最後に stderr が完了を確認します:
終了コード
アプリをエクスポート
export studio-app は、バージョン管理、バックアップ、または別の場所への インポート のために、アプリの完全な定義を DSL YAML ドキュメントとして書き出します。
Workflow と Chatflow のアプリでは、エクスポートは run app が実行する公開済みバージョンではなく、現在のドラフトを返します。代わりに --workflow-id を使うと、特定の公開済みバージョンをエクスポートできます。チャットボット、Agent、テキストジェネレーターのアプリは公開済みバージョンをエクスポートします。
引数
<app-id>:必須。エクスポートするアプリの ID。get appから取得します。
フラグ
例
アプリの DSL を stdout に出力します:出力
DSL YAML ドキュメントが stdout に出力されます:kind: app ヘッダー、version 項目、そしてアプリの完全な定義です。--output を付けると、同じ内容がファイルに書き込まれ、stderr が確認します:
終了コード
アプリをインポート
import studio-app は、DSL YAML ドキュメントからアプリを作成するか、--app-id で既存のアプリを上書きします。
Workflow と Chatflow のアプリでは、定義をアプリのドラフトに書き込みます。run app は公開済みバージョンを使うため、変更を反映させるにはインポート後に Dify でアプリを公開してください。
フラグ
例
ローカルの DSL ファイルからアプリをインポートします:出力
すべてのステータス行は stderr に出力され、stdout は空のままです。成功すると、stderr が新しいアプリの ID を報告します:Missing plugin dependencies の下にそれらを列挙します。アプリを使う前にインストールしてください。