Support specifying designated assignees/approvers for Human-in-the-Loop nodes

オープン
#42,496 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript

調査の方向性

Start by locating the Human-in-the-Loop node configuration UI, workflow payload/schema handling, and node execution permission checks described in the issue. Trace how the optional approvers field would move from configuration through execution, then identify existing approval tests or add coverage for designated users and the unchanged unrestricted behavior when the field is empty.

索引モデルが issue の本文から書いたものです。

説明

💪 enhancement
Self Checks
  • I have read the Contributing Guide and Language Policy.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • Please do not modify this template :) and fill in all the required fields.
1. Is this request related to a challenge you're experiencing? Tell me about your story.

Currently, in the Human-in-the-Loop (HITL) node of Dify, any user with access can approve or review the execution. In many enterprise workflows or multi-user collaboration scenarios, sensitive tasks (e.g., financial approvals, content moderation, or escalated support) need to be restricted to specific users or roles rather than opened to all users.

We propose adding an optional Assignees / Approvers parameter to both the HITL node UI configuration and its underlying APIs:

  1. Node Configuration UI:
  • Add an optional input field Approvers / Assignees in the HITL node configuration panel.

  • Support selecting or specifying one or multiple user IDs / email addresses / user roles.

  1. API & Workflow Engine Support:
  • Update the workflow payload/schema to accept an optional approvers field (e.g., a list of strings: ["user_id_1", "user_id_2"]).

  • Modify the node execution logic to restrict approval permissions to only the specified user(s) when this field is populated.

  1. Fallback / Default Behavior:
  • Optional Field: If the field is left empty, maintain the current default behavior where any authorized user can perform the approval action.
2. Additional context or comments

Use Cases: Enterprise approval flows, role-based access control (RBAC) in workflow automation, multi-tenant/multi-tier user moderation.

Expected API Field Example:

{
  "node_type": "human-in-the-loop",
  "inputs": {
    "approvers": ["user_123", "user_456"]
  }
}
3. Can you help us with this feature?
  • I am interested in contributing to this feature.
主要言語
TypeScript
スター
157k
フォーク
24.7k
平均マージ
22時間 32分
マージ済み PR(30日)
611

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

langgenius/dify のほかの issue

langgenius/dify の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。