数字主线
数字主线是一项把工厂里发生的事情按时间顺序、按相互关联关系串起来的服务。它把平台的设备·标签台账与事件,以及 MES · ERP · PLM · 质量 · 维护 · 安全等外部系统提供的工单·零件·人员·设计变更·不合格·维护·许可,连成一张图。自 2026.10 起已默认包含在 AI 栈中 —— 无需另行开启开关。
| 谁 | 在哪里 | 做什么 |
|---|---|---|
| 运维人员(管理员) | AI 管理控制台 → 导航栏的 数字主线 | 接入外部系统连接器、绑定字段、查看镜像是否正常运行、就绪度判定依赖哪些源 |
| 现场用户 | 副驾驶 提问(/chat) — thread_ 工具 | 提问「今天有什么作业?」「今早充电器发生了什么」「这台设备上下游连着什么」并获得答复。副驾驶中没有数字主线专用界面 → 数字主线 — 连接后会增加什么 |
| 自动化 · 建议 | 同样的 thread_ 工具 · 行动工具 | 自动化在设定时刻确认相同内容,在建议详情中批准后会在外部系统中创建草稿 |
由什么构成
| 组成部分 | 作用 |
|---|---|
plantpulse-digital-thread-api(内部 7140) | 连接器注册表 · 符合性测试 · 绑定同步 · 镜像投影 · 时间线/关联查询 · 作业就绪度判定 · 聊天工具 |
plantpulse-digital-thread-neo4j(不对外发布) | 工厂图谱镜像存储。专供本服务使用,与 LightRAG 的 Neo4j 分开部署 |
PostgreSQL pi 的 schema dt | 连接器注册表 · 绑定 · 同一性声明 · 行动记录 → 数据库模型 |
两个容器都不开放主机端口。管理控制台与副驾驶在 compose 网络内部调用它们 → 服务端口映射
镜像中只有事件与对象的 ID 和关联,没有正文。它是可以随时从源头(平台台账 · 事件、外部系统)重新生成的副本。外部系统的名称 · 有效期等值在查询时从连接器读取,不做存储。
集成地图 — 接入连接器

