A 组 · 产品定位与差异化
Q1. 动态风险预警和"安全大屏 / 双控看板"有什么本质区别?+
看板告诉你哪里红了,动作引擎告诉你为什么红、谁处理、做什么、什么时候关、关不掉怎么升。本产品的每一条预警都自动生成带责任人、带 SLA、带证据要求、带复核环节的任务;任何超时自动升级;任何复核驳回必须返工。这是工程化的"闭环",不是"展示"。
Q2. 风险算法可解释吗?客户会不会觉得是黑盒?+
每条预警都附带 contribution 数组逐项解释为什么得这个分值(如"基础分 30 + Δgas 高报警 20 + Δmeasure 监护人缺失 5")。同时 hard_rules 数组明确列出本次命中的硬触发跳级规则 ID(JR-001~011)。客户可以一条一条追问,每一项都可解释。
Q3. 硬触发跳级规则可以改吗?还是写死的?+
11 条规则的每一条都可在规则配置后台 enable/disable,阈值(如气体浓度、人员侵入分钟数)可调整。每次改动写 rule_version_log(含 changed_by / changed_time / change_reason)。规则保存是原子的:失败自动回滚,不会破坏运行态。
Q4. 复核驳回的任务怎么走?会不会卡死?+
驳回后任务进入 rework_required 过程态(不是死态 rejected),可重新填证据再提交、再复核。warning 的 timeline 完整记录每一轮"驳回 → 返工 → 通过"的人和原因。这是 V1.5.5 P0 修复,安全红线。
B 组 · 业务能力
Q5. 红色预警可以手动关闭吗?+
可以,但只有当该预警下所有 review_required 任务都 approved 之后才能关闭。否则接口直接返回 422 + 业务文案。这是 V1.5.x 的设计红线 — 不允许手工"清场"红色预警。
Q6. 区域风险红色时怎么拦截新增作业?+
JR-008 自动拦截。试图把 pending 高危票(fire / confined / lifting / blind)改 approved/ongoing 时,立即返回 blocked_count=1 + blocked_detail,ticket 状态不变,同时派发 limit_flow + escalate 任务给区域负责人。
Q7. 导入接口会被脏数据搞挂吗?+
不会。每个 type 都有 ALLOWED_FIELDS 白名单 + 行类型校验(null / 数组 / 数字行会被前置拒绝)+ 字段值校验(gas_event.value ≥ 0;ticket_status.actual_workers 必须非负整数;actual_end 不早于 actual_start)。命中 JR-008 拦截的行进 blocked_count,不进 success_count。
Q8. 规则配置保存如果失败,会污染数据吗?+
不会。V1.5.6 P0 修复后 saveRules 是原子的:先 validateFullRules(K_* / W_* / P_* / threshold / level_action_matrix / jump_rules 完整结构 + 阈值顺序 yellow < orange < red),再 dry-run recalcAll;任一步失败自动回滚 rules / calc_records / warnings / tasks 到提交前快照。
Q9. 权限模型是什么?+
5 角色 × 13 资源 × 4 动作 = 260 个权限点。getScope 决定数据可见范围(all / department / assigned / none);applyScope 在 GET 接口上过滤行;canOperateTask 在 accept/submit/review 上做归属校验。监护人只看到自己负责的 ticket / warning / task。
C 组 · 实施部署
Q10. 上线周期多久?+
2-4 周。Week 1 现场访谈 + 数据接入;Week 2 规则现场校准;Week 3 试运行 + 闭环演练;Week 4 验收(41 场景 + 客户特定 5-10 场景)。详细周计划见实施方法论文档。
Q11. 怎么对接现场气体监测 / 人员定位 / DCS?+
统一通过 POST /api/import 接口,type 支持 gas_event / person_event / hazard / ticket_status。每类 type 都有 schema 校验和事务性导入。具体硬件接入由实施团队对接,提供 V2.0 接入手册。
Q12. 行业规则包是什么?+
内置三套行业模板:petrochemical_large(大型炼化)/ chemical_park(化工园区)/ oil_terminal(油气码头)。每套含 base_risk / 权重系数 / 阈值 / jump_rules 的预设值。客户可通过 /api/rules/load-pack 一键加载,再按现场校准。
Q13. 是不是只能用内置的 Mock 数据演示?+
内置 5 区域 / 22 作业票 / 88 措施 / 5 隐患 / 4 承包商作为演示数据;通过 POST /api/import 接口可以导入客户真实数据。导入有完整 schema 校验和事务性。
Q14. 是 SaaS 还是私有部署?+
私有部署。Docker 镜像 80MB,零运行时依赖,1 台 4 核 16G 服务器跑得很轻松。完全不出客户网络。审计日志按 LOG_PATH 落本地盘。海顿不持有客户数据,也不做 SaaS。
Q15. 数据库是什么?要装 MySQL 吗?+
当前版本是内存参考实现(重启丢数据),适合演示和小规模试用。MySQL / 达梦持久化是 V2.0 路线图,SQL DDL 已就位(sql/ddl_mysql.sql,12 核心表 + 2 辅助表)。
D 组 · 运维 + 客户自验
Q16. 员工怎么自测、客户怎么验证?+
员工:双击 verify.bat / 跑 ./verify.sh → 看 "133 PASS / 0 FAIL",发回 verify_report.json。客户:跑 ./start.sh test → 看 "41/41 PASS"。Office 销售材料附 ROI 测算器和报价 / 许可模型。3 分钟搞定。
Q17. 历史规则版本可追溯吗?+
可。每次规则保存生成一个 rule_version_log 条目(version / changed_by / changed_time / change_reason),完整版本号自增。
Q18. 审计日志支持哪些操作?+
登录 / 登出、密码修改、用户创建、规则保存、规则重置、规则包加载、导入事件、admin 查询审计、任务接收 / 提交 / 复核、警告关闭 — 全留痕。默认内存 5000 条,配置 LOG_PATH 后落盘 audit.log。
E 组 · 安全合规
Q19. 生产部署的默认账号怎么处理?+
V1.5.11 起生产模式自动 admin-only:NODE_ENV=production + REQUIRE_AUTH=1 时只创建 U-admin(密码 = ADMIN_INITIAL_PASSWORD env),其他 10 个演示账号(li-ming/wang/zhao/an-huan...)不创建。任何 demo@123 / admin@123 登录返回 401。配合弱口令扫描:JWT_SECRET 命中 changeme/secret/password 等子串直接 exit 3。
Q20. 中国客户的服务器时区不是 UTC,时间会不会乱?+
不会。业务时间锁 Asia/Shanghai(V1.5.10 止损)。无论运行服务器 TZ 是 UTC / 上海 / 洛杉矶,业务时间统一是 Asia/Shanghai。三时区 verify 全过。
Q21. 如果客户要求等保过审怎么办?+
JWT + PBKDF2 + 审计 audit.log + 默认账号清零 + 弱密钥拒启动 + Body-413 + RBAC 数据范围全部按等保 2.0 安全要求设计。具体过审材料另行提供。
Q22. 万一海顿公司不在了,系统怎么办?+
完整源代码 + SQL DDL + 41 业务场景测试 + 133 机械验证 + OpenAPI 契约 + 实施方法论文档全部在交付包内,客户拥有完整的二次开发能力。零运行时依赖意味着不依赖任何一家 npm 库的存活。