Support specifying designated assignees/approvers for Human-in-the-Loop nodes
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- typescript
- 领域
- api, authorization, backend, frontend
调研方向
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 内容生成。
描述
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:
- 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.
- 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.
- 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 分钟
- 30 天内合并 PR
- 611
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
langgenius/dify 的其他 Issue
-
Annotation Reply: a stored score threshold of 0.0 is silently replaced with 1, disabling the feature 未关闭
难度 2/5 1-3 小时 新手友好度 88/100
langgenius/dify#42639 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 70/100
langgenius/dify#42468 · 1 条评论 · 1 个 reaction ·
-
🐞 bug
难度 2/5 1-3 小时 新手友好度 86/100
langgenius/dify#42446 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 88/100
langgenius/dify#42355 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 88/100
langgenius/dify#42350 · 1 条评论 · 1 个 reaction ·
相似的 Issue
-
calcite-components needs triage refactor
难度 2/5 1-3 小时 新手友好度 75/100
Esri/calcite-design-system#15203 ·
-
难度 2/5 1-3 小时 新手友好度 91/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
难度 1/5 1 小时以内 新手友好度 95/100
-
难度 2/5 1-3 小时 新手友好度 78/100
Automattic/studio#4908 ·
-
难度 2/5 1-3 小时 新手友好度 90/100