拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

auto.js教程笔记(五)环境搭建:TaoToken 统一 Key 打通 autojs 插件与手机端电脑端互连

auto.js教程笔记(五)环境搭建:TaoToken 统一 Key 打通 autojs 插件与手机端电脑端互连

1. 环境搭建前先理清 autojs 插件与双端互连到底卡在哪

如果你正在搜 auto.js 教程、autojs 环境搭建、autox.js 怎么和 VSCode 连起来,大概率已经踩过两个坑:一是 VSCode 里搜不到 hyb1996 那个老插件,二是手机或模拟器死活连不上电脑的 9317 端口。这篇笔记就围绕这两个卡点展开,把 autojs 插件安装、Auto.js-Autox.js-VSCodeExt 配置、手机端与电脑端互连调试一次讲透,顺带把脚本里要调用的模型接口用 TaoToken 统一 Key 管起来,避免每个脚本里散落一堆 API Key。

先说清楚这套环境适合谁:你有一台 Windows 电脑、一个安卓手机或模拟器、想在 VSCode 里写 autojs/autox.js 脚本并一键跑到设备上。核心链路是 VSCode 装插件 → 插件开服务监听 9317 → 手机 autox.js 主动连电脑 → 脚本 run/save on device。听起来简单,但防火墙、插件版本、模拟器网段这三处最容易翻车。

我试过把雷电和逍遥都跑了一遍,雷电模拟器默认网段是 172.16.x.x,和 PC 的 192.168.x.x 不在同一局域网,虽然模拟器能 ping 通 PC,但 PC 反向 ping 不通模拟器。这不影响 autox.js 连接,因为服务端在 PC 的 VSCode 上,模拟器作为客户端主动连过来就行。真正卡人的是 Windows 防火墙对 9317 端口的入站拦截,以及 VSCode 没被勾选进“允许应用通过防火墙”的列表。

另外要提前说明:auto.js 普通版和 pro 版的连接方向是反的。普通版(以及 autox.js)是手机主动连电脑的 VSCode 服务;pro 版是手机开服务,VSCode 用 pro 插件去连手机。这篇按普通版/autox.js 的流程走,pro 用户注意别混用插件,两个插件同时开启会冲突,建议只留一个。

脚本里如果涉及调用大模型接口做 OCR 后处理、文本理解或自动化决策,建议统一走 TaoToken 的 API 通道,一个 Key 管所有模型调用,省得在 autojs 脚本里硬编码多个平台的 Key。下面从插件安装开始,一步步把环境跑通。

2. TaoToken 前置准备:统一 Key 与 API 通道

在写 autojs 脚本之前,先把模型接口这层理顺。很多自动化脚本后期会加“识别屏幕文字后让模型判断下一步”这类逻辑,如果每个脚本都塞一个不同平台的 Key,维护起来很痛苦。TaoToken 的作用就是提供一个统一的 API 入口,你用同一个 Key 就能调用不同模型,脚本里只改 model 字段即可。

先注册并拿到 Key。打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,完成账号注册后进入控制台。控制台地址是 https://taotoken.net/console ,在 API Keys 页面创建一个新 Key,复制保存好,后面脚本里会用到。API Keys 直达链接:https://taotoken.net/api-keys 。

TaoToken 的 API Base URL 是 https://taotoken.net/api ,注意这个地址不带 UTM 参数,脚本里配置时直接用这个。模型对话调试页面在 https://taotoken.net/chat ,你可以先在网页上试一下模型能不能正常返回,确认 Key 有效再写进脚本。如果你后面要做长期编码或 Agent 类自动化,可以了解下 Coding Plan:https://taotoken.net/coding-plan 。

为什么要在 autojs 环境里提前配这个?因为 autojs 脚本跑在手机上,网络请求用的是手机的网络栈,和电脑端调试环境不一样。你需要在脚本里用http.post或fetch发请求,Header 里带Authorization: Bearer <你的Key>,Body 里指定 model 和 messages。统一用 TaoToken 后,换模型只改一个字符串,不用动请求结构。

这里给一个 autojs 脚本里调用模型接口的最小示例,你可以直接复制到 demo.js 里测试:

// autojs 调用 TaoToken 统一接口示例 var url = "https://taotoken.net/api/v1/chat/completions"; var apiKey = "sk-你的TaoTokenKey"; var headers = { "Content-Type": "application/json", "Authorization": "Bearer " + apiKey }; var body = { model: "gpt-4o-mini", messages: [ { role: "user", content: "用一句话说明 autojs 能做什么" } ] }; var res = http.postJson(url, body, { headers: headers }); if (res.statusCode == 200) { var data = res.body.json(); toast(data.choices[0].message.content); } else { toast("请求失败: " + res.statusCode); }

