当前位置: 首页 > article >正文

Midscene + 本地Ollama-Qwen3-VL 部署操作文档(含踩坑指南)

Midscene 本地Ollama-Qwen3-VL 部署操作文档含踩坑指南一、文档说明本文档适用于Windows 环境以暗影精灵11为例i9-14900HX 32G内存 RTX5070 8G完整覆盖从环境安装、模型部署、脚本开发到调试运行的全流程包含实际操作中踩坑点和解决方案最终实现基于 Midscene 的 Web UI 自动化百度搜索“软件测试”案例。二、前置准备硬件要求内存≥16G32G最佳支持8B模型流畅运行显卡NVIDIA 独立显卡支持CUDA≥6G显存RTX5070 8G完全适配硬盘预留≥20G空间Ollama模型项目依赖软件依赖操作系统Windows 10/11 64位浏览器Chrome 最新版Midscene 仅支持Chrome终端CMD/PowerShell或任意支持Node.js的终端三、环境安装步骤1. 安装 Node.js必装操作步骤下载 Node.js访问 Node.js 官网下载LTS 版本推荐20.x.x安装双击安装包勾选“Add to PATH”默认下一步完成安装验证打开终端执行以下命令显示版本号即成功node-v# 输出 v20.x.xnpm-v# 输出 10.x.x注意事项若安装后终端提示“node不是内部命令”需手动将 Node.js 安装目录默认C:\Program Files\nodejs添加到系统环境变量PATH中。2. 安装 Ollama本地模型运行环境操作步骤下载 Ollama访问 Ollama 官网点击“Download for Windows”安装双击安装包默认路径安装自动配置环境变量验证打开终端执行以下命令显示帮助信息即成功ollama--version注意事项安装后需重启终端确保ollama命令可正常调用。3. 下载本地 Qwen3-VL 模型操作步骤打开终端执行以下命令下载模型推荐8B兼顾速度和能力# 下载 qwen3-vl:8b4-bit量化显存占用约4-5GBollama pull qwen3-vl:8b验证模型执行以下命令启动模型显示 Send a message即就绪ollama run qwen3-vl:8b测试模型能力可选在模型终端输入识别百度首页的输入框和搜索按钮并上传百度截图模型能识别即正常。注意事项下载模型需联网速度取决于网络环境8B模型约4-5GB若下载中断重新执行ollama pull qwen3-vl:8b即可断点续传4B模型qwen3-vl:4b适合低配电脑但任务规划准确率和速度不如8B建议优先用8B。4. 配置 Ollama GPU 加速关键提速步骤操作步骤安装 CUDA Toolkit访问 NVIDIA CUDA 官网下载12.x 版本适配RTX5070安装时选择“精简安装”自动配置环境变量。设置 Ollama 环境变量按下WinR输入sysdm.cpl→“高级”→“环境变量”系统变量→“新建”添加变量名OLLAMA_CUDA变量值1启用CUDA加速重启电脑让环境变量和CUDA配置生效验证GPU加速启动模型ollama run qwen3-vl:8b打开“任务管理器”→“性能”→“GPU 0RTX5070”模型推理时GPU利用率上升即成功。注意事项若没有NVIDIA显卡跳过此步骤Ollama自动用CPU推理但速度会慢3-5倍安装CUDA后若GPU未被调用检查显卡驱动是否为最新通过NVIDIA GeForce Experience更新。5. 安装 Midscene 相关依赖操作步骤创建项目目录# 新建项目文件夹mkdirD:\project2025\AI_UI_TEST# 进入目录cdD:\project2025\AI_UI_TEST初始化 npm 项目npminit-y# 生成 package.json 文件安装 Midscene 核心依赖# 安装 Midscene 核心库和桥接模式依赖npminstallmidscene/core midscene/web--save# 安装 TypeScript 及运行工具TS脚本必需npminstalltypescript tsx types/node --save-dev安装 Midscene CLIYAML脚本运行必需npminstall-gmidscene/cli验证 CLI 安装midscene--version# 输出 v1.0.3 及以上注意事项安装 CLI 时出现npm WARN deprecated警告是正常现象不影响功能若midscene命令无法识别手动将 npm 全局目录默认C:\Users\你的用户名\AppData\Roaming\npm添加到系统环境变量PATH。6. 安装 Midscene Chrome 插件操作步骤打开 Chrome 浏览器访问 Chrome 应用商店搜索“Midscene”并安装安装后点击浏览器右上角插件图标启用“Bridge Mode”桥接模式点击“Allow connection”允许连接插件显示“Listening”即就绪。注意事项若无法访问应用商店可通过 Midscene 官网下载离线插件包安装每次运行脚本前需确保插件处于“Bridge Mode”且已允许连接。四、项目配置.env 文件在项目根目录D:\project2025\AI_UI_TEST创建.env文件写入以下配置适配本地 Ollama 模型# .env 文件 - Midscene 模型配置 # 本地 Ollama 服务地址默认端口11434 MIDSCENE_MODEL_BASE_URLhttp://localhost:11434/v1 # 本地模型无需真实 API Key填任意值即可 MIDSCENE_MODEL_API_KEYlocal-deployment # 本地模型名称qwen3-vl:8b 或 qwen3-vl:4b MIDSCENE_MODEL_NAMEqwen3-vl:8b # 模型家族Qwen3-VL 系列必须填 qwen3-vl之前踩坑点 MIDSCENE_MODEL_FAMILYqwen3-vl # 优先使用本地模型 MIDSCENE_AI_PREFER_LOCALtrue注意事项MIDSCENE_MODEL_FAMILY必须填qwen3-vl而非简写qwen否则会报“Invalid MIDSCENE_MODEL_FAMILY”错误之前的核心坑若切换线上模型如 qwen3-vl-32b-thinking需修改MIDSCENE_MODEL_BASE_URL、MIDSCENE_MODEL_API_KEY为线上服务地址和密钥。五、脚本开发与运行1. TypeScript 脚本demo-new-tab.ts脚本内容// demo-new-tab.ts - TS 脚本示例百度搜索“软件测试”importdotenv/config;// 加载 .env 配置必需import{AgentOverChromeBridge}frommidscene/web/bridge-mode;// 睡眠函数等待页面加载constsleep(ms:number)newPromise((r)setTimeout(r,ms));Promise.resolve((async(){constagentnewAgentOverChromeBridge();try{// 连接 Chrome 新建标签页打开百度awaitagent.connectNewTabWithUrl(https://www.baidu.com);// 输入“软件测试”拆分指令降低模型压力之前踩坑点awaitagent.ai(识别页面顶部的搜索输入框输入“软件测试”);awaitsleep(2000);// 点击“百度一下”按钮awaitagent.ai(点击页面中的“百度一下”按钮);awaitsleep(3000);// 断言搜索结果存在awaitagent.aiAssert(页面显示“软件测试”的搜索结果);console.log(脚本执行成功);}catch(error){console.error(脚本执行失败,error);}finally{// 销毁 agent 连接awaitagent.destroy();}})());运行步骤启动本地模型打开终端执行ollama run qwen3-vl:8b保持终端打开运行 TS 脚本在项目目录执行npx tsx demo-new-tab.ts观察结果Chrome 自动打开百度完成输入和点击终端显示“脚本执行成功”即正常。2. YAML 脚本test.yaml脚本内容严格遵循官网语法之前踩坑点# test.yaml - YAML 脚本示例百度搜索“软件测试”web:# 官网要求根字段为 web而非 target之前的坑url:https://www.baidu.combridgeMode:newTabWithUrlcloseNewTabsAfterDisconnect:truetasks:-name:输入搜索关键词flow:# 每个 task 必须包含 flow 数组核心坑之前缺这个-ai:识别页面顶部的搜索输入框输入“软件测试”-name:等待输入完成flow:-sleep:1000-name:点击搜索按钮flow:-ai:点击页面中的“百度一下”按钮-name:等待结果加载flow:-sleep:3000-name:验证搜索结果flow:-aiAssert:页面显示“软件测试”的搜索结果# 断言用 aiAssert而非 assert坑运行步骤确保模型和 Chrome 插件已就绪在项目目录执行# 用 CLI 运行 YAML 脚本--file 参数避免文件识别问题midscene run--filetest.yaml观察结果终端显示步骤执行日志Chrome 自动完成操作生成 HTML 报告。六、常见问题与踩坑总结1. 环境配置类问题现象原因解决方案“Invalid MIDSCENE_MODEL_FAMILY”模型家族配置为qwen改为qwen3-vl官网要求“midscene 不是内部命令”CLI 未添加到环境变量手动添加 npm 全局目录到 PATHOllama 模型无法调用 GPU未配置 CUDA 或环境变量安装 CUDA添加OLLAMA_CUDA1环境变量2. 脚本运行类问题现象原因解决方案“failed to parse json response”模型返回自然语言非 JSON拆分复杂指令明确要求 JSON 格式“failed to call AI model service: empty content”模型推理失败/格式不兼容切换8B模型简化指令描述“No yaml files found in run”CLI 无法识别文件用--file参数或./test.yaml相对路径“missing flow in task”YAML 缺少flow数组每个 task 操作放入flow内3. 性能类问题现象原因解决方案单步操作耗时30秒未启用 GPU 加速配置 CUDA 加速关键模型推理卡顿电脑资源不足关闭无关程序释放内存/显存七、调试与报告查看运行日志终端实时输出执行步骤Plan/Locate/Input/Tap报错时会显示具体原因可视化报告Midscene 自动生成 HTML 报告路径为midscene_run/report/xxx.html用浏览器打开可查看截图、步骤耗时模型调试在 Ollama 终端手动测试指令验证模型是否能识别元素、返回正确格式。八、总结核心流程环境安装→模型部署→配置→脚本开发→运行关键是 GPU 加速和模型家族配置优先选择8B模型速度准确率平衡、YAML脚本简洁、GPU加速大幅提速避坑重点模型家族填qwen3-vl、YAML 包含flow数组、拆分复杂指令、启用 GPU 加速。按以上步骤操作即可稳定实现 Midscene 本地 Ollama 模型的 Web UI 自动化。

