工作流与合规检查
现场检查如何和工作流配合:从模板创建、拍照研判、整改复检。
来源 docs/core-mechanisms/工作流与合规.md
文档版本:2.0 状态:合规模板运行时(流程须先在「工作流」中创建定义) 表述:面向产品、运营与对接;实现术语见 实现对照。
关联:
- 工作流.md(模板 → 定义 → 发布 → 实例)
- 产品规格.md §4.2.4(平台插件 — 重度合规 SaaS 可外置)
- 工作区应用.md(轻量登记,不含流程)
- 服务通知.md(待办触达,P2)
- 范例插件:
examples/henry-iway-compliance/(IWay 等品牌可挂平台插件 UI)
1. 结论先说
Cadau 核心提供 工作流运行时;现场合规检查 是平台模板之一(compliance_inspection),用户在工作流模块 创建流程定义 后使用,而非内置固定应用。
- 依据 政府 / 客户 / IWay 或工作区知识,按部门生成 合规检查表;
- 检查者 现场拍照;
- 平台 识图自动研判;
- 不合规 → 整改 → 复检,直至全部合格。
报销等多级审批属第二类 kind=approval,与合规共用引擎,后续迭代。
2. 两种工作流(引擎共用)
| kind | 名称 | 试点 | 步骤语义 |
|---|---|---|---|
orchestration | 任务编排 | 合规检查(本文) | 完成 → 移交下一步 |
approval | 条件审批 | 报销(规划) | 通过 / 驳回 / 退回 |
3. 合规检查用户流程
flowchart TD A[选择规范框架与部门] --> B[生成各部门检查表] B --> C[现场拍照逐项检查] C --> D[AI 识图自动研判] D -->|全部合格| E[检查完成] D -->|存在不合规| F[下发整改任务] F --> G[整改说明与补拍] G --> C
3.1 规范框架(内置 MVP)
| framework_id | 用户可见名称 | 说明 |
|---|---|---|
iway | IWay 客户规范 | 仓储/EHS 常见项 |
gov_fire_safety | 政府消防安全 | 通道、消防器材、电气 |
gov_electrical | 政府电气安全 | 配电、线缆、接地 |
customer_generic | 客户通用规范 | 5S、标识、通道 |
from_knowledge | 工作区合规规范(知识文档) | 从工作区知识目录生成 |
可按工作区扩展 JSON 配置(P2)。
3.2 知识驱动检查表
工作区在 知识文档目录 下维护 knowledge/compliance/(推荐),上传政府/客户/IWay 等规范 Markdown,并在知识页 重建索引。
| 模式 | 行为 |
|---|---|
| 选内置框架 + 勾选「结合工作区合规知识」 | 以内置检查表为主,LLM 依据知识摘录 补充 额外项 |
选 from_knowledge | 完全 由知识文档 + LLM 生成检查表(需已配置语言模型) |
知识检索:internal/compliance/knowledge.go 优先读 compliance/index.json,否则回退工作区根 knowledge/index.json,再无索引则直接读取 compliance 下 Markdown 节选。
知识状态 API:GET .../workflows/compliance/knowledge-status 返回目录是否存在、是否已索引、提示文案。
3.3 检查项与识图
每项含:部门、类别、检查要求、法规依据摘要、vision_hints(供模型重点看的风险,如「电线凌乱」「逃生通道被堵」)。
研判结果:pass | fail | inconclusive(需人工复核)。
4. HTTP API
路径前缀:/api/v1/workspaces/{id}/workflows,需工作区成员。
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /frameworks | 列出可用合规框架(含知识就绪状态) |
| GET | /compliance/knowledge-status | 工作区合规知识目录状态 |
| GET | /instances | 本工作区合规实例列表 |
| POST | /definitions/{defId}/start | 发起合规检查(须先有流程定义) |
| GET | /instances/{instanceId} | 详情 + 检查表 + 研判 |
| GET | /tasks/mine | 我的待办 |
| POST | /tasks/{taskId}/complete | 完成当前任务(提交照片 / 整改) |
发起请求体示例:
{
"framework_id": "iway",
"site_name": "A 仓 3 区",
"departments": ["仓储", "行政", "生产"],
"title": "2026-Q2 IWay 例行检查",
"use_knowledge": true
}
use_knowledge:在内置框架上叠加知识补充;framework_id=from_knowledge 时忽略内置表、纯知识生成。
完成检查任务(提交照片):
{
"action": "submit_inspection",
"item_photos": {
"iway-storage-cable-1": "upload-uuid",
"iway-storage-aisle-1": "upload-uuid"
}
}
完成整改任务:
{
"action": "submit_remediation",
"items": [
{ "item_id": "iway-storage-cable-1", "note": "已重新捆扎并标识", "photo_upload_id": "upload-uuid" }
]
}
5. 数据模型(mindlink.db)
| 表 | 说明 |
|---|---|
workflow_instances | 流程实例、当前步骤、payload(检查表、研判、轮次) |
workflow_tasks | 待办(现场检查、整改) |
业务明细在 payload_json,不另建业务宽表(MVP)。
6. 与 IWay 插件的关系
| 层 | 职责 |
|---|---|
| Cadau 核心 | 工作流引擎、待办、识图研判、通用节点(表单/上传/审批/评分/分支等)、Web 流程面板 |
plugins/compliance | 官方合规管理:调查问卷 → 检查项 → 声明「加载检查标准」工作流节点;检查台账调用核心 workflow API。IWAY 为范例规范,可换法规/管理制度 |
检查方案由谁指定:检查计划必须固定一套(这次查什么);流程设置可另填「默认检查方案」(从工作流直接发起时用)。从合规发起时把该套计划的方案写入实例变量,加载节点优先用它,不覆盖流程设置。 | 工作区规范库 | 法规/制度正文真源(与检查项清单分离) | | henry-iway-compliance 范例 | 品牌壳示意;正式能力以 plugins/compliance 为准 |
MVP:核心引擎 + 官方插件台账闭环;品牌客户可再包一层 UI。产品目的是本企业场所符合规定,不是对外审厂。
7. 实现对照
| 用户概念 | 实现 |
|---|---|
| 工作流引擎 | internal/workflow/ |
| 合规框架与识图 | internal/compliance/(含 knowledge.go、generate.go) |
| 存储 | internal/store/workflow.go |
| API | handlers/workflows.go |
| 工作流应用目录 | 见 工作流.md |
| Web | WorkflowPanel + ComplianceWorkflowPanel(绑定 definition_id) |
8. 后续(P3)
- [x] 服务通知:待办分配(
workflow.task.assigned) - [x] 对话 tools:
workflow_list/workflow_create/workflow_start - [x] 审批流 kind(简易审批模板)
- [ ] 待办到期提醒
- [ ] 工作区自定义框架 JSON
- [ ] 与 henry-iway 插件 manifest 注册