☰
Midscene 更新实测:鸿蒙与 PC 端全覆盖后,模型、Skills 与报告解析怎么配
2026/10/12 13:04:51 网站建设 项目流程

1. Midscene 新版本到底解决了什么跨端自动化难题

Midscene 是一个 AI 视觉驱动的跨端 UI 自动化工具,简单说就是让 AI 看着屏幕截图去操作界面,你写一句自然语言,它帮你点按钮、填表单、做断言。这次更新最值得关注的是它把 PC 桌面端和鸿蒙(HarmonyOS)端正式纳入统一体系,加上原有的 iOS、Android,形成了一套覆盖桌面与移动全平台的自动化路径。适合谁用?做跨端应用测试的工程师、需要批量操作桌面软件的运营同学、以及想把设备操控能力接进自己 Agent 的开发者。

以前做跨端自动化最头疼的就是设备割裂。Android 一套 Appium 脚本,iOS 一套 WebDriverAgent,PC 端又得换 PyAutoGUI 或者 WinAppDriver,鸿蒙更是几乎没有成熟的标准化方案。每换一个端,脚本重写、接口重学、报告格式重调,维护成本高得离谱。Midscene 这次的核心突破就是统一接口:不管你是 PC、鸿蒙、iOS 还是 Android,调用的都是aiAct、aiQuery、aiAssert这几个方法,一次学会全端通用。

我实测下来,PC 端支持 Windows、macOS、Linux 三大系统,能驱动原生键盘鼠标操作任意桌面应用。鸿蒙端通过 HDC 连接设备,直接复用统一接口。这意味着你写好的自动化逻辑,换个agentFromXXX的初始化方式就能跑在另一个端上。对于需要同时覆盖多端的团队来说,这个适配范围的扩展是实打实的效率提升。

另外这次还开放了 MCP 和 Skills 双生态接入,报告解析能力也从"只能人工看 HTML"升级到"可导出 JSON、可转 Markdown、可被工具二次消费"。下面我会从模型配置、Skills 调用、报告解析三个角度,给出可复制的配置片段和端到端验证步骤。

2. 接入前的准备:TaoToken 模型网关配置与 Key 获取

Midscene 本身是自动化框架,但它依赖视觉大模型来做页面理解和操作决策。这次新增了智谱 GLM-V 系列、千问 qwen3.6-plus、豆包 doubao-seed-2.0 等模型支持,你可以根据精度和成本需求灵活选择。如果你手头没有多个模型厂商的 Key,或者想统一管理模型调用,可以用 TaoToken 这类模型网关来聚合接入。

TaoToken 的定位是模型 API 聚合服务,你可以在一个地方拿到多家模型的调用凭证,省去分别注册各厂商的麻烦。对于 Midscene 这种需要频繁切换模型做对比测试的场景,统一网关能省不少事。先到官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 注册账号,然后进控制台创建 API Key。

创建 Key 的路径是:登录后进入控制台,找到 API Keys 管理页面,点新建,复制生成的 Key 字符串。这个 Key 后面会用在MIDSCENE_MODEL_API_KEY环境变量里。注意 Key 只显示一次,记得先存到安全的地方。

TaoToken 的 API 接入地址是 https://taotoken.net/api ,这个地址会作为MIDSCENE_MODEL_BASE_URL的基础。如果你用的是官方直连的智谱或千问,Base URL 要换成对应厂商的地址,比如智谱是https://open.bigmodel.cn/api/paas/v4。用网关的好处是 Base URL 统一,换模型只改MIDSCENE_MODEL_NAME就行。

模型选择上,如果你要做鸿蒙或 PC 端的复杂界面理解,建议用 GLM-V 系列或者 qwen3.6-plus,视觉理解能力更强。如果只是简单的点击和断言,doubao-seed-2.0 成本更低。Midscene 支持操作模型和理解模型分离配置,你可以用一个便宜模型做操作,一个强模型做页面理解,具体在环境变量里分别指定。

拿到 Key 之后,建议先验证一下网关连通性,用 curl 发一个最简单的请求确认 Key 有效,避免后面配 Midscene 时排查半天发现是 Key 的问题。

3. 可复制的模型与 Skills 配置片段