相关文章:

Midscene + 本地Ollama-Qwen3-VL 部署操作文档(含踩坑指南)

Midscene 本地Ollama-Qwen3-VL 部署操作文档(含踩坑指南) 一、文档说明 本文档适用于 Windows 环境(以暗影精灵11为例:i9-14900HX 32G内存 RTX5070 8G),完整覆盖从环境安装、模型部署、脚本开发到调试…...

暖心指南:儿童心理医院真实案例分享

行业痛点分析当前长沙地区儿童心理健康服务面临多重技术挑战。数据显示,2023年长沙市0-18岁青少年中,约有18.6%存在不同程度的情绪或行为问题,其中焦虑障碍、注意力缺陷多动障碍(ADHD)及学习困难占比超六成&#xff0c…...

LibreCAD:开源2D CAD解决方案的价值与实践指南

LibreCAD:开源2D CAD解决方案的价值与实践指南 【免费下载链接】LibreCAD LibreCAD is a cross-platform 2D CAD program written in C17. It can read DXF/DWG files and can write DXF/PDF/SVG files. It supports point/line/circle/ellipse/parabola/spline pri…...

RexUniNLU部署教程:Kubernetes集群中水平扩缩容RexUniNLU服务的Helm Chart实践

RexUniNLU部署教程:Kubernetes集群中水平扩缩容RexUniNLU服务的Helm Chart实践 1. 为什么需要在K8s中部署RexUniNLU? 你可能已经试过在本地跑通 python test.py,也成功启动了 server.py 提供的 FastAPI 接口。但当真实业务流量进来——比如…...

