Skip to main content
このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
difyctl は、複数の Dify ホストとアカウントへのサインインを同時に保持できます。各ホストとアカウントの組み合わせが 1 つのコンテキストです。そのメタデータは 設定ディレクトリ 内の hosts.yml に保存され、bearer token は OS の認証情報ストアに保存されます(保護されたファイルへのフォールバックあり)。 各タスクは 1 つのコマンドに対応します。 サインインの手順については、認証 を参照してください。

サインイン

auth login は OAuth 2.0 デバイスフローを実行します。ワンタイムコードと検証 URL を表示してブラウザでその URL を開き、ブラウザでサインインが承認されるのを待ちます。CLI がパスワードに触れることは一切ありません。

フラグ

Dify ホストにサインインします。
SSH セッションからサインインし、検証 URL を別のデバイスで開きます。

出力

コードのプロンプトは stderr に出力され、その後スピナーがブラウザ側の承認を待ちます。
成功すると、確認メッセージが stdout に出力されます。
Workspace: の行はデフォルトのワークスペースです。 サインインのたびに、difyctl on <hostname> というラベルのサーバー側セッションも登録されます。auth devices list を実行すると、すべてのセッションを確認できます。すでにサインイン済みのホストにサインインすると、そのコンテキストに保存された token が更新されます。

終了コード

すべての終了コードについては、出力形式と終了コード を参照してください。

現在の認証情報を確認

auth whoami は、アクティブなコンテキストが誰のものかを表示します。保存されたコンテキストを読み取るだけでサーバーには接続しないため、「どの認証情報がアクティブか」には答えますが、「token がまだ有効か」には答えません。セッションがサーバー側で期限切れになっていても、0 で終了します。

フラグ

スクリプト用:

出力

--json の出力は、idemailname を含む 1 行です。

終了コード

保存済みのコンテキストを一覧表示

auth list は、保存済みのすべてのホストとアカウントの組み合わせを表示し、アクティブなものに印を付けます。auth whoami と同様に、完全にローカルで動作し、サーバーには接続しません。

フラグ

出力

デフォルトのテーブル:
-o json

終了コード

サインアウト

auth logout は、アクティブなコンテキストのセッションをサーバー上で取り消し、その token と hosts.yml のエントリをマシンから削除します。他の保存済みコンテキストには影響しません。 ローカルのクリーンアップは常に実行されます。サーバー側の取り消しが失敗した場合、difyctl は stderr に警告を表示し、認証情報はそのまま削除します。 サインアウト時に読み取れない OS のキーチェーン(ロック中、またはデスクトップセッションがない)に token がある場合も同様です。取り消しはスキップされ、ローカルのクリーンアップは実行されます。

フラグ

なし。

出力

終了コード

アクティブなホストを切り替える

use host は、後続のコマンドの実行先となる保存済みホストを切り替えます。これはローカルな操作で、既存のサインインの中でアクティブなコンテキストを切り替えるだけです。新しいホストを追加するには、代わりに auth login --host を実行します。

フラグ

ドメインを指定して保存済みのホストに切り替えます。

出力

成功すると、新しいアクティブホストが確認されます。
サインインしたことのないドメインを指定すると、既知のホストを列挙した使用方法のエラーになります。

終了コード

アクティブなアカウントを切り替える

use account は、現在のホストでアクティブな保存済みアカウントを切り替えます。use host と同様にローカルな操作で、既存のサインインを切り替えるだけです。

フラグ

アクティブなホスト上で別のアカウントに切り替えます。

出力

成功すると、新しいアクティブアカウントが確認されます。
アクティブなホストに保存されていないメールアドレスを指定すると、既知のアカウントを列挙した使用方法のエラーになります。保存された token がなくなったアカウント(取り消し済み、または セッションの取り消し で削除)を指定すると、サインインしていないエラーになり、再サインインを促すヒントが表示されます。

終了コード

アクティブなセッションを一覧表示

デバイスフローのサインインはいずれも、デフォルトで difyctl on <hostname> というラベルのサーバー側セッションを登録します。auth devices list はアカウントで有効なセッションを一覧表示するので、心当たりのないものを見つけて 取り消す ことができます。

フラグ

アカウントで有効なセッションを一覧表示します。

出力

テーブルでは、現在のサインインが使用しているセッションに * が付きます。サインイン以降に使用していないセッションは、LAST USED が空になります。 --json は単行の JSON を出力します。セッションごとに 1 エントリの data 配列に加え、ページング用フィールドの pagelimittotalhas_more を含みます。各エントリには idprefixclient_iddevice_labelcreated_atlast_used_atexpires_at が含まれます。

終了コード

セッションを取り消す

auth devices revoke はセッションをサーバー側で終了します。ターゲットは、まずラベルの完全一致、次にセッション ID の完全一致、最後に大文字小文字を区別しないラベルの部分一致で照合されます。複数のセッションに一致するターゲットを指定すると、候補が列挙されて失敗するため、正確な ID を渡して曖昧さを解消します。 ターミナルでは、difyctl がまず確認を求めます。-y/--yes を渡すとプロンプトをスキップできます。ターミナル外(スクリプトやパイプ)では、確認なしで取り消します。 現在のサインインが使用しているセッションを取り消すと、difyctl はそのコンテキストのローカル認証情報も削除します。このマシンではサインアウトされます。

引数

  • <target>auth devices list で得られるデバイスラベルまたはセッション ID。--all を渡す場合を除き必須です。

フラグ

ラベルを指定して 1 つのセッションを取り消します。
このマシンのセッションを残し、他のすべての場所からサインアウトします。

出力

成功すると、difyctl✓ Revoked <N> session(s) を出力します。指定したターゲットが何にも一致しない場合は、no session matches "<target>" で失敗します。他にセッションがない状態で --all を指定すると、no sessions to revoke を出力して 0 で終了します。

終了コード

すべての終了コードについては、出力形式と終了コード を参照してください。
Last modified on July 16, 2026