这段代码在手机 autox.js 里直接能跑,前提是手机能访问外网。如果你在模拟器里跑,确认模拟器网络模式是 NAT 或桥接且能出网。跑通这一步,说明你的 Key 和 API 通道没问题,后面双端互连调试时就不会把网络问题和接口问题混在一起排查。

注意:不要把 Key 硬编码在会分享的脚本里。调试阶段可以写在脚本顶部,正式使用时建议放到本地配置文件或通过 VSCode 插件下发时替换。TaoToken 控制台可以随时吊销和重建 Key,泄露了也不慌。

3. VSCode 插件安装与可复制配置片段

VSCode 里搜 hyb1996 搜不到是正常的,那个插件已经下架或改名。现在用 Auto.js-Autox.js-VSCodeExt 这个插件,下载量高,兼容 autox.js。安装步骤:打开 VSCode,点左侧扩展图标,搜索Auto.js-Autox.js-VSCodeExt,认准作者和下载量,点安装。

安装完成后,按Ctrl + Shift + P打开命令面板,输入auto,能看到插件提供的一堆命令,包括“开启服务并监听 ADB 设备”“运行脚本”“保存到设备”“停止当前脚本”等。先点“开启服务并监听 ADB 设备”,右下角会显示本机的各个 IP 地址,包括虚拟网卡的。记下你无线网卡的那个 IP,比如 192.168.2.31。

插件本身不需要复杂的 settings.json 配置,但为了双端连接稳定,建议在 VSCode 的 settings.json 里加两行,固定服务端口和 ADB 路径(如果你用 ADB 连接模拟器):

{ "autojs.port": 9317, "autojs.adbPath": "C:\\platform-tools\\adb.exe" }

如果你不用 ADB,只走 WiFi 连接,autojs.adbPath可以不加。autojs.port默认就是 9317,写出来是为了后面排查端口问题时心里有数。保存 settings.json 后重启 VSCode,再执行“开启服务并监听 ADB 设备”。

这里有个关键点:插件开启服务后,VSCode 进程会监听 9317 TCP 端口。你可以在 PowerShell 里用netstat -ano | findstr 9317确认监听状态,正常会看到TCP 0.0.0.0:9317 LISTENING。如果没看到,说明服务没起来,检查插件是否安装成功、VSCode 是否以管理员权限运行(某些情况下需要)。

另外,如果你同时装了 auto.js 普通版插件和 pro 版插件,务必禁用其中一个。两个插件都尝试监听端口或接管命令面板时,会出现命令冲突、连接失败等玄学问题。在扩展面板里把不用的那个禁用掉,只留 Auto.js-Autox.js-VSCodeExt。

配置片段里还可以加一个autojs.deviceIp字段记录你常用设备的 IP,但这不是插件原生支持的,只是方便你自己查。真正连接时还是要在手机端输入电脑 IP。把上面这段 JSON 复制进 settings.json,路径和原文一致,不要改键名。

4. 手机端与电脑端互连验证与成功结果

插件服务起来后,打开手机上的 autox.js app。注意不是 auto.js 普通版,是 autox.js,两者包名和界面略有差异。在 autox.js 里找到“连接电脑”或“连接 VSCode”的入口,输入电脑的无线网 IP,比如 192.168.2.31,端口默认 9317。点连接。

如果提示连接失败,先别急着改代码。按这个顺序排查:第一,在电脑上netstat -ano | findstr 9317确认端口在监听;第二,在手机上用网络工具 ping 电脑 IP,确认能通;第三,在手机上探测 9317 端口,如果 ping 通但端口探测不到,基本就是防火墙问题。

防火墙这块有个大坑:光加“入站规则”允许 9317 TCP 还不够。Windows 防火墙的“阻止规则”优先级高于“允许规则”,而且 VSCode 如果没被勾选进“允许应用或功能通过 Windows Defender 防火墙”列表,它的监听端口对外就是不可见的。操作路径:控制面板 → Windows Defender 防火墙 → 允许应用或功能通过 Windows Defender 防火墙 → 找到 VSCode(可能显示为 Code.exe)→ 在“专用”和“公用”两列都打勾 → 确定。这一步做完,手机上再探测 9317 端口,通常就能通了。