【Hot 100 刷题计划】 LeetCode 128. 最长连续序列 | C++ 哈希表 O(N) 题解

LeetCode 128. 最长连续序列 | C Set 与哈希表 O(N) 双解法题解 📌 题目描述 题目级别:中等 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度…...

MedGemma X-Ray技术博文:医疗大模型在放射科的可信度验证实践

MedGemma X-Ray技术博文:医疗大模型在放射科的可信度验证实践 1. 引言:当AI走进放射科,我们如何相信它? 想象一下,一位放射科医生每天要面对上百张X光片,每一张都需要仔细查看、分析、撰写报告。长时间高…...

【Hot 100 刷题计划】 LeetCode 438. 找到字符串中所有字母异位词 | C++ 滑动窗口题解

LeetCode 438. 找到字符串中所有字母异位词 | C 固定滑动窗口极致优化题解 📌 题目描述 题目级别:中等 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词&#xff…...

cv_unet_image-colorization多分辨率适配实测:手机扫描件/胶片扫描图效果对比

cv_unet_image-colorization多分辨率适配实测:手机扫描件/胶片扫描图效果对比 1. 项目背景与技术原理 基于UNet架构深度学习模型开发的本地化图像上色工具,采用了阿里魔搭开源的图像上色算法。这个工具能够智能识别黑白图像中的物体特征、自然场景和人…...

