docs: 补手持终端实机运行截图,给三端协同一个实物证据 改动内容: docs/images/oh-client-online.png:新增手持巡检终端(OpenHarmony 原生 ArkTS) 在模拟器上的实机运行截图。截图为 snapshot_display 原始抓取,非设计稿/效果图。 README.md 系统总览节:图组中补入该图,并加一段说明它证明了什么; 「三端协同」由此从”架构上成立”变成”跑起来给你看”。 docs/README.md:配图清单同步(16 → 17 张)。 这张图能证明什么(都可复核,不是自证): 右上角 ● 在线 来自端上对后端 /api/stats 的连通性探测,返回 200; 同一次启动在服务端 nginx 访问日志里留下四条记录 (/api/stats、/api/orders、/api/security/policy、/api/security/classification), User-Agent 为 ArkTS NetworkKit 的默认 libcurl-agent/1.0, 且 referrer 为空 —— 与浏览器流量可明确区分; 因此该截图里的告警与设备状态确实来自云端同一份状态, 而非端上本地假数据。
docs: 补手持终端实机运行截图,给三端协同一个实物证据
改动内容:
这张图能证明什么(都可复核,不是自证):
● 在线
libcurl-agent/1.0
基于 OpenHarmony 的多模态智能体 · 工业现场多端协同作业系统
🏆 第三届中国研究生操作系统开源创新大赛 · 决赛作品 🎯 赛题方向:多端协同 | AI 多模态诊断 | 可信接入管控
🌐 在线系统 — https://baoyanxuntong.site/
浏览器直接打开即可,无需安装任何环境:三端协同、AI 多模态诊断、知识库检索全部可用。 这是本作品最主要的可交付成果,建议评审以此为准。
🎬 演示视频(3 分 01 秒) — https://www.bilibili.com/video/BV1oTpP6YEQ3
3 分钟看完全部亮点:三端协同 → 工单流转 → 多模态诊断 → 第二意见引擎 → 数据资产。
⚡ 上手三步(约 30 秒)
1 / 2 / 3 / 4
🔗 全部入口一览
demo/冠军模型训练数据-41000条.csv
demo/开源智巡.exe
demo/start.bat
demo/start.sh
💻 离线 exe 使用四步
Uvicorn running on http://0.0.0.0:8600
http://localhost:8600/
⚠️ 两个必看提示 ① 地址请用 http://localhost:8600/,不要用 0.0.0.0(那是绑定地址,浏览器打不开)。 ② 黑色窗口就是服务进程,千万不要关闭——关闭窗口 = 服务停止 = 网页打不开。
0.0.0.0
🛠️ 打不开?本地运行只需 2 分钟
pip install -r src/deploy/requirements.txt cd src/server && python server.py
启动后浏览器打开 http://localhost:8600/。
全文共 13 节,顺序如下;也可直接使用左侧大纲面板跳转。
面向钢铁冶炼、特高压电力、化工生产等高安全等级工业现场,开源智巡把「手持巡检终端(OpenHarmony)+ 中控监测端(Web)+ 指挥大屏端(Web)」三端统一到同一个实时状态机上,后端用确定性机理引擎 + 混合语料检索 + 大模型三层融合完成现场故障会诊,并配套可信接入管控与工单流转闭环。
手持巡检终端(OpenHarmony 原生 ArkTS)实机运行画面:右上角绿色 ● 在线 是端上对后端 /api/stats 的连通性探测结果; 「接收信息」的三条告警与「设备状态」的三台设备,与 Web 中控端读的是同一份云端状态(同一次启动的请求可在服务端访问日志中逐条对到); 底部「安全管控」为未登录态,按密级围栏只展示公开核验信息,不泄露任何内部数据。
/api/stats
三端共享同一份业务状态,任一端的操作在其余两端实时可见:
工业现场的巡检作业长期存在三个断点:数据留在纸上、诊断依赖老师傅经验、多端之间靠对讲机喊。开源智巡把这三段接成一个闭环。
核心亮点
🌐 以上全部能力均可在线验证:**https://baoyanxuntong.site/**
4.1 多端协同作业
工单六状态 · 操作端 · 触发动作
每次状态变更都会写入 order_events 表(谁 / 何时 / 做了什么),中途接手者可看到完整来龙去脉。
order_events
4.2 AI 多模态智能诊断
无图链路 —— 确定性机理引擎:同一输入必得同一输出,全程 0 次大模型调用。
有图链路 —— 三级门禁:先保证「图是对的」,再让「模型看得准」,最后「结论由引擎定」。
风险量化:安全风险分 = 基础分(故障等级)× 设备类型修正系数,钳制到 0–100,用于优先排程。
安全风险分 = 基础分(故障等级)× 设备类型修正系数
4.3 第二意见引擎(冠军模型)
独立训练的第二意见通道,输出 Top-3 失效机理 + 概率 + 与主引擎结论的 agree / disagree 标记,模型先验回灌进提示词做结论级融合,而不是简单并列展示。模型不可用时自动降级,仅缺失第二意见,不影响主链路。
agree / disagree
以上为正文压缩版配图;10 张高清原图(另含数据集总览 / 单条样本解剖 / 表格建模方式)与 可复算原始数据(train_results.json · feature_importance.csv)集中在 tests/09-模型验证/,逐张清单见 tests/README.md。 训练数据明文 CSV(40,911 条,Excel 双击即开):tests/02-测试数据/冠军模型训练数据-41000条.csv(demo/ 下有同内容副本)。
train_results.json
feature_importance.csv
tests/09-模型验证/
tests/README.md
tests/02-测试数据/冠军模型训练数据-41000条.csv
demo/
4.4 三层混合语料库
每条知识都带来源等级徽章(机理推演 / 现场案例 / 厂商手册 / 标准依据),证据强度可区分、可核验。
检索的诚实边界:相关性下限 MIN_RELEVANCE = 0.12;命中为空时如实返回「未检索到」,绝不返回噪声分凑数。
MIN_RELEVANCE = 0.12
4.5 可信接入管控
白名单准入 | 局域网设备扫描 | 异常自动阻断 | 权限分级 | 全量审计日志 —— 把「谁在什么时候连进来干了什么」完整留痕。
4.6 大模型集成与切换
文本通道与视觉通道解耦配置:vision_provider / vision_api_key 留空即回落主模型;支持多家模型热切换,配置改动即时生效。
vision_provider
vision_api_key
4.7 对照实验:纯大模型直答 vs 自研确定性引擎
同一句故障描述,分别交给「纯大模型直答」和「智巡引擎(检索 + 规则 + 风险量化)」作答,逐字段对比——这是本作品可信性主张的直接证据:
在线 1 分钟复现:打开 https://baoyanxuntong.site/,进入 AI 诊断面板,点「🧪 对照实验」按钮, 或直接调 POST /api/ablation(stage=both,接口文档 https://baoyanxuntong.site/docs)。 离线证据留存:10 个演示词的逐条实测记录见 tests/04-基线结果/对照实验_演示词实测.txt (每问含原因数 / 等级 / 步骤 / 合规条款 / 风险分 / RAG 命中与标准号来源); A/B 接口级对照的单次原始响应见 tests/05-原始结果/ablation_test.txt。
在线 1 分钟复现:打开 https://baoyanxuntong.site/,进入 AI 诊断面板,点「🧪 对照实验」按钮, 或直接调 POST /api/ablation(stage=both,接口文档 https://baoyanxuntong.site/docs)。
POST /api/ablation
stage=both
离线证据留存:10 个演示词的逐条实测记录见 tests/04-基线结果/对照实验_演示词实测.txt (每问含原因数 / 等级 / 步骤 / 合规条款 / 风险分 / RAG 命中与标准号来源); A/B 接口级对照的单次原始响应见 tests/05-原始结果/ablation_test.txt。
tests/04-基线结果/对照实验_演示词实测.txt
tests/05-原始结果/ablation_test.txt
本项目自建了一套覆盖全制造业的工业故障诊断语料与结构化样本,是本系统「确定性结论」与「第二意见模型」的共同底座。
样本表 X / Y 结构
X(特征) 行业 · 设备 · 工况 · 介质 · 10 个二值症状位 · 原始描述 Y(标签) cause_primary(主因,单标签) cause_multi(多因,JSON 数组) cause_chain(机理链,因果序列)
数据资产在哪看
demo/知识库与数据集浏览器.html
tests/02-测试数据/训练数据示例-前20条.csv
demo/样本数据集.csv.gz
tests/02-测试数据/知识库本地浏览-12331条.html
src/corpus/DATASET.md
src/corpus/out/*.jsonl.gz
src/corpus/out/coverage_report.md
⚠️ 大文件打开提示:CSV(35 MB)与知识库 HTML(24 MB)在 GitLink 网页预览不渲染(页面显示”空文件”),这是平台限制、文件本身完整(页面显示的大小即实际大小)。请用文件页右上角的下载按钮下载后本地打开:CSV 双击 Excel / WPS 即开(带 BOM,中文不乱码);HTML 双击任意浏览器即开,无需联网。网页可直接预览的小样本见 tests/02-测试数据/训练数据示例-前20条.csv,浏览器实际效果见 demo/知识库浏览器截图.png。
demo/知识库浏览器截图.png
指标体系说明:标签空间分层——统一样本表 samples_unified 的机理标签 mech_key 共 45 类(含 normal),细粒度主因 cause_primary 227 类;冠军模型剔除 5 个极稀有类别后按 40 类训练(见 src/corpus/out/model_report/train_results.json 的 n_classes)。类别分布极不均衡,因此全部建模指标以 macro-F1 / macro-AUPRC 为准,accuracy 仅作对照(多数类会被「正常」样本虚高)。
samples_unified
mech_key
normal
cause_primary
src/corpus/out/model_report/train_results.json
n_classes
accuracy
不配置任何环境也可直接使用在线系统:**https://baoyanxuntong.site/**
后端运行依赖(src/deploy/requirements.txt):
src/deploy/requirements.txt
fastapi>=0.110 uvicorn[standard]>=0.29 python-multipart pillow>=10.0 numpy>=1.26
第二意见引擎依赖(可选,缺失时自动降级,不影响主链路):
joblib scikit-learn==1.9.1 xgboost==3.4.1
前端测试依赖(可选):
jsdom
全部来自公共 PyPI / npm,无任何私有源依赖。
pip install -r src/deploy/requirements.txt pip install joblib scikit-learn xgboost # 可选
本项目为纯 Python 后端 + 原生前端,无编译步骤,克隆即用。
git clone https://www.gitlink.org.cn/IB0sK3W7OE/jyohddmtzntgyxcddxtzyxt.git cd jyohddmtzntgyxcddxtzyxt
如需 OpenHarmony 端产物:用 DevEco Studio 打开 src/oh/ 目录,Sync 后 Build。仓库仅收录 ArkTS 源码,不含构建产物(.hap)。
src/oh/
.hap
方式一:直接访问在线环境(推荐,零配置)
打开 https://baoyanxuntong.site/ 即可,无需任何本地操作。
方式二:源码本地运行(推荐用于评审复现)
cd src/server python server.py
服务默认监听 0.0.0.0:8600,数据库与模型均按脚本所在目录自动定位,无需手工配置:
0.0.0.0:8600
src/server/hongdun.db
src/server/xgb_champion.pkl
src/web/
/static/
启动后浏览器打开 **http://localhost:8600/**(或 http://localhost:8600/app)。
http://localhost:8600/app
首次启动会构建检索索引,请等待终端出现 Uvicorn running on http://0.0.0.0:8600 后再访问。
方式三:离线可执行文件
见上文「离线 exe 使用四步」。demo/ 下同时提供 start.bat(Windows)与 start.sh(Linux/macOS)一键脚本。
start.bat
start.sh
测试材料全部位于 tests/,四类测试的运行方式详见 **tests/README.md**。
tests/
test_no_image_diag.py
test_kb_search.py
test_vision_channel.py
test_thinking_switch.py
test_corpus_kb.py
test_api_smoke.py
test_isolation.py
test_user_workspace.py
test_ws_transfer.py
test_frontend_smoke.cjs
test_diag_render.cjs
test_form_css.cjs
test_live_kr.py
test_live_ws_kr.py
test_live_clue_kr.py
四类测试怎么跑
python tests/<脚本名>.py
为什么需要前端渲染测试? 接口通 ≠ 页面正常。曾出现「接口返回正常,但某个字段未定义导致整块面板空白」的问题,只有渲染测试能捕获。
原始结果与模型验证
测试材料按类别归入 tests/ 的 10 个目录:原始运行输出见 tests/06-运行日志/,失败案例见 tests/07-失败案例/,均未作美化;冠军模型验证材料(10 张图)见 tests/09-模型验证/,逐张清单在 tests/README.md。
tests/06-运行日志/
tests/07-失败案例/
tests/04-基线结果/对照实验_演示词实测.txt 为纯大模型直答 vs 自研确定性引擎在同一批提问下的对照记录。
模型验证的原始数据(可复算,非手填)
正文与说明书里的指标,全部能从下面这几个文件复算出来:
dummy
lr
rf
mlp
xgb
src/corpus/out/model_report/feature_importance.csv
src/corpus/out/cwru_features.csv
src/corpus/out/samples_unified_summary.json
src/corpus/open/cwru/*.mat
node tests/01-测试脚本/前端测试/test_ablation_render.cjs # 前端桩渲染测试:7/7 分节 + 空数据边界
语料复现
完整语料以 gzip 形式随仓库提供(原始约 113 MB → 压缩后约 7.2 MB):
src/corpus/out/knowledge.jsonl.gz
src/corpus/out/fault_samples.jsonl.gz
src/corpus/out/samples_unified.jsonl.gz
p_*
从源码重新生成完整语料:
python src/tools/build_corpus.py # 生成 knowledge.jsonl / fault_samples.jsonl python src/server/kb_import.py --db src/server/hongdun.db # 幂等灌库,可重复执行
README.md
作品原创承诺书.pdf
src/server/
src/corpus/
DATASET.md
src/tools/
src/deploy/
docs/
docs/images/
presentation/
xgb_champion.pkl
http://10.0.2.2:8600
demo/requirements.txt
docs/人工智能及第三方工具使用说明.pdf
🌐 在线体验:https://baoyanxuntong.site/ | 🎬 演示视频:https://www.bilibili.com/video/BV1oTpP6YEQ3
开源智巡 | 第三届中国研究生操作系统开源创新大赛 · 决赛作品
用中国开源,巡中国工业。
基于OpenHarmony的多模态智能体工业现场多端协同作业系统
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
🛡️ 开源智巡
基于 OpenHarmony 的多模态智能体 · 工业现场多端协同作业系统
🚀 在线体验(评委入口 · 零安装)
🌐 在线系统 — https://baoyanxuntong.site/
🎬 演示视频(3 分 01 秒) — https://www.bilibili.com/video/BV1oTpP6YEQ3
⚡ 上手三步(约 30 秒)
1 / 2 / 3 / 4切换「手持端 / 中控端 / 大屏端 / 远程会诊」🔗 全部入口一览
demo/冠军模型训练数据-41000条.csvdemo/开源智巡.exedemo/start.bat、demo/start.sh💻 离线 exe 使用四步
demo/开源智巡.exe(约 27 MB)Uvicorn running on http://0.0.0.0:8600http://localhost:8600/,看到三端协同主界面即成功🛠️ 打不开?本地运行只需 2 分钟
启动后浏览器打开
http://localhost:8600/。📖 目录
🖥️ 一、系统总览
面向钢铁冶炼、特高压电力、化工生产等高安全等级工业现场,开源智巡把「手持巡检终端(OpenHarmony)+ 中控监测端(Web)+ 指挥大屏端(Web)」三端统一到同一个实时状态机上,后端用确定性机理引擎 + 混合语料检索 + 大模型三层融合完成现场故障会诊,并配套可信接入管控与工单流转闭环。
三端共享同一份业务状态,任一端的操作在其余两端实时可见:
🎯 二、项目简介
工业现场的巡检作业长期存在三个断点:数据留在纸上、诊断依赖老师傅经验、多端之间靠对讲机喊。开源智巡把这三段接成一个闭环。
核心亮点
🏭 三、应用场景
✨ 四、主要功能
4.1 多端协同作业
工单六状态 · 操作端 · 触发动作
4.2 AI 多模态智能诊断
无图链路 —— 确定性机理引擎:同一输入必得同一输出,全程 0 次大模型调用。
有图链路 —— 三级门禁:先保证「图是对的」,再让「模型看得准」,最后「结论由引擎定」。
4.3 第二意见引擎(冠军模型)
独立训练的第二意见通道,输出 Top-3 失效机理 + 概率 + 与主引擎结论的
agree / disagree标记,模型先验回灌进提示词做结论级融合,而不是简单并列展示。模型不可用时自动降级,仅缺失第二意见,不影响主链路。4.4 三层混合语料库
每条知识都带来源等级徽章(机理推演 / 现场案例 / 厂商手册 / 标准依据),证据强度可区分、可核验。
4.5 可信接入管控
白名单准入 | 局域网设备扫描 | 异常自动阻断 | 权限分级 | 全量审计日志 —— 把「谁在什么时候连进来干了什么」完整留痕。
4.6 大模型集成与切换
文本通道与视觉通道解耦配置:
vision_provider/vision_api_key留空即回落主模型;支持多家模型热切换,配置改动即时生效。4.7 对照实验:纯大模型直答 vs 自研确定性引擎
同一句故障描述,分别交给「纯大模型直答」和「智巡引擎(检索 + 规则 + 风险量化)」作答,逐字段对比——这是本作品可信性主张的直接证据:
📊 五、数据资产
本项目自建了一套覆盖全制造业的工业故障诊断语料与结构化样本,是本系统「确定性结论」与「第二意见模型」的共同底座。
样本表 X / Y 结构
数据资产在哪看
demo/知识库与数据集浏览器.htmldemo/冠军模型训练数据-41000条.csvtests/02-测试数据/训练数据示例-前20条.csv)demo/样本数据集.csv.gztests/02-测试数据/冠军模型训练数据-41000条.csvdemo/字节一致)tests/02-测试数据/知识库本地浏览-12331条.htmlsrc/corpus/DATASET.mdsrc/corpus/out/*.jsonl.gzsrc/corpus/out/coverage_report.mdtests/09-模型验证/tests/README.md)🖥️ 六、系统环境
📦 七、依赖要求
后端运行依赖(
src/deploy/requirements.txt):第二意见引擎依赖(可选,缺失时自动降级,不影响主链路):
前端测试依赖(可选):
全部来自公共 PyPI / npm,无任何私有源依赖。
🔨 八、构建方法
本项目为纯 Python 后端 + 原生前端,无编译步骤,克隆即用。
如需 OpenHarmony 端产物:用 DevEco Studio 打开
src/oh/目录,Sync 后 Build。仓库仅收录 ArkTS 源码,不含构建产物(.hap)。▶️ 九、运行方法
方式一:直接访问在线环境(推荐,零配置)
打开 https://baoyanxuntong.site/ 即可,无需任何本地操作。
方式二:源码本地运行(推荐用于评审复现)
服务默认监听
0.0.0.0:8600,数据库与模型均按脚本所在目录自动定位,无需手工配置:src/server/hongdun.dbsrc/server/xgb_champion.pklsrc/web/→ 挂载到/static/启动后浏览器打开 **
http://localhost:8600/**(或http://localhost:8600/app)。方式三:离线可执行文件
见上文「离线 exe 使用四步」。
demo/下同时提供start.bat(Windows)与start.sh(Linux/macOS)一键脚本。🧪 十、测试方法
测试材料全部位于
tests/,四类测试的运行方式详见 **tests/README.md**。test_no_image_diag.py·test_kb_search.py·test_vision_channel.py·test_thinking_switch.py·test_corpus_kb.pytest_api_smoke.py·test_isolation.py·test_user_workspace.py·test_ws_transfer.pytest_frontend_smoke.cjs·test_diag_render.cjs·test_form_css.cjstest_live_kr.py·test_live_ws_kr.py·test_live_clue_kr.py等四类测试怎么跑
python tests/<脚本名>.py,无需启动服务原始结果与模型验证
测试材料按类别归入
tests/的 10 个目录:原始运行输出见tests/06-运行日志/,失败案例见tests/07-失败案例/,均未作美化;冠军模型验证材料(10 张图)见tests/09-模型验证/,逐张清单在tests/README.md。tests/04-基线结果/对照实验_演示词实测.txt为纯大模型直答 vs 自研确定性引擎在同一批提问下的对照记录。模型验证的原始数据(可复算,非手填)
正文与说明书里的指标,全部能从下面这几个文件复算出来:
src/corpus/out/model_report/train_results.jsondummy/ 逻辑回归lr/ 随机森林rf/ BP 神经网络mlp/ XGBoostxgb)的 accuracy · macro-F1 · macro-AUPRC · 训练耗时,以及 A / B / C 三组特征消融结果src/corpus/out/model_report/feature_importance.csvsrc/corpus/out/cwru_features.csvsrc/corpus/out/samples_unified_summary.jsonsrc/corpus/open/cwru/*.mat语料复现
完整语料以 gzip 形式随仓库提供(原始约 113 MB → 压缩后约 7.2 MB):
src/corpus/out/knowledge.jsonl.gzsrc/corpus/out/fault_samples.jsonl.gzsrc/corpus/out/samples_unified.jsonl.gzp_*与机理标签)从源码重新生成完整语料:
📁 十一、目录结构
README.md作品原创承诺书.pdfsrc/server/src/web/src/oh/src/corpus/DATASET.mdsrc/tools/src/deploy/docs/docs/images/)tests/demo/presentation/⚠️ 十二、已知限制
src/server/hongdun.db含 404 条知识条目与 35 台演示设备,目的是保证克隆后无需任何预处理即可启动。完整语料(12,331 条知识 + 40,911 条样本)以src/corpus/out/*.jsonl.gz随仓库提供,可一键重建;线上环境已载入全量数据。xgb_champion.pkl依赖 scikit-learn / xgboost 的反序列化兼容性,版本差异较大时可能加载失败。此时系统自动降级——仅缺失第二意见通道。http://10.0.2.2:8600。demo/requirements.txt安装后以源码方式运行。🔒 十三、匿名化与合规
docs/下全部文档、presentation/下演示视频与 PPT,均已移除单位名称、指导教师与参赛成员姓名等可识别信息,成员统一以 A / B / C 指代。docs/人工智能及第三方工具使用说明.pdf**。🌐 在线体验:https://baoyanxuntong.site/ | 🎬 演示视频:https://www.bilibili.com/video/BV1oTpP6YEQ3
开源智巡 | 第三届中国研究生操作系统开源创新大赛 · 决赛作品