职贝云数AI新零售门户
标题:
用 Jenkins + DeepSeek + 阅读器自动化,打造一个“会本人查电站”的智能监控系统
[打印本页]
作者:
kDBivAx
时间:
3 天前
标题:
用 Jenkins + DeepSeek + 阅读器自动化,打造一个“会本人查电站”的智能监控系统
在动力、工业、运维等范畴,实时掌握设备形态是保障系统波动运转的核心。但你有没有遇到过这样的场景:
每天要登录好几个系统,手动查电站运转形态?计划是“5点待机、10点放电”,结果忘了看,设备跑偏了才发现?想做自动化监控,但接口不开放,只能“看得到、摸不着”?
AI是最近的抢手话题,所以明天不讲 API、不碰数据库,而是用一套“无侵入”的方案,教你用 AI 操控阅读器,让 Jenkins 自动帮你查电站、比计划、发告警。
整个过程,不需求目的系统提供 API,就像一个虚拟的“值班员”,每天准时打卡、查数据、写报告。
一、技术栈:AI + 自动化 + CI/CD 的跨界组合
我们用到的工具,都是开源或主流平台,不依赖任何商业软件:
browser-use:一个基于 Gradio 的 AI 阅读器自动化框架,能让大模型(如 DeepSeek)直接“操作”阅读器。DeepSeek-V3:弱小的国产大模型,作为“大脑”了解义务、生成操作指令。基座模型不需求选推理模型,太慢。v3足够优秀,或者选Genimi 2.0 flash.Jenkins:老牌 CI/CD 工具,这次我们让它当“调度中心”,定时触发义务。gradio_client:经过 API 调用 browser-use,完成程序化控制。
这套组合拳的优势是:无需系统对接,纯“黑盒”操作,合适各种老旧系统或内网平台。
二、核心思绪:让 AI 当“值班员”
想象一下,一个新来的值班员是怎样查电站的?
打开阅读器,登录系统;找到“电站监控”页面;查看某个电站的运转形态(充电、放电、待机);对照明天的运转计划,判别能否正常;不正常?立刻上报!
我们的自动化系统,就是把这个过程“AI 化”:
Jenkins (定时义务) ↓调用 browser-use API ↓DeepSeek 模型“接管”阅读器 ↓自动登录 → 定位电站 → 读取形态 ↓前往结构化结果 ↓Jenkins 比对计划 → 生成报告 → 发邮件
三、关键完成:用 gradio_client 精准调用
browser-use 虽然是 Web 界面,但它经过 Gradio 暴露了残缺的 API。我们不需求模拟点击,而是直接调用其核心接口:
python
from gradio_client import Clientclient = Client("http://localhost:7788") # 指向你的 browser-use 服务result = client.predict(param_4="deepseek", # 运用 DeepSeek 作为 LLMparam_11="deepseek", # 规划器也用 DeepSeekparam_26=True, # 无头形式(后台运转)param_37=f"请查询电站 {station_id} 的当前运转形态", # 用户指令api_name="/submit_wrapper"# 核心执行接口)
result[1] 就是 DeepSeek 从网页上“读”出来的形态描画,比如:
“电站P001当前处于放电形态,输入功率85.3MW,无告警。”
browser-use的提示词示例:
打开https://test.test.com/ 的时分,假如需求登录就运用test作为用户名,passwd作为密码登录。登录曾经完成后, https://test.test.com/#/overview/systemOverview请严厉按以下规则分析HTML内容:在右上角 切换 到 p001储能站;从出现的内容内 提取"堆电池形态"列的值;前往结果必须符合JSON Schema:{"status": "string", // 系统形态值(如"待机")"timestamp": "string", // 对应的工夫戳(如"2025-07-27 14:51:58")"station": "string" // 电站称号(如"P01储能站")}若未找到婚配项,请前往:{"status": "未找到","timestamp": "N/A","station": "N/A"}根据基座模型才能编写提示器很关键。假如是高级的模型,这个提示词就可以写得随意些。假如为了牢靠性,就要写得准确一些。大模型的幻觉,至今依然难以避免。本人测试过让它一次查3个站的形态,在Gemini 2.0 flash的模型下,它就会出错。查单个站正确率就很高。 完成一次单个电站的充放电查询的工夫大概是25秒。让它前往json格式,是为了后续Jenkins拿到这个前往值停止下一步的操作。
四、智能比对:形态 vs 计划
光查到形态还不够,我们还要判别它“该不该”这样运转。
我们设计了一个简单的运转计划配置文件(schedule.json):
json
{"P001": [{"start": "01:00", "end": "05:00", "state": "charging"},{"start": "05:00", "end": "10:00", "state": "standby"},{"start": "10:00", "end": "18:00", "state": "discharging"}]}
Jenkins 会:
获取当前工夫;查找该电站当前工夫段的“预期形态”;将 AI 获取的“实践形态”与“预期形态”比对。
假如发现“该充电却待机”,就标记为异常,自动发飞书音讯、邮件告警:
📧 音讯/邮件标题:【告警】电站P001形态异常!预期:充电,实践:待机
五、部署与扩展
部署:browser-use 引荐用 Docker 部署,Jenkins 跑在另一台服务器,经过内网调用 http://browser-use-host:7788。参数化:Jenkins 义务支持输入电站 ID(称号)、工夫等参数,一键查询恣意电站。扩展性
可加入截图、录屏,留存执行证据;可对接企业微信、钉钉,实时推送;可结合 Prometheus + Grafana,绘制形态趋向图。
六、总结:AI 正在改变运维方式
这套方案的价值,不在于技术有多复杂,而在于它打破了“有无 API”的限制。对于那些“看得见但难集成”的系统,我们终于有了一种优雅的自动化方式。
让 AI 操作阅读器,让 Jenkins 调度义务,让运维人员从“点击侠”变成“策略师”。
将来,这样的“AI 数字员工”会越来越多。它们不眠不休,精准执行,把人类从反复休息中束缚出来。
而这,只是末尾。
附:项目地址参考
browser-use:GitHub 搜索即可DeepSeek:https://deepseek.comJenkins:https://www.jenkins.ioJenkins 飞书插件 https://github.com/721806280/lark-notice-pluginGenimi https://aistudio.google.com/
以上文字,80%由AI消费。思绪由本人和chatgpt讨论得出。附图来自chatgpt。
欢迎光临 职贝云数AI新零售门户 (https://www.taojin168.com/cloud/)
Powered by Discuz! X3.5