Nunchaku-FLUX.1-dev开源镜像部署教程:免编译、免依赖、一键拉起服务

Nunchaku-FLUX.1-dev开源镜像部署教程:免编译、免依赖、一键拉起服务 1. 开篇:为什么你需要这个本地文生图神器? 如果你玩过AI绘画,肯定遇到过这些烦心事:想用国外模型生成中文场景,结果出来的图不伦不类…...

cv_unet_image-colorization图像上色入门必看:纯本地运行无网络依赖实操手册

cv_unet_image-colorization图像上色入门必看:纯本地运行无网络依赖实操手册 本文总计约3800字,完整阅读约需12分钟,包含详细的环境配置、操作步骤和实用技巧,适合零基础用户快速上手。 1. 引言:让黑白照片重现光彩 你…...

Cogito-v1-preview-llama-3B高性能:vLLM Serving + OpenAI兼容API部署教程

Cogito-v1-preview-llama-3B高性能:vLLM Serving OpenAI兼容API部署教程 1. 引言:为什么选择Cogito模型? 如果你正在寻找一个既强大又实用的语言模型,Cogito-v1-preview-llama-3B绝对值得关注。这个模型在同等规模的开源模型中…...

收藏备用!Workflow与Agent详解:小白也能看懂的AI自动化核心(附上手工具)

对于刚接触大模型的小白和程序员来说,Workflow和Agent是AI自动化领域最易混淆、也最核心的两个概念。本文将用通俗的语言拆解二者的核心作用、本质区别,补充实用落地细节,同时推荐新手友好型工具,帮你快速建立体系化认知&#xff…...

若依(ruoyi)RuoYiApp版—页面

ruoyiApp中的页面是一个符合vue规范的文件,如果你熟悉vue,这里将非常快速上手。 1.如何新增页面 uni-app中的页面,默认保存在工程根目录下的pages目录下。 每次新建页面,均需在pages.json中配置pages列表;未在pages.js…...

最好用的服务器文件传输工具:SSHFerry(下载见结尾)

为了 AutoDL 传文件更快更省心,我自己做了个 SSH 工作区:SSHFerry(下载见结尾) 之前我写过一篇和 AutoDL 上传有关的文章,没想到后面慢慢有了 1 万多阅读。 但那篇文章现在回头看,我觉得还是有点不够负责。…...

【力扣hot100】 198. 打家劫舍

一、题目你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金, 影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统, 如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存…...

安卓音频问题解决记录(一)

本文记录在安卓framework开发过程中遇到的一些音频问题的解决办法。 1.支持多应用同时录音(安卓10以上) 通过日志分析,发现当另一个应用打开录音的时候会被静音,日志如下: APM_AudioPolicyManager: setAppState(portId:43, state:2) APM_AudioPolicyManager: set…...

【VLA】Vision Language Action

