ホームへ戻る

GitHub Repo

Dify 1.18.0でdifyctlのコマンドと出力を刷新、既存のエージェントとCIスクリプトは移行が必要

Difyは10月23日に1.18.0をリリースし、サーバーの操作カタログに基づいてdifyctlのコマンドを探索できるようにするとともに、アプリの作成・管理機能を拡張した。ログイン、JSON出力、再試行の動作も変更されており、コーディングエージェントやCIで自動化しているチームは連携部分の更新が必要だ。

The original uploader was Ggia at Greek Wikipedia. · CC BY-SA 2.5 · Image source
zh-Hant

Difyは10月23日に1.18.0をリリースした。difyctlの変更は、ターミナルからAIワークフローを操作する開発者に直接影響する。新バージョンでは、サーバーの操作カタログを通じてコマンドと入力フィールドを提供する。WorkflowやChatflowの作成、DSLのインポート・エクスポート、公開、バージョンの復元に対応し、ドラフトのハッシュを使ってインポート時に並行編集を上書きしないようにする。これにより、コーディングエージェントはデプロイ先で実際に利用できる操作を探索できる。一方、既存スクリプトには互換性の調整が必要だ。リリースノート

移行では、具体的な呼び出し形式を変更する必要がある。従来のrun appはアプリの種類に応じた操作に置き換わり、たとえばWorkflowではrun console_app workflowを使う。アプリIDは--app-idで渡す。結果は一律JSONで出力され、従来の-o jsonや-o yamlなどのオプションは削除された。人間による入力を待つ状態も、pausedからsuspendedに変更されている。実行ファイルだけを差し替えて、以前の引数や状態判定をそのまま使うと、自動化フローが失敗するおそれがある。公式の移行ガイド

実行時の動作も変わった。新バージョンでは組み込みの失敗時再試行と--http-retryが廃止されたため、再試行に依存していたスクリプトでは独自に再試行の方針を実装する必要がある。また公式は、削除などの破壊的な操作でも、CLIが再確認を求めないことを明記している。誤操作を防ぐには、対象IDの確認と操作の承認を呼び出し側に組み込み、エージェント実行時の保護策として対話型の確認プロンプトに頼らないようにする。移行ガイド、コマンド操作ガイド

ログインとエージェント用スキルもあわせて更新する必要がある。新バージョンは旧バージョンのログイン状態を引き継がないため、再ログインが必要だ。また、各コーディングエージェントにdifyctl skillを再インストールする必要がある。本番環境で旧バージョンを使い続ける場合、公式は実行ファイルと設定ディレクトリを分けて管理することを推奨している。今回の更新の技術的な価値は、探索可能な操作インターフェースを提供する点にある。実際の移行では、JSONの解析、人間による入力からの再開、失敗時の処理を検証する必要がある。公式ドキュメントでインターフェースの変更は確認できるが、自動化の信頼性が向上したことを示す独立した測定結果は公開されていない。 公式の移行ガイド

出典

  1. Dify 1.18.0 release notes
  2. Upgrade Across Dify 1.18.0
  3. Find and Run Commands