我也整个开源的MES系统把玩

xMES

面向离散装配的开源精益制造执行系统。 xMES 把 IE 视频动作分析得到的标准工时,经审核与范围化发布送到现场工位,并将报工、安灯、设备遥测和诊断结果实时反馈到生产看板。

MVP 0.1 · React 19 · Vue 3 · Go 1.24 · SQLite · SSE

在线预览

从作业证据到现场执行

text 复制代码
视频样本 → 动作分解 → 标准工时 → 四眼审核 → 按产线生效 → 工位执行
    ↑                                                        ↓
    └──────────── 看板 / 安灯 / 报工 / 遥测 / 诊断反馈 ────────────┘

xMES 当前优先解决三件事:

  • 让标准有依据:逐帧标注真实作业视频,区分增值、必要非增值和纯浪费,并通过评定系数与宽放率形成标准工时。
  • 让变更受控制:路线内容版本与现场生效状态相互独立,支持四眼审核、内容指纹、语义化差异、计划生效和有记录的回滚。
  • 让工程与现场闭环:工单固定使用创建时绑定的路线版本;终端按版本展示 SOP,现场报工、安灯和遥测通过 SSE 驱动实时看板。

主要能力

能力域 当前已实现
IE 视频研究 本地视频导入、帧步进与倍速播放、In/Out 动作区间、多个样本、熟练度评定、宽放率、正式工步映射、VA / NNVA / NVA 价值分析与标准工时计算
工艺路线与知识复用 可变工序路线、版本草稿、复制新版本、工位级标准、动作字典、版本化动作模板与 SOP 模板
标准治理 提交前校验、编制与审核分离、审核快照和内容指纹、语义化版本对比、按产品 / 工厂 / 产线部署、立即或计划生效、失效、取消与回滚
工位执行 工单与路线版本绑定、图片或视频片段 SOP、分步作业指导、合格与不良报工、暂停待料、扫码换单入口、安灯呼叫
生产可视化 小时产出、节拍、UPPH、FPY、OEE、工位状态、异常事件和 SSE 实时刷新
受控诊断 面向工艺与现场的证据化只读诊断;无外部模型时使用确定性规则,也可接入兼容 OpenAI Chat Completions 的企业模型网关
权限与审计 本地账号或可信 SSO 代理、RBAC、产品 / 工厂 / 产线范围授权、职责分离、前向哈希链连接且禁止修改删除的审计事件
设备接入 协议无关的驱动、点位映射、采集器与遥测 Hub 契约,以及可用的 HTTP Gateway 遥测接口

关键界面

工艺路线库

统一查看产品路线、版本状态、工位数量、目标节拍和现场生效状态,并可从空白、标准模板或现有版本创建新路线。

IE 视频动作分析

围绕视频样本完成动作切分、价值分类、正式工步映射、样本对比和标准工时计算;批准版本保持只读,修改时创建新草稿。

现场工位终端

面向触控现场使用:展示当前工单、节拍、版本化 SOP 与质量要点,并提供报工、不良、待料、安灯和辅助诊断入口。

快速体验

使用 Docker Compose

要求 Docker Engine 24+ 和 Docker Compose v2。

bash 复制代码
cp deploy/.env.example deploy/.env
./deploy/up.sh

启动后访问:

应用 地址
IE 工程中心 http://localhost:8081
现场工位终端 http://localhost:8082/#/terminal
实时生产看板 http://localhost:8082/#/board

首次启动会自动创建 SQLite 数据库和演示数据。默认启用本地账号登录,以下账号的首次临时密码均为 ChangeMe!2026,登录后必须立即设置个人密码。

体验角色 账号
工厂管理员 ADMIN-DEMO
IE 工程师 IE-CHEN
工艺审核人 PE-REVIEWER
发布负责人 RELEASE-MANAGER
现场操作员 OPERATOR-DEMO

临时密码仅用于初始化开发环境。共享或生产部署必须重置全部账号,或切换到由可信反向代理承载的企业 SSO。

完整的镜像、数据卷、端口和认证配置见 Docker 部署说明

本地开发

