地铁项目
🚀 基于 React + Express + 飞书 AI 双向联动的“铁路智能运维系统”架构与技术栈解析
在现代化铁路及轨道交通运营中,车站内海量的自动检票机、引导大屏、客服终端和安检仪等设备的维护效率,直接关系到旅客的出行体验与运营安全。
为了实现设备资产全生命周期管理、工单智能调度与一线运维高效协同,我设计并开发了一套「铁路综合智能运维管理系统」。该系统不仅拥有高颜值的双端(管理端 + 员工端)可视化面板,还打通了飞书(Feishu)双向智能工作流,实现了“群内@机器人说句话,AI 自动定位设备并秒级派单”的极致闭环体验。
本文将深度拆解该系统的技术架构、核心技术栈以及智能流转逻辑。
一、 系统技术栈 (Tech Stack)
项目采用现代前后端分离(Full-Stack)架构,保证了高响应速度与灵活的业务拓展:
- 前端(Client Side):极致的交互与视觉呈现
核心框架:React 18 + TypeScript + Vite 构建,保证毫秒级热更新与强类型约束。
样式库:Tailwind CSS,采用流线型、高对比度的“深空 Slate/Indigo”现代工业风设计,针对宽屏与移动端进行自适应响应式布局。
交互动画:使用 Framer Motion (motion/react) 库,在路由切换、工单卡片拖拽、设备故障报警时,提供顺滑的微交互和状态过渡动效。
图表与可视化:集成 Recharts 库,动态绘制设备故障率、工单处理时效和薪酬月度趋势统计图。 - 后端(Server Side):高性能轻量级网关
核心框架:Express.js (Node.js) 构建的 API 服务,全站业务逻辑由 TypeScript 编写,利用 esbuild 编译打包为单文件部署。
实时网关:封装了标准的 RESTful API 接口,负责前后台数据交换。
第三方适配:集成飞书 SDK 与安全加密算法,完美支持飞书服务器的 Url Verification 自动挑战握手和消息解密。 - 数据层(Database):高可靠的本地持久化
为了防止容器重启或服务重试导致的数据丢失,系统设计了本地持久化 JSON 数据库层(Persistent Database Layer):
通过文件系统(fs.existsSync & fs.writeFileSync)在后台维护了一个轻量级、高吞吐的 railway_db.json 文件。
实现对设备状态(Devices)、运维工单(Work Orders)、备品备件库存(Spare Parts)和薪资明细(Payouts)的断电不丢失(ACID-like persistence)读写,在开发环境下兼顾了零配置与高稳定性。 - 智能大脑(AI Integration)
AI 引擎:服务端集成 Google Gemini 3.5 与 DeepSeek R1/V3 混合多模态大模型。
主要用于自然语言处理(NLP),对用户口语化的故障描述进行语义理解,智能提取故障设备 ID、严重程度和位置信息。
二、 核心架构与“双向智能工作流”设计
本系统的最大亮点在于打通了「系统 🔁 飞书群聊」的双向闭环工作流。其技术流转架构如下图所示:
code
Text
[ 用户在飞书群/私聊 ]
│ (发送: "@机器人 D-102闸机突然坏了刷不进卡")
▼
[ 飞书开放平台 (Event Subscription) ]
│ (向系统安全推送 im.message.receive_v1 事件)
▼
[ 本地 Express 服务 (POST /api/feishu/webhook) ]
│
├─► 1. 验证签名,提取消息文本
├─► 2. 调用 Gemini / DeepSeek 提取设备ID(D-102)和故障语义
├─► 3. 更新持久化数据库:将 D-102 设备状态修改为 [● 故障]
├─► 4. 自动生成待办工单 [WO-xxxx] 并落库
│
▼ (反向调用飞书卡片发送接口)
[ 飞书群聊 (卡片消息) ]
(群内立刻收到亮橙色告警卡片,包含工单编号、设备位置及处理按钮) - 极简的“零配置”飞书对接
传统的飞书机器人配置繁琐,本系统在后台集成了一个 飞书配置向导(FeishuConfigView):
自动挑战握手:系统自动处理飞书在保存事件订阅 URL 时的挑战包(Challenge),管理员直接粘贴 Webhook URL 即可一键激活。
双向解耦:不仅系统内部的操作会通过机器人推送到群;用户在群内的发言,系统也能瞬间监听、分析、落地为工单,彻底解放了后台人工抄写数据的手。
三、 项目创新点与实用价值
所见即所得的无缝闭环:传统的运维系统需要人工登录后台、点选设备、手动建单,费时费力。本系统通过 AI + 飞书,将建单时间缩短到了 0.5秒。
双脑智能驱动:不仅支持结构化的工单,还可以理解复杂的口语(例如:“A1候车室那个刷脸的机器好像没电了,屏幕黑黑的,有空来看看”),由大模型自动映射到具体设备 D-101 自动转为故障状态。
高可用本地持久化:精心设计的本地持久化文件数据库,保证了系统在轻量化运行的同时,拥有企业级的稳定数据支撑,不怕系统重启,数据历久弥新。
端到端全流程覆盖:系统不仅管设备和工单,还顺带打通了备件库存预警(库存不足自动变红提示)和员工绩效薪酬管理(Payouts),真正做到了“一站式”铁路运维协作。
浙公网安备 33010602011771号