这一节给出完整的配置文件和环境变量设置,你可以直接复制修改。Midscene 的模型配置主要通过环境变量注入,Skills 则通过 npx 命令安装到 AI 编程助手里。

先看模型配置。以智谱 GLM-V 为例,你需要设置四个环境变量。注意MIDSCENE_MODEL_FAMILY字段的坑:glm-4.6v和glm-5v-turbo都要配置为glm-v,写错了模型会加载失败。

export MIDSCENE_MODEL_BASE_URL="https://taotoken.net/api" export MIDSCENE_MODEL_API_KEY="sk-你的TaoToken密钥" export MIDSCENE_MODEL_NAME="glm-4.6v" export MIDSCENE_MODEL_FAMILY="glm-v"

如果你要分离操作模型和理解模型,可以额外配置 Insight 模型。比如操作走豆包,理解走千问:

export MIDSCENE_MODEL_NAME="doubao-seed-2.0" export MIDSCENE_INSIGHT_MODEL_NAME="qwen3.6-plus" export MIDSCENE_INSIGHT_MODEL_BASE_URL="https://taotoken.net/api" export MIDSCENE_INSIGHT_MODEL_API_KEY="sk-你的TaoToken密钥"

对于长期做编码和 Agent 任务的场景,建议用 Coding Plan 套餐,调用额度更划算,具体可以在 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 查看。

接下来是 Skills 配置。Skills 让 Claude Code、OpenClaw 这类 AI 编程助手能直接调用 Midscene CLI 来操控设备。安装命令如下:

npx skills add web-infra-dev/midscene-skills -a claude-code

安装完成后,AI 助手就能通过自然语言触发设备操作。比如你输入"打开相册,看看第一张照片是什么",助手会调用 Midscene 的视觉能力去执行。这个能力对于需要频繁做设备操作验证的开发者很实用,不用手动写脚本,说一句话就行。

如果你要把 Midscene 能力接进自己的 Agent 体系,可以用 MCP 方式。官方提供了@midscene/android-mcp、@midscene/ios-mcp、@midscene/computer-mcp、@midscene/web-bridge-mcp这几个封装包。以 PC 端为例,在 MCP 配置文件里加上:

{ "mcpServers": { "midscene-computer": { "command": "npx", "args": ["-y", "@midscene/computer-mcp"], "env": { "MIDSCENE_MODEL_BASE_URL": "https://taotoken.net/api", "MIDSCENE_MODEL_API_KEY": "sk-你的TaoToken密钥", "MIDSCENE_MODEL_NAME": "glm-4.6v", "MIDSCENE_MODEL_FAMILY": "glm-v" } } } }

这个 JSON 片段可以直接放进 Claude Desktop 或 Cline 的 MCP 配置里。注意 Base URL、Key、Model ID 三件套要写全,缺一个都会导致连接失败。配置好后重启客户端,MCP 服务就会加载。

4. 端到端任务执行与报告解析验证

配置好之后,我们来跑一个完整的端到端任务,验证模型接入、Skills 调用和报告解析是否都正常工作。这里以 PC 端自动化为例,演示一个"打开设置并读取可见项"的流程。

先写一个最简单的 JavaScript 脚本,用@midscene/computer初始化 agent:

import { agentFromComputer } from '@midscene/computer'; const agent = await agentFromComputer({ aiActionContext: '你正在控制一台桌面计算机', }); await agent.launch('com.huawei.hmos.settings'); await agent.aiAct('scroll down one screen'); const items = await agent.aiQuery('string[], 列表中可见的所有设置项名称'); console.log('可见设置项:', items); await agent.aiAssert('屏幕有可见内容');

这段代码做了四件事:启动设置应用、向下滚动一屏、查询可见的设置项名称、断言屏幕有内容。aiAct负责操作,aiQuery负责提取结构化数据,aiAssert负责验证。三个接口在 PC、鸿蒙、iOS、Android 上用法完全一致。

如果你要测试鸿蒙端,把初始化换成@midscene/harmony,通过 HDC 连接设备即可。鸿蒙端的接口复用度很高,基本不用改业务逻辑。