| 编号 | 位置 | 作用 |
|---|---|---|
| ① | 页面顶部 | 视图按钮 地图 / 列表 / 就绪度源(列表以表格呈现相同内容,就绪度源见下文)、添加连接器(下述四个步骤)、刷新 |
| ② | 摘要卡片 | 已注册连接器数 · 已启用数 · 符合性失败数 · 连接器提供的工具数。符合性失败不为 0 时,先查看该连接器 |
| ③ | 地图 | 从左到右连接 外部系统 → 连接器 → 工具 → 绑定 → 工厂图谱。点击节点后侧栏会打开设置 · 各项符合性检查结果 · 最近的行动调用,地图只高亮该节点所在的链路 |
共有十一个族系,因此地图较宽。可在地图上方的筛选栏按族系 · 状态缩小范围,并用拖动 · 滚轮 · Ctrl+滚轮(缩放)浏览 → AI 管理控制台 — 集成地图
地图中的颜色与连线按如下方式理解。
| 显示 | 含义 |
|---|---|
| 绿色 | 已启用 —— 已通过符合性测试 |
| 红色 | 符合性失败 |
| 灰色 | 已关闭 |
| 实线绑定 | 连接器声明的 |
| 虚线绑定 | 运维人员指定的,或服务的默认字段表(同步时始终加载的字段) |
| 🔒 行动工具 | 在外部系统中创建草稿·请求的工具 —— 控制台不会调用(见下文「安全机制」) |
连接器注册 — 四个步骤
点击添加连接器会打开侧栏。
- 外部系统 —— 确定族系(下表) · 系统名称 · 连接器名称。
- 端点与凭据 —— 填入连接器的 MCP 端点及认证头 · 值,点击注册并发现。服务会从连接器读取工具列表与站点,显示「在站点 … 发现 N 个工具」。连接器创建时为关闭状态。
- 符合性 —— 运行符合性测试。每项检查会给出通过 · 失败,失败的检查会说明违反了什么。
- 启用 —— 🔴 只有通过符合性测试才能启用。 启用后该连接器的工具将提供给该站点。
在编辑中修改端点 · 凭据并保存后,连接器会被关闭且符合性结果被清除。 请从第 3 步重新开始。连接器的工具列表发生变化(工具发现)时同理。
界面上只显示「已设置 / 未设置」。编辑时留空则保留已保存的值。值使用 PI_DT_SECRET_KEY 加密存储 —— 丢失该密钥则无法解密已保存的凭据,必须为每个连接器重新填写 → 密码 · API 密钥变更
符合性测试测量什么
实际调用连接器,检验其是否按规范应答。代表性的检查如下。
| 分组 | 测量内容 |
|---|---|
| 发现 | capabilities 是否符合 schema、工具名称是否存在于所声明版本的规范中、族系的必备工具是否齐全 |
| 声明 | 读取工具是否标注只读、输入 schema 是否与规范一致 |
| 输出 | 样本调用的结果是否符合规范 schema —— 输出比所声明版本更新版本的字段也会判为失败 |
| 时间 · 分页 · 限额 | 时间格式、翻页到底是否有重复 · 遗漏、是否拒绝过宽的区间 · 无条件的列表 |
| 错误 · 大小 | 对不存在的 ID 是否返回 not_found、响应是否在 16,000 字符以内 |
| 事件 · 绑定 | 事件信封格式、事件对象能否通过绑定解析、同一事件读取两次 ID 是否相同 |
| 延迟 | 必备读取工具的 p95 是否小于 2 秒 |
检查以«最近 7 天 ~ 未来 7 天»区间的样本运行。若该区间完全没有数据则无法检验 schema,因此请使用有实际数据的连接器进行测试。
支持的规范与族系
注册界面可选的族系共十一个,所遵循的规范主干共九条。没有规范的族系无法注册。各族系必须提供的工具 · 使用场景 · 注意事项,按族系列于数字主线连接器。
| 族系(界面名称) | 规范 · 最低版本 | 加载内容(仅键) |
|---|---|---|
mes (MES) | mes-mcp/0.7 | 设备 · 工单 · 工序 · 里程碑 · 订单项目 · 实绩批次 · 谱系 · 制造 BOM |
scm (SCM) | mes-mcp/0.7 | 供应商 · 采购 · 供应线 · 发货 · 入库 · 缺件 · 供应能力 |
sched(排程计划 (APS)) | mes-mcp/0.7 | 已发布计划的工序排程 · 资源日历 · 情景 |
erp (ERP) | erp-mcp/0.4 | 人员(化名 ID) · 资质 · 派工,物料采购订单 · 入库 · 客户订单,制造 BOM |
plm (PLM) | plm-mcp/0.2 | 设计变更指令 · 设计 BOM · 文档元数据 |
qm(质量) | qm-mcp/0.2 | 检验批 · 不合格 (NCR) |
cmms(维护 (CMMS)) | cmms-mcp/0.2 | 维护工单 · 预防性维护窗口 |
tool(工具管理) | tool-mcp/0.2 | 工具 · 夹具 · 量具台账与所声明的功能(领用 · 校准 · 寿命 · 按作业的工具) |
wms(仓库 (WMS)) | wms-mcp/0.2 | 库存 · 移动(不加载到镜像,查询时读取) |
lims(试验室 (LIMS)) | lims-mcp/0.2 | 样品 · 试验结果 |
ehs(安全 (EHS)) | ehs-mcp/0.3 | 作业许可 · 隔离 (LOTO) · 事故引用 · 巡检 · 风险评估 · 角色资质 |
- 🔴 声明版本低于最低版本的连接器不会被使用(自 2026.10 再发布(2026-10-20) 起)—— 同步会被拒绝,判定中显示为«未接入»。 升级方法见版本升级。
- 已接入的连接器若改为声明新版本,会在工具发现时被关闭 —— 只需对该连接器重新执行符合性测试 → 启用。
- 行动工具(🔒 —— 创建草稿 · 请求的工具)仅存在于
mes-mcp主干中 —— MES 的暂停请求 · 维护请求 · 工单草稿,SCM 的催货 · 供应商问询草稿,排程计划的情景草稿。其余八条规范均为只读。 - 这些规范不针对特定产品,而是以公共分母制定。请在所用系统前面部署遵循该规范的连接器再接入。
商用产品适配器 — 预验证阶段
SAP S/4HANA(ERP · 维护) · IBM Maximo(维护) · Siemens Teamcenter (PLM) · Dassault 3DEXPERIENCE (PLM) 适配器已通过针对模拟服务器的符合性测试,但尚未接入实际产品进行验证 → 商用产品适配器
同一现场存在多个同族系连接器时
同一现场可接入多个同族系连接器(例如每条产线使用不同的 MES)。每个族系有一个代表,最先注册的连接器成为代表。
- 要移交代表身份,请将另一个连接器指定为代表 —— 原代表会自动卸任。代表不能为空。
- 两个连接器提供相同工具名称时,后接入的一方会被拒绝。请在连接器一侧移除该工具。
- 副驾驶的建议卡片发送行动时,若同族系有多个,会发送给代表。
外部链接 — 在原系统中打开
在副驾驶提问的依据面板中点击主线节点(PO 行 · 工单 · 料号 …)时,会附上「在 SAP 中打开」这样通往原系统中该记录画面的 链接 → 数字主线 — 答案依据。此链接 仅在管理员为连接器填写了链接模板时才会生成。没有模板就没有链接(安装默认)。
填写位置是集成地图 › 连接器节点 › 侧边窗口中的外部链接。
| 栏 | 填写内容 |
|---|---|
| 基础 URL | 原系统画面的根地址(例:https://s4.example.com)。只允许 https。不要填写 user:pass@ · 查询串 · 片段 |
| 按钮标签 | 画面上显示的文字,最多 60 字(例:「在 SAP 中打开」)。留空则直接以连接器名称作为按钮文字 |
| 允许 http://(仅限内部演示) | 仅对明文 http 的内部演示系统开启。生产系统必须为 https |
| 按对象类型的模板 | 每种类型(po_line · work_order · part · ncr …)一个 URL 模板。用添加模板增加。至少要有一个 |
| 预览样本键 | 填入样本键后,可预览由模板生成的地址(仅供参考) |
模板的占位符只有三类。
| 占位符 | 填入内容 |
|---|---|
{base} | 基础 URL(末尾不带 /) |
{key} | 整个对象键(URL 编码 —— / 也编码为 %2F) |
{key.1} ~ {key.9} | 按 / 拆分键后的第 N 段。用于分别使用 PO 行 4500001/10 的 PO 编号与行号 |
po_line {base}/sap/bc/ui2/flp#PurchaseOrder-display?PurchaseOrder={key.1}&PurchaseOrderItem={key.2}
customer {base}/sap/bc/ui2/flp#Customer-display?Customer={key}
- 点击保存链接后,数字主线会检查模板。模板中没有
{key}·{key.N}、含有未知的占位符 · 类型 · 空格, 或结果地址超出基础 URL 的主机时,会拒绝并显示原因。🔴 最终判定以保存时的检查为准,画面上的预览仅供参考。 - 删除链接会删除该连接器的模板。填写或删除模板都不影响符合性结果和启用状态。
- 在用 JSON 填充中粘贴链接设置(
{"base_url": …, "templates": …})或演示系统给出的建议({"links": …}),表单即被填好。 - 多个连接器拥有同一类型的模板时,先使用与该节点同一现场的已启用连接器中该类型的权威族系(PO 行 · 客户订单为 ERP, 工单 · 工序为 MES,料号 · 文档 · 设计变更为 PLM,不合格 · 检验为 QM,维护工单为 CMMS),其次使用代表。 同一编号存在于多个现场、地址出现分歧时,不生成链接。
- 副驾驶会在按钮旁一并显示目标主机,范围外的节点没有链接。打开链接者的权限由原系统重新判定。
- 修改后的模板立即生效。但已保存答案的依据卡片仍保留作答时的链接;点击节点打开的原系统的当前值中的链接,才是用当前模板生成的。
字段绑定 — 拖放
把同步默认不加载的字段连接到工厂图谱的对象上,或更改、关闭连接器所声明字段的类型。
- 在地图上点击读取工具分组。侧栏会展开按工具列出的字段列表。
- 把字段拖放到地图右侧工厂图谱列的类型(设备 · 工单 · 零件 …)上(或点击字段后点击类型)。
- 在侧栏的确认框中点击绑定。把已声明的字段放到其他类型上时,会同时提示«将覆盖已声明的类型»。
- 要关闭点 🚫,要删除可点击字段行的垃圾桶图标或在地图的虚线节点上删除。
- 运维人员绑定优先于连接器声明。
- 变更自下次同步起生效。若不想等待周期同步(见下文),可点击侧栏的立即同步 —— 会显示对象 · 关联数量。只有已启用的连接器才能同步。
- 记录自身的 ID 字段不可更改。
- 谁在何时改了什么,会留在绑定变更记录和管理控制台审计日志(
thread.write)中。
制造 BOM (M-BOM)
设计 BOM(PLM 的 plm_get_bom)回答«由什么构成»,而制造 BOM 回答«在工厂里实际如何制造» —— 虚拟件 · 半成品 · 替代物料 · 在哪道工序消耗。根据正本所在位置,由两种连接器之一提供。
| M-BOM 正本 | 连接器 | 工具 |
|---|---|---|
| ERP | erp 声明 erp-mcp/0.2 | erp_get_mbom |
| MES · MPM | mes 声明 mes-mcp/0.6 | mes_get_mbom |
两个工具输出相同格式。若两者都启用,优先读取 ERP 一侧。
- 恢复方案会更准确。 有 M-BOM 时,可通过消耗工序判别设计变更 · 不合格波及的物料号阻塞了哪道工序。没有时则假定«以工单为单位阻塞»,并在答复的«未考虑事项»中注明。
- BOM 三方比对 —— 对照设计 BOM · 制造 BOM · 图纸零件表,仅报告缺失的子件号 · 数量 · 单位 · 版本滞后,不做任何修改。没有界面,通过服务 API(
/api/v1/bom/reconcile)查看。
物料采购订单与客户订单 — 用 PO 串起的主线
自 2026.10 再发布 3 起,主线以订单连接两端。
자재 PO 줄 ─(걸림)→ 작업지시 ─(속함)→ 마일스톤 · 프로젝트 ─(이행)→ 고객 주문 줄 ─(주문자)→ 고객
物料 PO 行 —— 将 ERP 与 SCM 合为一体。 PO 的正本在 ERP(erp-mcp/0.3 的 erp_list_purchase_orders),而 SCM 掌握供应商确认的交期。两者都接入时,会把相同的 po_id · po_line 合并为一行。
| 字段 | 采用哪一方的值 |
|---|---|
| 交期(承诺日 · 确认日) | SCM 中有供应商确认(confirmed_date)时取 SCM,否则取 ERP |
| 状态 · 未结数量等其余字段 | ERP(正本) |
- 🔴 两个来源的值不一致时不会悄悄择一。所选值与规则会一并以
conflicts[]输出,并原样带入恢复方案的答复中。 - 仅存在于一方的行按该方的值。
- 即使没有 SCM,仅凭 ERP 也能运行就绪度的物料项与恢复方案。此时视«挂在工单上的未结 PO 行 = 该工单等待的物料»,而 ERP PO 不涉及库存,因此库存未知 —— 该假设会写入答复的
assumptions。
客户订单行 —— 余裕天数与风险。 客户订单行由 ERP erp_list_sales_orders 提供(客户 · 客户 PO 号 · 合同交期 · 确认交期 · 违约金条件等)。该行通过里程碑(发货) · 工单 · 项目之一与工厂作业相连。
- 余裕天数(
slack_days)= 交期日(有确认交期则取之,否则取合同交期)次日 00:00(当地) − 预计完成时刻,单位 0.1 天。 预计完成仅使用计划 · 延迟计算得出的数值 —— 没有数值时为slack_days: null及原因。 - 仅通过项目相连的行,由于不知道哪天交付,会以
slack_basis说明余裕天数是未计入该工单之后作业的«上限»。 slack_basis表示余裕天数的基准 ——work_order_planned_end(工单计划结束) ·work_order_planned_end_project_only(同一基准的上限) ·delay_propagated(恢复计算传播零件延迟之后)。就绪度 · 今日列表使用前两者,恢复计算(explain_recovery· 影响表)使用delay_propagated。即便是同一客户订单行,两个值也可能相差很大,因此副驾驶用该字段区分«计划余裕»与«(已反映延迟)»。
| 余裕天数 | risk |
|---|---|
| 小于 0 | late(超期) |
| 小于 2 天 | at_risk(风险) |
| 其他 | on_track(有余裕) |
| 无法计算 | unknown(未知) |
若 ERP 连接器不提供客户订单(低于 0.3 或已关闭),客户订单字段不会为空而是显示**«未知»**,原因记入 customer_orders_unknown_because。
连接器同步 — 周期与立即同步
连接器同步是把已启用连接器的绑定 · 事件加载到镜像的操作。自 2026.10 再发布 3 起由服务周期性执行 —— 这与图谱镜像的10 分钟周期投影(平台台账 · 学习出的边)不同。
- 周期 —— 每个连接器按其族系新鲜度上限的一半(最少 300 秒)同步一次。例如 MES · 排程为 1 小时,EHS 为 30 分钟,ERP 为 12 小时。目的是让镜像始终处于上限之内。服务重启后会稍后对已启用的连接器各同步一次。
- 窗口为«当前 ± 15 天»。
- 关闭消失的关联。 本次窗口中源头不再提及的关联不会删除,而是关闭(记录结束时刻)→ 关联历史
- 🔴 连接器返回的列表若被截断,则跳过关闭 —— 因为用被截断的列表关闭会连正常的关联一起关掉。响应中的
prune_skipped即为原因,控制台会显示黄色提示行「本次同步未关闭消失的关联 —— 采集被截断 …」。 - 某个连接器失败不影响其他连接器运行。失败的连接器会在下个周期重试。
- 同一连接器的同步会排队逐个执行。
集成地图侧栏的立即同步会立刻执行一次同样的同步 —— 在启用连接器后或修改字段绑定后点击。结果会显示对象 · 关联数量,并与周期同步一样关闭消失的关联。
查看状态。 数字主线的 /health 中会包含 connector_sync —— 是否启用 · 轮次 · 各连接器的最后结果 · 失败中的连接器列表(failing)。这只是信息,即便连接器失败也不会把服务状态降为«注意»(因为那是外部系统的事)。
配置。 可通过安装 env 修改。全部留空则应用上述默认值 → 环境配置
| 键 | 默认 | 含义 |
|---|---|---|
DT_CONNECTOR_SYNC_ENABLED | true | 周期同步。为 false 时只保留控制台的立即同步 |
DT_CONNECTOR_SYNC_INTERVAL_S | 0 | 同步间隔(秒)。为 0 时按族系(上限的一半) |
DT_CONNECTOR_MAX_AGE | 空 | 按族系的新鲜度上限。例:mes=2h,erp=1d |
DT_LINK_HISTORY_DAYS | 空(= 180) | 保留已关闭关联的天数 |
数字主线仓库的参考演示连接器(不包含在产品镜像中)当中,重工业订单制造场景 heavy 的 ERP 声明 erp-mcp/0.3,并提供采购订单 · 入库 · 客户订单。可用于在测试环境中跟踪该版本的 PO 主线。
关联历史 — 以该日期为准的状态
连接器加载的关联(工单 → 设备、设计变更 → 物料号、子件号 → 母件号 …)即使在源头消失也不会删除,而是关闭。 因此可以回答「上周二这张工单挂在哪台设备上」「设计变更前这个物料号的上层装配是什么」。
- 聊天工具
thread_trace_links与关联查询接受as_of(某一时刻)。默认只查«当前打开»的关联。 - 已关闭的关联保留 180 天(
DT_LINK_HISTORY_DAYS)。询问更早的时刻时,答复不是«不存在»而是**«未知»**。 - «关闭»关联的是连接器同步 —— 周期同步与控制台的立即同步都会关闭
(通过服务 API 则为
POST /api/v1/connectors/{id}/sync加prune: true)。响应中的prune_applied表示是否关闭,prune_skipped说明跳过的原因(列表被截断)。 - 台账投影 · 学习出的边 · 同一性关联没有历史(始终为«当前»)。
各系统编号不同时 — 同一性 (SAME_AS)
PLM 为 BLD-SX-S1、MES 为 100234-01 这样对同一物料号使用不同称呼时,主线会断开,恢复方案会输出「在 MES 中未找到」。此时只对人工确认过的配对声明为同一。镜像中会生成一条 SAME_AS 关联,源头的编号不会改变。
- 🔴 不自动连接。 错误的同一性会产生错误的延迟数值。服务只会给出候选(忽略大小写 · 分隔符 · 前导 0 后相同的、其他连接器提到的配对),声明由人来做。
- 没有界面 —— 通过服务 API(
/api/v1/identities,候选为/api/v1/identities/suggestions)进行声明 · 撤销。撤销后镜像关联也会删除,谁在何时声明 · 撤销会留在记录中。 - 声明列表中状态为
applied: false的声明表示两个编号之一尚未进入镜像 —— 同步后会接上。 - 时间线会沿同一性追溯两跳,显示挂在其他编号上的事件,恢复方案也会在答复中说明«通过哪条声明连接的»。
数据过旧时 — 新鲜度上限
连接器响应中带有«数据以何时为准»(as_of)。若该时刻早于族系上限,恢复方案与就绪度判定会不给出数值 · 判定,而以「源数据过旧」(stale_inputs)停止。这是为了避免用陈旧数据给出错误答复。
| 族系 | 上限 |
|---|---|
ehs | 1 小时 |
mes · sched · wms | 2 小时 |
cmms | 4 小时 |
lims | 12 小时 |
scm · erp · plm · qm · tool | 1 天 |
若停止,请先检查连接器背后的源头(副本 · 批量导出)是否停了。哪个连接器的数据过旧,可在集成地图的就绪度源视图中通过过旧标签查看。
自 2026.10 再发布 3 起,可通过安装 env 的 DT_CONNECTOR_MAX_AGE(例:mes=2h,erp=1d,单位 s · m · h · d)修改各族系上限。留空则为上表。连接器的周期同步间隔也会随该上限的一半变化 → 连接器同步
图谱镜像 — 运行是否正常

| 编号 | 位置 | 作用 |
|---|---|---|
| ① | 页面顶部 | 刷新。该界面为只读 |
| ② | 摘要卡片 | 上次投影的判定(正常 · 部分完成 · 失败 …) · 最后成功时刻 · 镜像的对象数 · 已投影的关联数 |
| ③ | 「最后执行」 · 「图谱探针」 | 左侧:结束时刻、轮次 · 连续失败 · 周期、各阶段结果(平台台账 · 学习出的边)。右侧:能否连到专用 Neo4j 及各标签的节点数 |
| ④ | 「镜像中装了什么」 | 每个项目(资产 · 标签 · 层级 · 供应/依赖 · 前置关系 …)的来源(平台台账 · 学习 (insight))与条数 |
服务内的周期任务每 10 分钟把平台台账(站点 · 设备层级 · 标签 · 设备关系)与时序洞察学习出的关联加载到镜像。首轮在启动 1 分钟后。平台事件另行持续读取,镜像中的事件引用保留 180 天。
| 判定 | 含义 | 需要做什么 |
|---|---|---|
| 正常 | 台账与学习边均已加载 | — |
| 部分完成 | 台账已加载,仅学习边未加载(上次的边仍保留) | 若时序洞察刚启动,下一轮即可解决 |
| 失败 | 台账未加载 —— 镜像相对台账正在变旧。管理控制台首页的卡片会降为黄灯 | 若显示「需要运维人员处理」,则是配置 · 凭据问题 → 日志 |
在现场与聊天中的使用场景
数字主线对副驾驶而言是可选集成。副驾驶中没有数字主线专用的界面 · 卡片 · 菜单(旧版 /thread 界面、聊天起始页的«今日作业»卡片、设备界面的时间线在新界面中已取消),连接后只会增加三样东西。
| 增加的内容 | 是什么 |
|---|---|
| 提问所用的工具 | 下文聊天工具中的 thread_ 工具 |
| 自动化可选的工具 | 创建自动化时工具列表中的数字主线分组,以及需要该连接才能使用的模板 → 自动化 |
| 建议的依据与草稿 | 建议详情中的依据,以及批准后在外部系统中创建的草稿(见下文「安全机制」)→ 建议 |
- 数字主线专用的自动化模板只在有相应工具时才显示。 模板库的十四个模板中,交期风险 PO · 质量异常追踪 · 图纸改版提醒 三个依赖
thread_工具,因此若本安装中没有该工具、或创建自动化的人无权使用,就不会出现在模板库中(而不是以«不可用»灰显)。接入连接器并开启下文聊天工具后,就会出现在该用户的模板库中 —— 图纸改版提醒除thread_today_work外,还需开启默认关闭的版本状态工具(thread_part_revision_status或thread_work_readiness)之一才会显示。已保存的自动化与模板库无关,照常打开和运行。 - 建议的依据在右侧面板中打开。 点击建议详情中的依据行(文档原文 · 图纸 · 视频)时,不会打开新标签页,而是在详情之上叠加一层面板;点击面板顶部的返回可回到原详情且滚动位置不变。图纸依据可从面板预览中通过**在查看器中打开(新标签页)**跳转。
- 提问答案的依据面板会再读取一次原系统。 在关联图中点击节点时,数字主线会用该类型权威连接器的读取工具 即时读取这一条记录,以原系统的当前值显示(不保存,每个连接器一次 15 秒);此对象的历史以 30 天为单位显示镜像中的事件(保留 180 天)。 该连接器不存在或已关闭时,只会显示«未知 — 连接为可选»,并非错误。原系统链接只有在设置了外部链接模板时才会附上 → 数字主线 — 答案依据
在没有该连接的安装中,这些工具只是不出现在列表里,副驾驶界面上既没有空位也没有«未连接»提示。 现场用户可以问什么,见数字主线 — 连接后会增加什么。
设备时间线 — 在提问中
设备上发生的事,可在提问中以「这台设备最近发生了什么?」之类提问,thread_get_timeline 会按时间顺序返回镜像中的事件 —— 设备状态 · 排程、作业订单、KPI 确定、报警、事件、AI 建议 · 发现。与什么相连则由 thread_trace_links 回答。
若答复说该设备尚未在数字主线中,说明镜像投影还没有加载该设备 —— 请在上方图谱镜像界面查看最后成功时刻。
班组长作业就绪度与就绪度源
作业就绪度对从现在起一个班次(默认 12 小时,最长 48 小时)内将开始的每道工序给出 GO · AT_RISK · NO_GO · UNKNOWN,并优先返回被阻塞的。判定由数字主线完成,提问与自动化只是转述其值。在提问中,thread_today_work(默认开启)的每一行都会带上就绪度;单独查询就绪度的 thread_work_readiness 默认关闭,需管理员开启。
每道工序查看八个项目 —— 前置工序 · 物料 · 工具·校准 · 人员·资质 · 许可·隔离 · 质量阻塞 · 设备维护 · 图纸版本。每个项目对应固定的连接器族系(MES · SCM · 工具管理 · ERP · 安全 · 质量 · 维护 · PLM),对应表见 AI 管理控制台 — 就绪度源。
- 🔴 未知不等于 GO。 没有源连接器或未作答的项目为 UNKNOWN,不计为通过。
- 没有 MES 连接器时,因不知道工单,整体不做判定(«无 MES —— 不做判定»)。
- 源数据比新鲜度上限更旧时停止判定(«源数据过旧 —— 停止判定»)。
- 判定只做报告 —— 不会下发作业或重新分配人员。
运维人员要做的是接入源。若就绪度答复中 UNKNOWN 很多,请在集成地图的就绪度源视图中找出无(灰色) · 过旧的项目,接入该族系的连接器或恢复源头。
就绪度响应(GET /api/v1/readiness、GET /api/v1/readiness/{작업지시})自 2026.10 再发布 3 起还会包含以下内容。
| 位置 | 字段 | 含义 |
|---|---|---|
| 每个项目 | reason_code · reason_params | 以机器可读的代码与值给出理由。副驾驶会将其转为用户语言的句子(英文 reason 是同一代码的展开) |
| 响应头部 | purchase_orders | 仅在读取了 ERP 采购订单时 —— 由 ERP 行生成的短缺行(derived_shortage_lines)、与 SCM 不一致的值(conflicts)、当时所作的假设(assumptions)。未读取时为 null |
| 响应头部 | customer_orders_unknown_because | 未能读取客户订单的原因(ERP 未提供 erp_list_sales_orders 等)。已读取则为 null |
| 每道工序 | customer_orders[] | 该工单所履行的客户订单行 —— 交期 · 余裕天数 · risk · 余裕天数的依据(slack_basis) |
图纸版本项目
图纸版本针对该工序所用物料号检查两点。
- 设计变更 —— PLM 中已发布设计变更且只剩旧版零件时为 NO_GO。没有 PLM 连接器时为 UNKNOWN。
- 车间图纸 —— RAG 中已索引图纸的版本与 PLM 的发布版本不同时为 NO_GO。该比较仅在下文的图纸引用存在于镜像中时进行。没有时只是少做一项检查,项目取值不变。
物料号版本状态(最新版 · 旧版 · 变更进行中 · 无法确认)也可单独查询 —— 聊天工具 thread_part_revision_status,图纸台账的版本标签也使用它。无法确认不等于«最新»。
今日作业列表 — 班组长的一天
提问与自动化所用的工具 thread_today_work 返回该列表(旧版中班组长聊天起始页的「今日作业」卡片也使用同一列表)。通过服务 API 则为 GET /api/v1/today?date=YYYY-MM-DD(日期为安装时区 PP_TZ 的一天,留空则为今天)。
- 行 = 当天计划中的未完成工序(MES) + 平台上当前正在运行的工序。即使 MES 标为«完成»,只要平台上在运行也会加载。
- 行的字段 —— 就绪度(
readiness)、所履行的客户订单(customer_orders[],余裕天数slack_days·risk)、等待的物料 PO(materials[]—— 预计到货 · 延迟天数)、车间要用的图纸(drawings[]—— 版本标签current·outdated·change_open·unknown)、平台的订单与设备状态(platform)、注意事项(attention[])。 attention的取值为readiness_no_go(就绪度 NO_GO) ·material_late(物料延迟) ·outdated_drawing_on_file(挂着旧版图纸) ·drawing_change_open(设计变更进行中) ·customer_due_at_risk(客户交期风险) ·platform_running_outside_plan(MES 计划之外的工序在运行)。- 排序 —— 余裕天数紧张的优先,其次为 NO_GO · 旧版图纸 · 计划开始时间。
- 🔴 未能读取的字段为
null和<칸>_unknown_because(原因)。空列表表示«读取到了但没有» —— 请勿混淆二者。 - 平台上运行的订单,通过平台订单列表(
/api/v5/order/query)行中的外部标识对(external_system+external_id)与 MES 工序连接 —— 仅当该对的external_system与 MES 连接器名称相同时才连接(例如:演示 MES 为demo-mes,模拟器为PLANTPULSE-SIM),此时external_id即 MES 工序 id。不另行调用订单详情。标识对为空或系统名称不同的订单不会挂到任何工序上。 - 平台的订单 · 设备状态只读取今天(其他日期则为
platform: null)。平台 API 地址 · 令牌(DT_PLATFORM_API_URL·DT_PLATFORM_API_TOKEN)为空时,原因也会记入platform_unknown_because。 - 错误 —— 日期格式有误时 400「date must be YYYY-MM-DD: …」,无法连到注册表或连接器时 503
{종류}: {상세}。
聊天工具 thread_today_work 会把同一列表压缩到 16,000 字符以内返回,副驾驶会在答复末尾附上«今日作业»表与«受影响的客户 PO»表
→ 数字主线 — 连接后会增加什么
图纸引用 — RAG 加载的内容
若 RAG 的图纸索引(DRAWING_INGEST_ENABLED,出厂默认关闭)已开启,RAG 每次索引图纸时都会把从标题栏读到的图号 · 版本 · 物料号 · 零件表物料号 · 特性 ID 发送给数字主线。镜像中只生成«该图纸版本描述该物料号»这一关联,不加载尺寸 · 材质等值。新版本进入时,旧版本的关联会被关闭。
接收时,数字主线会与 PLM 的 BOM · 设计变更比对,判别并答复零件表不一致 · 落后于设计变更的版本 · 与设计变更不同的版本。开启方法见环境配置,查看图纸的界面见 AI 管理控制台 — 图纸台账。
聊天工具
| 工具 | 默认 | 作用 |
|---|---|---|
thread_get_timeline | 开启 | 按时间顺序列出某个对象上发生的事 |
thread_trace_links | 开启 | 对象与什么、以何种方式相连,以及两个对象之间的路径 |
thread_today_work | 开启 | 班组长的今日作业列表 —— 每道工序的就绪度 · 客户订单余裕天数 · 等待的物料 PO · 要用的图纸版本(见上) |
thread_impact_range | 开启 | 延迟的 PO · 供应商 · 设备 · 不良批次波及到哪里 —— 工单 · 客户订单 · 客户(向前 = 延迟,向后 = 质量追溯),以及过去时刻(as_of)的关联 |
thread_interval_production | 开启 | 设备异常 · 停机区间内在该设备上运行的工单 · 批次 · 序列号,以及这些批次波及的客户(最长 31 天) |
thread_explain_recovery | 开启 | 零件延迟时排程会推迟多少,以及恢复方案 (what-if)。参见下文 |
thread_work_readiness | 开启 | 班组长作业就绪度 —— 每道工序的 GO · AT_RISK · NO_GO · UNKNOWN 及各项目理由 |
thread_part_revision_status | 开启 | 物料号 · 版本当前是否可用(与 PLM 发布版本 · 设计变更比对) |
thread_check_tooling | 开启 | 来自工具管理连接器 —— 用校准逾期或掉落过的量具所做的测量、投入工单的工具、可能成为不合格原因的磨损工具 |
MCP 网关把该服务器注册为内置服务器,九项在首次被发现时全部以开启状态加入(2026.10 再发布(2026-10-20) —— 此前副驾驶 只开启四项)。管理员改过一次的值不会被覆盖;数字主线新增工具时以关闭状态加入。启用和关闭的位置是 AI 管理控制台 › MCP 网关 › 工具 → MCP 网关 · MCP 工具地图
today_work · work_readiness · part_revision_status · check_tooling 只在连接器注册表已配置时才出现在列表中,explain_recovery 只在有可读取恢复输入的位置时才出现。在此处的开关设置同时作用于提问与自动化 —— 关闭的工具提问和自动化都无法使用。副驾驶界面没有直接调用数字主线的入口。
thread_explain_recovery 的数值由数字主线的优化求解器给出,模型只负责转述。
根据已启用的连接器,答复中包含的内容会增加。
| 已启用的连接器 | 答复中增加的内容 |
|---|---|
| PLM · QM | 每一条设计变更 · 不合格所阻塞的作业,以及该条给里程碑增加的延迟。若因不知时刻 · 处理 · 生效而无法给出数值,则不给数值并说明原因 |
SCM(mes-mcp/0.5 供应能力) | 每个延迟零件能否凭供应商能力提前取得,以及届时的里程碑延迟。不知道能力时只讲«影响»,不给恢复数值 |
ERP erp-mcp/0.2 · MES mes-mcp/0.6(制造 BOM) | 把设计变更 · 不合格所阻塞的范围从整张工单缩小到消耗该物料号的工序 |
| 排程计划 (APS) | 把已发布计划的工序排程用作恢复计算的基准 |
| 维护 (CMMS) · 安全 (EHS) | 把预防性维护窗口 · 使设备停机的故障维修、隔离作为设备约束加载 |
| 工具管理 · 仓库 (WMS) | 范围内工单的工具准备状态,延迟零件的库存(可用 · 持有 · 预留 · 检验中) |
ERP erp-mcp/0.3(采购订单 · 客户订单) | 即便没有 SCM,也用 ERP 采购订单统计延迟物料。会包含受影响的客户订单行(customer_orders[] —— 交期 · 余裕天数 · 风险)以及 ERP · SCM 不一致的 PO 值(purchase_order_conflicts[])。未能读取客户订单时,原因记入 customer_orders_unknown_because |
缺少的连接器会写在答复的«未考虑事项»中 —— 模型必须把它说成«不知道»。
该工具出厂默认开启。恢复方案提议催货«草稿»时,提问答复下方会附上行动卡片(«可执行的行动»)(见下文「安全机制」)。若不想出现卡片,请在 AI 管理控制台 › MCP 网关 › 工具 中关闭该工具 → MCP 网关
安全机制
数字主线虽然接触外部系统,但没有控制设备或写入确定记录的通道。
| 机制 | 内容 |
|---|---|
| 读取工具 | 查询时调用,返回值不做保存。thread_ 聊天工具也全部为只读 |
| 行动工具(🔒) | 在外部系统中创建草稿 · 请求的工具。未经人工批准不会被调用 —— 缺少批准人 · 批准时刻 · 事由 · 建议 ID · 幂等键时,服务会拒绝 |
| 管理控制台 | 不调用行动工具(请求则返回 403) |
| 副驾驶建议详情 | 批准并创建草稿 —— 需要«批准 — 建议卡片草稿»权限(按默认分组为仅管理员)才能批准,且事由为必填。仅在存在提供该行动的已启用连接器时可用。结果以「已生成草稿」留在卡片上,最终确认由人在该系统中完成 |
| 聊天行动卡片 (2026.10) | 当 thread_explain_recovery 的答复提议催货草稿,或 insight_list_findings 的答复中存在未关闭的故障风险发现时出现。批准并执行的事由为必填,可批准的人由业务角色决定 —— SCM 催货草稿为厂长,MES 维护请求草稿为班组长 · 维护 · 厂长,管理员始终可以。提问者不能批准自己的卡片(双人批准)。建议详情中的维护请求草稿仅管理员可批准(按默认分组)。维护请求卡片仅在 MES 连接器提供 mes_create_maintenance_request 时出现。卡片只对会话所有者可见 |
| 重复相同请求 | 以相同幂等键再次到来时,不再访问连接器,而是返回首次创建的草稿 |
外部系统连接器只在这里的集成地图中注册。副驾驶旧的工具服务器 (MCP) 界面已在 2026.10 再发布(2026-10-20) 中删除,其中残留的旧注册
也会在该版本中被删除。即使作为外部服务器接入 MCP 网关,连接器工具(mes_ · erp_ …)也无法启用。
如果旧版中在副驾驶里注册过连接器,请先记下端点与请求头名称,在此处重新注册并重新填写认证值 →
MCP 工具地图
出现问题时
| 症状 | 原因与处理 |
|---|---|
| 集成地图显示「无法使用连接器注册表:503 … config_error」 | 注册表存储 (PG) 或加密密钥(PI_DT_SECRET_KEY)为空。镜像界面与此无关,照常运行 |
| 无法「启用」 | 未运行符合性测试、未通过,或之后端点 · 凭据 · 工具发生了变化 —— 请重新测试 |
| 注册时认证错误 | 连接器令牌或请求头名称有误 |
| 提示无法解密已保存的凭据 | 封存该值的密钥不在当前密钥 · 旧密钥(PI_DT_SECRET_KEY_PREVIOUS)中。请把旧密钥放到旧密钥位并重启,或重新填写凭据 |
| 图谱镜像判定为「失败」 | 查看各阶段结果与服务日志 —— bin/logs.sh plantpulse-digital-thread-api |
| 已同步但提示设备不在镜像中 | 连接器映射的设备 ID 不在平台台账中。检查投影是否运行过、连接器的设备映射表是否正确 |
| 改了字段绑定但镜像没变 | 还未到下个周期同步 —— 请点击侧栏的立即同步。设为 DT_CONNECTOR_SYNC_ENABLED=false 的安装只能靠这个同步 |
| 源头已消失的关联在镜像中一直«打开» | 同步时列表被截断而跳过了关闭(黄色提示行「采集被截断」,响应中的 prune_skipped)—— 在完整读取的同步中会被关闭。若持续被截断,请检查连接器一侧的分页 · 限额 |
| 升级 ERP 版本后 ERP 连接器被关闭 | 所声明版本变化时会在工具发现中被关闭 —— 请重新执行符合性测试 → 启用 |
| 今日作业 · 恢复方案的客户订单为«未知» | ERP 连接器未提供 erp-mcp/0.3 的 erp_list_sales_orders 或已关闭。原因见 customer_orders_unknown_because |
| 不清楚连接器周期同步是否在运行 | 查看数字主线 /health 的 connector_sync —— 各连接器的最后结果与 failing 列表 |
恢复方案 · 就绪度以「源数据过旧」(stale_inputs)停止 | 某个连接器的数据比新鲜度上限更旧。用就绪度源视图的过旧标签找出,并检查该连接器背后的源头是否停了 |
恢复方案显示「在 MES 中未找到」(unresolved_ids) | PLM · QM 指向的编号在 MES 中是另一个编号 —— 请声明同一性 |
| 就绪度答复全是 UNKNOWN | 源连接器未接入 —— 在就绪度源视图中接入状态为无的项目所属族系 |
| 聊天行动卡片不出现 | 管理员关闭了 thread_explain_recovery,或答复中没有草稿素材(订购行 · 需求日),或没有提供该行动的已启用连接器 |