要求 Node.js 22+、Go 1.24+。

bash 复制代码
npm install

# 终端 1:API,默认 http://127.0.0.1:8080
make dev-server

# 终端 2:IE 工程中心,默认 http://localhost:5173
make dev-ie

# 终端 3:现场端,默认 http://localhost:5174
make dev-floor

两个前端都将 /api 代理到 http://localhost:8080。如 API 使用其他地址,可在启动前端时通过 XMES_API_TARGET 覆盖代理目标。

常用检查命令:

bash 复制代码
make test    # Go 测试 + 两个前端类型检查
make build   # Go 构建 + 两个前端生产构建

架构概览

text 复制代码
┌─────────────────────┐          ┌────────────────────────┐
│ apps/ie · React     │── /api ─▶│                        │
│ 工艺、视频、治理、管理 │          │ server · Go API        │
└─────────────────────┘          │                        │
                                 │ SQLite · 媒体目录 · SSE │
┌─────────────────────┐          │ RBAC · 审计 · 诊断      │
│ apps/floor · Vue    │◀─ SSE ──│                        │
│ 工位终端、生产看板    │── /api ─▶│                        │
└─────────────────────┘          └───────────▲────────────┘
                                             │
                                 HTTP Gateway / 设备适配器
目录 说明
apps/ie React 工程中心:路线、IE 研究、审核发布、模板、主数据、权限与诊断
apps/floor Vue 现场应用:工位终端与生产看板
server Go API、SQLite 持久层、SSE、媒体服务、认证授权、审计、诊断与 IoT 契约
deploy 多阶段 Docker 镜像、Nginx 反向代理与 Compose 部署
docs MVP 边界、AI 诊断及视频 / 设备 I/O 设计说明

关键设计

  • 路线依次经过 DRAFT → IN_REVIEW → APPROVED;批准不等于现场生效,发布负责人还需选择授权产线创建部署记录。
  • 在制工单固定 route_iddeployment_id,后续部署不会静默改变其 SOP,新工单才使用产线当前生效版本。
  • 视频提交审核前上传到服务端媒体目录,审核快照固化视频 URL、动作片段范围和内容指纹;媒体接口支持 HTTP Range,服务端不做转码。
  • 诊断助手只能读取授权范围内由服务端组装的证据,不能审批、部署、关闭安灯、控制设备或执行任意 SQL。
  • 模板装配到路线时复制内容快照,模板后续升级不会静默改写既有路线。

当前边界

MVP 0.1 尚不包含 AI 自动动作识别、服务端视频转码、FFmpeg 原生逐帧解码、多租户,以及 MQTT、Modbus TCP、OPC UA 的具体驱动。当前浏览器视频引擎使用 FPS 提示实现帧步进;生产视频建议使用 H.264/AAC MP4。协议契约与 HTTP Gateway 已就绪,可通过独立适配器继续扩展。

项目地址

GitHub:https://github.com/zhangenter/xmes

相关推荐
dong_junshuai1 小时前
# 每天一个开源项目#76 Skills:23万星的 Agent 工程技能库
开源·github·agent
Databuff2 小时前
两款开源APM工具【skywalking+databuff】组合落地实战
开源·skywalking
程序员差不多先生2 小时前
OpenAI 把 Codex Harness 开源:AI Agent 的“操作系统“之争正式开打
人工智能·开源
北漂燕郊杨哥2 小时前
DotMD:一款基于 Go + Wails 的轻量开源 Markdown 桌面编辑器
golang·开源·编辑器·markdown·md
小小测试开发3 小时前
AI 安全测试:腾讯开源 A.I.G 平台拆解——2000+ CVE 规则与 LLM 审计的双引擎协作
人工智能·开源
分布式存储与RustFS4 小时前
RustFS 监控实战:OpenTelemetry Collector 把指标接入 Prometheus + Grafana
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
Maynor9964 小时前
Claude Desktop 桌面端全流程指南(含国内直连配置)
人工智能·开源
zzzzzz3105 小时前
别急着把动效组件搬进页面:从 react-bits 看 React 动效库该怎么评估
前端·react.js·开源