执行完成后,Midscene 会生成 HTML 报告。这次更新后,报告不再只是给人看的页面,而是可以被工具消费的数据产物。你可以把 HTML 报告导出为 JSON 结构化数据,提取原始截图和操作记录。更实用的是可以直接转成 Markdown 格式,方便归档到文档系统或知识库。

转换命令类似这样:

npx midscene report-to-markdown ./report.html -o ./report.md

生成的 Markdown 里会包含每一步的操作描述、截图引用和断言结果。如果你结合 Remotion Skill,还能把这个 Markdown 解析成自动化执行回放视频,对于做测试归档或演示汇报很有用。

验证成功的标志是:控制台打印出设置项列表,HTML 报告能正常打开并回放操作步骤,Markdown 导出文件内容完整。如果aiQuery返回空数组,通常是模型没正确识别界面,检查模型配置和截图质量。

5. 常见报错排查:401、local proxy failed 与 choices 读取失败

配置过程中最容易踩的坑集中在模型连接和报告解析两块。下面列出几个真实报错和排查路径。

报错一:401 Unauthorized。这个通常是 API Key 无效或没传对。检查MIDSCENE_MODEL_API_KEY是否复制完整,有没有多余空格。如果用 TaoToken 网关,确认 Key 是在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 创建的,并且账户有余额。另外注意 Base URL 结尾不要多加斜杠,https://taotoken.net/api是对的,https://taotoken.net/api/可能导致路径拼接错误。

报错二:local proxy failed。这个多半是网络层的问题,检查你的 Base URL 是否可达。可以用 curl 直接测一下:

curl -X POST https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer sk-你的密钥" \ -H "Content-Type: application/json" \ -d '{"model":"glm-4.6v","messages":[{"role":"user","content":"hi"}]}'

如果 curl 通但 Midscene 报 proxy failed,检查环境变量是否在正确的 shell 会话里 export 了。有时候在 A 终端配了,跑到 B 终端执行就丢了。

报错三:reading choices 失败。这个说明模型返回的数据结构不符合预期,通常是MIDSCENE_MODEL_FAMILY配错了。比如把glm-4.6v的 family 写成了glm而不是glm-v,模型返回格式对不上,解析就挂了。对照官方文档确认每个模型对应的 family 值。

报错四:OAuth 相关错误。如果你用的是 Claude Code 的 Skills 接入,可能会遇到 OAuth token 过期。重新执行npx skills add web-infra-dev/midscene-skills -a claude-code刷新授权即可。注意 Skills 安装和模型配置是两套独立的认证体系,不要混淆。

排查顺序建议:先 curl 验证 Key 和 Base URL,再检查环境变量,最后看模型 family 配置。大部分问题出在前两步。

6. 升级后的适配范围判断与后续接入建议

这次 Midscene 更新后,适配范围可以这样判断:如果你需要覆盖 PC 桌面应用加移动端(含鸿蒙),Midscene 是目前少有的统一接口方案。PC 端支持三大桌面系统,鸿蒙端通过 HDC 标准化接入,iOS 和 Android 沿用原有能力。对于国产化应用开发测试团队,鸿蒙支持的补齐是个关键信号。

模型选择上,建议先用一个模型跑通全流程,确认报告解析和 Skills 调用都正常,再根据精度需求拆分操作模型和理解模型。TaoToken 网关的好处是换模型只改MIDSCENE_MODEL_NAME,Base URL 和 Key 不用动,做模型对比测试很方便。

Skills 和 MCP 两条路径按需选择:如果你用 Claude Code 做日常开发,Skills 方式最轻量,装完就能用自然语言操控设备;如果你要把能力接进自己的 Agent 或企业工作流,MCP 方式更合适,标准化程度高。

报告解析这块,建议把 Markdown 导出加进你的 CI 流程,每次自动化跑完自动归档,结合 Remotion Skill 还能生成回放视频。对于需要长期做回归测试的团队,这套组合能省不少人工整理报告的时间。

后续如果要深入,可以关注 deepThink 参数在复杂表单填写和多步骤流程里的表现,以及 deepLocate 对元素定位精度的提升。这两个能力在关键流程里按需开启,能明显提高执行成功率。接入文档和 API Keys 管理都在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 和 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,配置过程中遇到模型调用问题可以先从这两处入手排查。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询