このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
サインインの更新#
サインインの有効期間は 14 日間です(セルフホストのサーバーでは OAUTH_TTL_DAYS で変更できます)。difyctl を使っても延長されません。期限が切れると、サインインし直すまで、サインインを使うすべてのコマンドが auth_expired(終了コード 4)で失敗します。期限は セッション一覧 の expires_at で確認できます。
セルフホストのサーバーでは、ACCESS_TOKEN_EXPIRE_MINUTES と REFRESH_TOKEN_EXPIRE_DAYS を変更しても、difyctl のサインインの有効期間は変わりません。
更新するには、もう一度 login を実行します。login はまずサインアウトし、それから新しいサインインを開始します。新しいサインインに失敗した場合は、成功するまでサインアウトした状態が続きます。
複数のサーバーやアカウントの利用#
1 つの 設定フォルダ に保持できるサインインは 1 つで、新しくサインインすると置き換わります。サーバーを切り替えるには、新しい --server を指定して login を実行します。アカウントを切り替えるには、login を実行し、切り替え先のアカウントで Dify にサインインしたブラウザで承認します。
複数のサーバーやアカウントに同時にサインインしておくには、DIFY_CONFIG_DIR でサインインごとに別のフォルダを指定します。そのサインインを使うコマンドでは、毎回この変数を設定してください:
なお、1 台のマシンから同じサーバーに同じアカウントでサインインする場合、2 つのフォルダに別々のサインインは保持できません。一方のフォルダでサインインすると、もう一方のセッションは終了します。
ワークスペースの切り替え Cloud #
別のワークスペースで作業するには、ワークスペースの一覧からその id を確認し、切り替えます:
切り替えが適用されるのは、この difyctl のサインインだけです。ブラウザで開いている Dify のワークスペースは変わりません。difyctl の現在のワークスペースは、difyctl describe workspace で確認できます。
次の 2 つの場合は、切り替えが上書きされます:
- サインインし直すと、
difyctlはそのサインインを承認したワークスペースに戻ります。 DIFY_WORKSPACE_IDが設定されている場合、difyctlはそのワークスペースで動作し、use workspaceは失敗します。切り替えるには、この変数の設定を解除してください。
切り替えずに 1 つのコマンドだけを別のワークスペースで実行するには、--workspace-id を追加します:
--app-id を受け取るコマンドは、所属するすべてのワークスペースからアプリを探すため、--workspace-id は不要です。ただし、check console_app dsl と import console_app dsl は例外です。別のワークスペースのアプリには、--workspace-id でそのワークスペースを指定してください。
トークンの保存場所#
difyctl は、トークンを OS のキーチェーンにサービス名 difyctl で保存します。macOS では Keychain、Windows では Credential Manager、Linux では Secret Service です。
次の場合は、代わりに設定フォルダ内の tokens.yml にトークンを書き込みます:
--no-keyringを付けてサインインした場合- デスクトップのセッションバスがない Linux を使っている場合(
DBUS_SESSION_BUS_ADDRESSが未設定) - サインイン時にキーチェーンを使用できない場合
tokens.yml は、コンテナイメージ、共有するバックアップ、バージョン管理に含めないでください。
設定フォルダの場所は次のとおりです:
- macOS:
~/.config/difyctl - Linux:
$XDG_CONFIG_HOME/difyctl。XDG_CONFIG_HOMEが未設定の場合は~/.config/difyctl - Windows:
%APPDATA%\difyctl
別のフォルダを使うには、DIFY_CONFIG_DIR を設定します。
サインアウト#
アカウントを切り替える場合は、そのまま login を実行します。login はまず現在のアカウントからサインアウトします。
マシンを使い終えたら、logout を実行します:
logout はサーバー上のセッションを終了し、このマシンからトークンとサインイン情報を削除します。サーバーに接続できない場合も、このマシン上の情報は削除されます。ただし、サーバー上のセッションは、期限が切れるか自分で 終了する まで有効なままです。
セッションの確認と終了#
どこでサインインしているかを確認するには、セッションを一覧表示します:
各セッションには、id、マシンのホスト名を示す device_label、有効期限を示す expires_at が表示されます。
もう手元にないマシンなど、別のマシンのセッションを終了するには、ID を指定して削除します。使用中のマシンのセッションを誤って終了しないよう、device_label で対象を選んでください。
現在使用中のセッションを終了するには、代わりに logout を実行します。ID を指定して削除すると、保存済みのサインイン情報が残ったままになり、次のコマンドが auth_expired で失敗します。