连接成功后,VSCode 右下角会显示已连接的设备。在 demo.js 里写一行toast('This is a test'),按 F5 或命令面板选“运行脚本”,手机上会弹出 toast。这就是双端互连成功的标志。接着试“保存到设备”,命令面板选“save on device”,选择设备,手机上提示“保存成功,请刷新目录”,下拉刷新就能看到脚本文件。

模拟器场景补充:雷电模拟器网段是 172.16.x.x,和 PC 的 192.168.x.x 不同,但模拟器能主动连 PC 的 9317,所以照样能用。逍遥模拟器如果网络模式设成桥接,可能和 PC 同网段,更省事。不管哪种,只要模拟器能访问 PC 的 IP 和端口,连接就能建立。PC 无法 ping 通模拟器不影响,因为服务端在 PC,模拟器是客户端。

验证成功的完整链路:VSCode 插件开服务 → 手机/模拟器 autox.js 连电脑 IP:9317 → 命令面板 run 脚本 → 设备执行 → save on device 回传文件。这四步都通了,环境搭建就算完成。

5. 本篇常见报错排查:401、local proxy failed、reading choices、OAuth

报错一:401 Unauthorized。这是调用 TaoToken 接口时 Key 不对或没带。检查 Header 里Authorization: Bearer sk-xxx格式是否正确,Key 是否被吊销,Base URL 是否是https://taotoken.net/api。注意不要写成带 UTM 的官网地址,API 地址不带参数。

报错二:local proxy failed或连接被拒绝。这通常出现在手机连电脑 9317 时。先确认 VSCode 服务已开启,netstat能看到监听。然后确认手机和电脑在同一局域网,手机能 ping 通电脑。最后检查防火墙:VSCode 是否在允许列表里打勾,9317 入站规则是否添加。如果全部开启防火墙能连、开启规则不能连,就是阻止规则优先级问题,去“允许应用”列表勾选 VSCode。

报错三:reading 'choices'或Cannot read property 'choices' of undefined。这是 autojs 脚本解析模型返回时,返回体结构不是预期的 OpenAI 格式。可能原因:请求 URL 写错、Key 无效导致返回错误对象、model 字段填了不存在的模型。先在 TaoToken 的模型对话页面 https://taotoken.net/chat 用同样的 model 和消息试一次,确认能返回标准结构,再对比脚本里的请求体。

报错四:OAuth相关错误。如果你在脚本里用了某些需要 OAuth 的第三方服务,或者插件配置里混入了 OAuth 流程,会出现这个。autojs 环境里建议直接用 API Key 方式,不要走 OAuth。TaoToken 的接入文档在 https://taotoken.net/doc ,里面有标准的 Key 认证说明,照着配就不会触发 OAuth 问题。

还有一个隐蔽问题:auto.js 普通版和 pro 版插件冲突。表现是命令面板里出现重复命令、连接时提示端口被占用、run 脚本没反应。解决办法是禁用其中一个插件,只留 Auto.js-Autox.js-VSCodeExt。如果你用的是 pro 版,连接方向是反的,手机开服务、VSCode 去连手机,别按本文的普通版流程走。

排查时建议按“先接口后连接”的顺序:先用 TaoToken 的 chat 页面确认 Key 和模型可用,再确认 VSCode 插件服务起来,最后确认手机能连上 9317。这样出问题时能快速定位是哪一层。

6. 把 Key 和连接参数管起来,后续脚本直接复用

环境跑通后,建议把 TaoToken 的 Key、Base URL、常用 model 写成一个独立的 config.js,autojs 脚本用require引入。这样换 Key 或换模型只改一个文件,不用翻遍所有脚本。VSCode 插件那边,把设备 IP 和端口记在 settings.json 的注释里(JSON 不支持注释就记在旁边的 README),下次连接直接填。

如果你后面要做长期编码类自动化,比如让脚本根据屏幕内容生成操作序列,可以看下 Coding Plan:https://taotoken.net/coding-plan ,它更适合高频调用场景。日常调试和验证模型返回,用模型对话页面 https://taotoken.net/chat 就够了。API Key 管理在 https://taotoken.net/api-keys ,接入文档在 https://taotoken.net/doc ,这两个地址建议收藏。

最后提醒一句:autojs 脚本里发网络请求是异步的,http.postJson在部分版本里是同步阻塞,在另一些版本里需要回调。如果你发现 toast 没弹出但接口返回正常,检查是不是请求还没完成脚本就结束了。加个sleep(2000)或者在回调里处理结果,能避免大部分“请求发了但没反应”的假象。环境搭建这一步,把连接和接口都跑通,后面写业务脚本就是纯逻辑的事了。

返回列表