喜欢这个插件吗?请在 GitHub 上给它点个
!
摘要
discourse-workflow 为话题(Topics)提供了一个安全的工作流框架。每个工作流由可配置的步骤和选项组成,话题会通过这些步骤流转直至完成。
它支持分支和循环、列表和看板发现视图、可审计性以及便于自动化的行为,同时保持与 Discourse 核心权限和 UI 模式的高度一致。
功能特性
- 基于话题的工作流实例,包含管理员定义的工作流、步骤和步骤选项
- 基于 Discourse 核心概念构建:类别、用户组和基于类别的权限——您只有在被授权的情况下才能执行操作
- 在 /workflow 处提供工作流发现功能,支持快速筛选:
- 发现视图选择器:
- 列表
- 看板(仅适用于单个兼容看板的上下文)
- 图表(仅适用于单个工作流上下文且用户有权查看图表时显示)
- 看板工作流面板:
- 可点击的话题卡片
- 合法的拖放转换
- 合法时支持键盘转换(左箭头/右箭头)
- 工作流话题横幅:
- 具有层级结构的逾期模型:
- 全局设置:workflow_overdue_days_default
- 工作流覆盖
- 步骤覆盖
- 设置为 0 可禁用该范围内的逾期功能
- 工作流列表和看板卡片中的逾期指示器
- 工作流燃尽图:
- 图表端点 + UI 集成
- 周范围选择器(1–12)
- 完整周窗口和按步骤着色的系列
- 通过小型操作帖子记录转换审计轨迹
- 对已关注类别的到达通知(关注首帖)
- 可从话题和发现视图访问工作流可视化
- 与 Data Explorer 集成,提供默认工作流查询:
- 可选的 AI 辅助步骤处理
入门概念
泳道
每个工作流泳道都是一个类别(或子类别)。随着话题的推进,它会根据配置的转换在类别之间移动。
工作流实例
- 单个工作流项目(例如工单)即一个话题。
- 可以添加标签以用于优先级等元数据。
- 类别移动由工作流操作控制(除非管理员覆盖)。
操作者
能够在步骤类别中创建话题的用户可以对该步骤中的工作流项目执行操作。拥有回复权限的用户仍可正常发表评论。
通过选项执行操作
步骤选项定义了每个步骤中可用的操作。每个选项都显示为话题操作按钮,并可将话题移动到目标步骤。
仪表板
使用 /workflow 导航筛选器查看您可访问的工作流话题,然后进行筛选或切换到看板以进行类似面板的流程管理。
审计轨迹
转换会被记录为话题上的小型操作帖子。集成的 Data Explorer 查询支持审计和运营报告。
可视化
工作流可视化可从以下位置访问:
与标准 Discourse 的主要区别
- 您无法直接在步骤 1 之后的类别中创建新话题。
- 除非您是管理员,否则无法手动更改工作流话题的类别。
- 只有拥有类别创建权限的用户才能执行工作流转换。
入门指南
- 使用 workflow_enabled 启用插件。
- 进入 管理 → 插件 → Discourse Workflow。
- 创建工作流,保存后添加步骤和步骤选项。
- 配置类别权限,确保工作流操作者在相关步骤类别中具有创建权限。
- 在第一个步骤类别中创建一个话题。
- 使用话题操作按钮或看板交互进行转换。
- 使用 /workflow 进行运营队列管理。
AI 操作
配置后,AI 可以执行步骤操作。
要求:
- 有效的 workflow_openai_api_key
- 步骤上已启用 AI
- 提示语中需包含 {{options}} 和 {{topic}}
示例提示语:
您的选项是 {{options}}。如果以下文本表示内容是美味的,请接受,否则拒绝。{{topic}} 请用这些选项中的一个词作答
已知问题
本插件仍在不断演进中。请在仓库或此 Meta 话题上报告问题和改进建议。
26 个赞
您好 Robert,
我正在使用工作流插件(不含 AI)。这是一个简单的流程,旨在为 Linux 咖啡馆提供支持链,帮助用户从 Windows 迁移。新主题通过带有子寻址的 RFC 6233 邮件创建,并进入第一个子类别(level1)。
两个问题:
- 工作流步骤的 ID 不唯一。我有三个步骤具有相同的 ID。??
- “incoming”主题上的“start”操作会创建“422 unprocessable content”。也许这是 1) 的结果。
3 个赞
感谢您的耐心和反馈。我感谢您对插件的兴趣。
它有点实验性,正如您所见,尚未收到大量反馈,因此难免会出现一些初期问题。
我将尝试重现您的工作流程并尝试重现该问题。
在此期间,您能否截取管理屏幕中工作流程的屏幕截图并分享?
@Thomas_Rother 您对此有堆栈跟踪吗?
3 个赞
罗伯特,您好:
没关系,我知道这是实验性的。因此,它只安装在一个自托管的测试实例上。您可以在那里注册,我可以授予您管理员权限:
https://forum2.netzwissen.de/login
2 个赞
好的,通过演练,这是我的操作过程:
- 设置“网吧门票”类别
- 将所有步骤设置为子类别,结果如下:
到目前为止一切顺利。
现在让我们创建步骤:
好的,我至少可以看到两个问题!(但其中一个可能由另一个引起)
这很奇怪,因为我确定以前这是可以正常工作的。我正在查看,如果我有时间,很快就会发布一个修复程序。
3 个赞
Olle11
11
这个插件最常见的用例是什么?它是否与 Gemini flash 2.0 兼容?
任何具有多个步骤和参与者的业务流程(在合理的范围内)。可能需要扩展以进行特定集成。
目前仅支持 OpenAI,但欢迎提交 PR(它使用 Chat Completions,因此工作量不大)。
1 个赞
重大新闻:您现在可以获取创建燃尽图/燃起图的统计数据:
- 添加了一个每日作业来创建状态计数统计信息,您可以在燃尽图/燃起图中使用这些信息。
- 添加了一个作业,用于检查或添加两个有用的数据探索器查询
- 所有转换的审计日志
- 工作流实例在其工作流的每个步骤的每日计数,便于燃尽图/燃起图(只需导出结果)。
- 您可以授予特定组访问这些报告的权限。
注意:由于在主要插件捆绑中处理 gem 依赖项的方式发生了变化,Discourse Workflow 目前仅与通过测试兼容。一旦下一个稳定版本发布,这种情况应该会有所改变。
4 个赞
我正在尝试找出我的网站为什么会变慢……
弃用警告
[PLUGIN discourse-workflow] 弃用通知:在站点初始化阶段访问 site.mobileView 或 site.desktopView 已弃用。在将来的更新中,移动模式将由视口大小确定,因此在初始化期间使用这些值可能会在浏览器窗口大小调整时导致错误和不一致。请将这些检查移至在页面渲染期间执行的组件、转换器或 API 回调。 [弃用于 Discourse 3.5.0.beta9-dev] [弃用 ID:discourse.static-viewport-initialization] [信息:Designing for Different Devices (Viewport Size, Touch/Hover, etc.)] deprecated.js:62:13
我非常怀疑这会导致您的网站变得迟缓!!
- 这是一个弃用警告。
期待您的 PR 
1 个赞
嗯,这不应该是因为 Discourse Workflow,因为我已经关闭了几个 N+1 问题,包括主题列表和可视化中的问题:
等等。
3 个赞
另一个重大更新——在线燃尽/燃起图表(作为现有捆绑的数据资源管理器查询的一个很好的替代方案)
- 在发现(discovery)中添加了一个新的工作流图表视图,具有共享视图选择器(列表/看板/图表)和周期控制(1-12 周)。
- 在
/discourse-workflow/charts.json 处实现了燃尽数据 API,并集成了 /workflow/charts 路由。
- 图表访问权限是单独设置的:管理员和
workflow_charts_allowed_groups;未经授权的用户将隐藏图表。
- 图表有效载荷已收紧至仅包含选定的工作流上下文(
selected_workflow_id、selected_workflow_name、series),移除了未使用的工作流目录界面。
- 添加了请求/系统覆盖和用户体验加固:整周窗口、本地日期安全的轴标签、可访问的视图选择器标签以及图表渲染/状态回归检查。
图表功能应与所有工作流兼容:
- 图表不需要看板兼容性,因此适用于不兼容看板的工作流。
- 仅当当前工作流列表范围恰好限定为一个工作流时,图表才会出现。
- 用户必须具有图表权限(管理员或在
workflow_charts_allowed_groups 中)。
- 如果兼容看板,下拉菜单显示列表/看板/图表。
- 如果不兼容看板,下拉菜单仍然可以显示列表/图表(当满足上述两个条件时)。
3 个赞