A### はじめに
Difyをご利用・ご検討中の皆さん、こんにちは! ゴールデンウイークに突入し、いかがお過ごしでしょうか?
ディーネットのよろず請負人、深見です。
Dify の最新バージョン v1.14.0 がリリースされました。今回のアップデートでは、チームでの開発を強力にサポートする「ワークフローコラボレーション」や、人間参加型(Human-in-the-loop, HITL)のワークフローをより柔軟に構築するための「サービスAPI」が目玉となっています。他にも多数の改善と修正が含まれていますので、早速詳しく見ていきましょう!
🚀 What's New in v1.14.0? - 新機能の徹底解剖
1. ワークフローコラボレーション機能でチーム開発が加速!
Dify v1.14.0 の最大の注目点は、ワークフローコラボレーション機能の導入です。これは、複数のワークスペースメンバーが同じワークフローを同時に編集できる画期的な機能です。
- リアルタイム同期: グラフの更新がリアルタイムで同期され、チームメンバー間の作業状況が一目でわかります。
- プレゼンス表示: 誰がどの部分を編集しているか、オンラインプレゼンスで確認できます。
- 共有された可視性: チーム全員がワークフロー全体を把握しやすくなります。

セルフホスト環境での有効化:
セルフホスト環境では、このコラボレーション機能はデフォルトで無効になっています。以下の環境変数を設定することで有効にできます。
ENABLE_COLLABORATION_MODE = true
SERVER_WORKER_CLASS = geventwebsocket.gunicorn.workers.GeventWebSocketWorker
NEXT_PUBLIC_SOCKET_URL = あなたのデプロイのWebSocket URL (例: wss://dify.example.com)
この機能により、ワークフローの共同開発における生産性が大幅に向上すること間違いなしです。
詳細については、 こちらをご参照ください
2. Human-in-the-loop (HITL) のサービスAPI
HITL(Human-in-the-loop)は、AIの判断に人間の介入を組み込むことで、より正確で信頼性の高いワークフローを構築するための機能です。今回のリリースでは、既存のコンソールでの操作に加え、サービスAPIでのHITLのプログラムサポートが追加されました。
これにより、開発者はHITLフローをより柔軟に、そしてプログラム的に制御できるようになり、複雑なビジネスロジックへの組み込みが容易になります。
3. MCP(Model Context Protocol)とプラグインの強化
MCP とプラグイン周りにも多くの改善が施されました。
- MCPツールメタデータの更新: ツールに変更があった際にUIが適切に同期されるよう、メタデータの更新機能が改善されました。
- MCPサーバーURLの修正: OAuthや認証に影響を与えかねない
/v1の重複問題が修正されました。 - MCP OAuthの安全性向上: 不正な形式のJSONを安全に処理できるようになりました。
- MCPスキーマ公開の改善: チェックボックスやJSONオブジェクト型が正しくマッピングされるようになりました。
- プラグインの自動アップグレード戦略: 自動アップグレード戦略の永続化、ローカルインストーラーとファイル入力の挙動、テナントスコープでの内部APIエンドユーザー検索など、多岐にわたる改善が行われました。
4. マーケットプレイスとOAuthの修正
マーケットプレイスのフローとOAuthサインインに関する修正が行われました。特に、GitHub OAuthでメールアドレスがnullになるようなエッジケースも対処されており、ユーザー体験の向上が図られています。
5. UIキットとフロントエンドプラットフォームの改善
ユーザーインターフェース (UI) とフロントエンドの基盤も大幅に強化されました。
@langgenius/dify-uiの導入:PreviewCardやMeterといった共有のプリミティブ、デザインシステムが導入され、UIの一貫性と開発効率が向上しました。- アクセシビリティの向上: 日付/時刻ピッカー、自動更新戦略ピッカー、プラグインやモデルセレクターのスクロールバーなど、様々なUIコンポーネントでアクセシビリティが改善されました。
- Goto Anything機能の強化: 最近の項目、
/goコマンド、アプリケーションのより深いサブセクションへの移動など、検索とナビゲーション機能が向上しました。Cmd+Kでの問題ある動的インポートも修正されています。 - プロンプトエディターの機能強化: スラッシュでトリガーされる変数フィルタリングや、変数リストでのキーボード上下移動がサポートされました。
- フォローアップ質問の改善: 提案される質問の設定とトークン制限が改善されました。
- モーダルの共通化:
ApiKeyやプロバイダー設定などのモーダルが、共通のDialogパターンにリファクタリングされ、テスト容易性が向上しました。
6. 可観測性と分析機能の強化
システムの運用監視と分析に関する機能も強化されています。
- Langfuseとの連携強化: オプションでTime-To-First-Token (TTFT) のレポート機能が追加されました。また、Langfuse SDK が v3 以上にアップグレードされ、LLM-as-judge 機能にも対応しました。
- Explore機能のトラッキング: バナーの表示回数やアプリプレビューイベントのトラッキングが追加されました。
7. 課金とクォータの統合
課金システムとクォータ管理が統合されました。
- Quota v3の統合: プロダクトスタックにQuota v3が統合されました。
- 課金UIの改善: メーターベースの使用量表示や、課金API失敗時のより堅牢なクリーンアップ処理が実装されました。
- ファイルアップローダーの対応: 課金を意識した挙動とコピーの更新が行われました。
8. データ、RAG、ナレッジベースの改善
データ処理、RAG (Retrieval Augmented Generation)、ナレッジベースに関する改善も行われています。
- Summary IndexとWeaviateの互換性: Summary IndexとWeaviateを使用する際の互換性に関する修正が施されました。
- ベクトルプロジェクションの強化:
is_summaryとoriginal_chunk_idがデフォルトのプロジェクションに含まれるようになりました。 - 外部・バウンドデータセットのセキュリティ強化: ナレッジAPIにおけるテナントチェックが強化されました。
9. インフラと運用面での改善
システムインフラと運用に関する多くの改善が含まれています。
- Docker Composeのヘルスチェック:
api,worker,worker_beatサービスにヘルスチェックが追加され、テンプレートと環境変数の例も更新されました (S3アドレススタイルなど)。 - Celeryの改善: デフォルトのワーカー並行処理数が4に引き上げられ、キューの不足が修正されました。
- PostgreSQLの改善: アプリDBパスの更新に伴い、デフォルトの最大接続数が200に引き上げられました。
- Redisの強化: 設定可能なキープレフィックスとRedis操作のリトライロジックが追加されました。
- TiDBのサポート: エンドポイントサポートと、関連する認証バインディング(Qdrant auth bindings)の移行が実施されました。
- Markdownのインラインスタイル: 必要に応じて、レンダリングされるMarkdownでインラインCSSを許可するオプションの環境変数
ALLOW_INLINE_STYLESが追加されました。
10. セキュリティ強化
セキュリティ面でもいくつかの重要な修正が行われました。
- メールアドレス変更フローの強化: より厳格なフェーズバウンドトークンハンドリングによりセキュリティが強化されました。
- IDOR (Insecure Direct Object Reference) 対策: データソースバインディングにおけるテナント検証、データセットとAPIの所有権チェックが強化されました。
11. パフォーマンス最適化
グラフ初期化のパフォーマンスが最適化され、全体的な応答性が向上しています。
12. APIとプラットフォーム内部の改善
内部的なAPIとプラットフォームの構造も大幅に改善されています。
- Graphonへのアップグレード:
dify_graphの名称とパッケージングがGraphon 0.2.2にアップグレードされ、スタンドアロンのパッケージとなりました。 - OpenAPIの生成スクリプト: OpenAPI v2 JSONとドキュメントポインターを生成するスクリプトが追加されました。
- APIの非推奨化: 一部のレガシーコンソールAPIが非推奨となり、新しいパターンへの移行が促されています。
- 大規模なリファクタリング: SQLAlchemy 2.0の
select()への大規模な移行、Pydantic BaseModelを多くのコンソールおよびサービスレスポンスに採用、そしてテストコンテナベースのテストによる安定性向上が図られました。
What's Changed - 変更点ハイライト
What's Changed セクションには、主にコードベースのリファクタリング、バグ修正、テストの追加、依存関係の更新に関する多数のコミットが含まれています。これらはDifyの安定性、保守性、将来的な拡張性を高めるために不可欠な変更です。
- SQLAlchemy 2.0
select()APIへの移行: 多くのサービスファイル、コントローラー、タスクにおいて、SQLAlchemyの新しいselect()APIへの移行が行われました。これにより、データベース操作の効率化とコードのモダン化が図られています。 - Pydantic BaseModelの採用: APIレスポンスやリクエストペイロードにおいて、辞書型からPydantic BaseModelへの移行が広く行われました。これにより、データ構造の明確化、型安全性の向上、バリデーションの強化が実現されています。
- テストの強化:
testcontainersを利用した統合テストへの移行や、多数のユニットテストの追加により、Dify全体のテストカバレッジと信頼性が向上しました。 - 依存関係の更新:
pypdf,requests,cryptographyなど、多くのPythonパッケージやnpmパッケージのバージョンが更新され、セキュリティとパフォーマンスが向上しました。 - UIコンポーネントのリファクタリング:
@langgenius/dify-uiパッケージへの移行や、Base UIコンポーネントのAPIアライメント、アクセシビリティの改善など、UI/UXの品質向上が図られました。 - セキュリティ修正:
GHSA-4q3w-q5mc-45rqに対応するメールアドレス変更フローの強化や、IDOR脆弱性対策としてテナントID検証の追加など、重要なセキュリティ修正が施されています。 - パフォーマンス改善:
httpxクライアントのグローバル化によるリクエストごとの生成コスト削減や、Redisのリトライロジック追加など、パフォーマンス向上のための変更も含まれています。
その他注目の変更
- Tailwind CSS v4へのアップグレード
- ワークフロー削除APIの追加
- Node.js SDKのaxios廃止
おわりに
Dify v1.14.0 は、ワークフローコラボレーションという強力な新機能の導入に加え、Human-in-the-loop (HITL) のAPIサポート、MCPとプラグインの機能強化、UI/UXの改善、セキュリティ強化、パフォーマンス最適化、そして大規模な内部リファクタリングとテストの拡充が行われた、非常に重要なリリースです。
特に、チームでのDify活用を考えている方にとっては、ワークフローコラボレーション機能は作業効率を劇的に向上させるでしょう。また、HITLのAPIサポートは、より複雑なビジネス要件を持つアプリケーションへのDifyの組み込みを容易にします。
今回のアップデートにより、Dify はより堅牢で、より使いやすく、そしてチーム開発に適したプラットフォームへと進化しました。ぜひ最新版を試してみて、その進化を体験してください!
参考リンク
本記事は Dify v1.14.0 のリリースノートを基に作成されています。最新情報は公式サイトおよび GitHub リポジトリをご確認ください。