文章目录一、什么是世界模型(World Model)?✅ 定义:🌍 核心功能:🔧 技术原理(典型架构):二、世界模型在具身智能中的作用三、VLA(Vision-Language…...

PyQt6开发可视化界面中遇到问题及解决方案集合

PyQt6开发可视化界面中遇到问题及解决方案集合 安装与配置: 1.配环境の拷打 因为博主这个项目本来是在pycharm中的本地python3.12.7环境下开发的,涉及mineru解析,vectordatabase、fuseki、neo4j入库等核心模块,开发桌面软件时遇…...

DeepSeekubernetes-1.35.3/kubernetes-1.35.3/test/utils/ktesting/examples/logging/example_test.go 源码分析

我来分析 Kubernetes 测试工具 ktesting 中的日志示例文件 example_test.go。这个文件展示了如何在 Kubernetes 测试中使用结构化日志。 文件概述 这是 Kubernetes v1.35.3 中 test/utils/ktesting 包的示例文件,展示了如何使用 ktesting 框架进行带有结构化日志的测…...

委托的全面知识总结(C#)

一.定义与本质委托是干什么的?委托就是用来存 方法 的容器你可以把一个方法当成 数据 一样传递1.什么是委托委托是C#中类型安全的函数指针,它是一种“类型”,可以存储,调用,传递一个或多个方法的引用2.核心本质委…...

如何3步轻松备份微博内容:Speechless免费PDF导出完整指南

如何3步轻松备份微博内容:Speechless免费PDF导出完整指南 【免费下载链接】Speechless 把新浪微博的内容,导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 在信息快速更迭的数字时代&…...

PPTist:重构演示文稿创作流程的3大颠覆性突破

PPTist:重构演示文稿创作流程的3大颠覆性突破 【免费下载链接】PPTist PowerPoint-ist(/pauəpɔintist/), An online presentation application that replicates most of the commonly used features of MS PowerPoint, allowing for the ed…...

FALCON: Fast Autonomous Aerial ExplorationUsing Coverage Path Guidance(覆盖路径引导的快速自主空中探索)

创新点:提出一种基于连接性的增量式空间分解和连接图构造方法,捕获环境拓扑并促进有效的探测覆盖路径规划提出一种分层的探索规划方法,生成合理的覆盖路径作为全局指导,并优化局部边界访问顺序,保持覆盖路径的意图。提…...

抢答器软件哪家强?五款抢答器软件全方位深度评测

在知识竞赛、企业培训、团队建设等活动中,一套高效、公平、稳定的抢答器软件是活动成功的关键。面对市场上琳琅满目的产品,如何选择成为许多组织者的难题。本文将从实际应用出发,对五款主流的抢答器软件进行深度评测,涵盖功能、性…...

驱动模块的加载与卸载机制

昨天调板子又遇到个怪事:insmod加载驱动一切正常,但rmmod死活卸载不掉,内核日志里只留下一行“Device or resource busy”。查了半小时才发现,原来是有个用户态进程没关,一直占着驱动文件。这种问题在嵌入式开发里太常…...

AI技术原理--AI Token是什么:10分钟搞懂大模型基础单位

当你在ChatGPT里输入"你好,今天天气怎么样"的时候,你以为它真的读懂你的话吗? 并不是。 在你看不到的地方,有一个叫"分词器"的程序,正在把你的文字拆解成一个一个叫"Token"的单元。 …...

【研报280】汽车轻量化材料研究报告:改性塑料的应用趋势

本报告提供限时下载,请查看文后提示以下仅为报告部分内容:摘要:政策与新能源汽车需求双重驱动下,汽车轻量化成为行业核心发展方向,2026年国内将实施新的乘用车碳排放国标,叠加新能源汽车普遍重于燃油车&…...

Delphi经典8大天坑|第五篇:ShortString与String混用,导致字符串截断/乱码

一、现象描述项目中同时使用ShortString和string两种字符串类型,赋值时出现字符串被莫名截断(超过255字符的部分丢失),或出现乱码,尤其是在Delphi D7及以下版本中,问题更常见。典型场景:将一个长…...

强强联合:在快马平台用AI模型驱动你的下一代智能agent应用

最近在尝试用AI辅助开发时,发现了一个特别有意思的方向——智能agent框架。这类框架就像是AI应用的"骨架",而平台内置的AI模型则为其注入了"灵魂"。今天想分享下在InsCode(快马)平台上实现的一个创作辅助agent,整个过程让…...

3步构建数字记忆堡垒:开源工具GetQzonehistory数据留存全攻略

3步构建数字记忆堡垒:开源工具GetQzonehistory数据留存全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代,我们的生活轨迹日益依赖在线平台&#…...