
1. AutoJS 电脑与手机连接开发调试到底难在哪AutoJS 电脑与手机连接开发调试这件事说穿了就是把「写代码的机器」和「跑脚本的机器」用一条局域网通道接起来。VS Code 负责编辑和下发手机或模拟器负责执行和回传日志。听起来简单但真正动手时卡人的往往不是脚本语法而是连接链路VS Code 插件服务起没起、手机端填的 IP 对不对、端口有没有被占用、脚本里发出去的请求有没有被正确鉴权。尤其是当你的 AutoJS 脚本需要调用大模型接口做 OCR 结果整理、自动化文案生成、页面元素语义判断时鉴权这一环会直接决定脚本能不能跑通。我见过太多人卡在「服务已启动但手机连不上」或者「脚本本地能跑一调接口就 401」。前者是网络拓扑问题后者是 Key 管理问题。这篇就按真实开发顺序把 AutoJS 电脑与手机连接开发调试的完整链路拆开VS Code 端怎么配、手机端怎么连、脚本里怎么用统一的 Key 和 API 通道完成鉴权、最后怎么在手机端确认日志回传正常。适合已经在用 VS Code 写 AutoJS 脚本、但被连接和鉴权折腾过的开发者。核心检索词先摆出来AutoJS 电脑与手机连接开发调试本质是「VS Code 插件服务 局域网 IP 直连 脚本内 API 鉴权」三件事。能做什么让你在电脑上改一行代码手机上立刻看到运行结果和日志。适合谁做安卓自动化、群控辅助、UI 测试、以及需要在脚本里接大模型能力的开发者。先说清楚一个前提AutoJS 原版项目早已停更现在社区主流用的是 AutoX.jsAuto.js 的延续分支。本文所有操作以 AutoX.js 为准VS Code 插件用Auto.js-Autox.js-VSCodeExt。这个插件同时兼容两者装一个就够。连接原理不复杂VS Code 插件会在电脑上起一个 WebSocket 服务默认监听一个端口手机端 AutoX.js 通过「连接电脑」功能填入电脑局域网 IP 和端口建立长连接。之后 VS Code 里按 F5 运行脚本内容通过这条连接推送到手机执行手机端的console.log再原路回传到 VS Code 的输出面板。所以整条链路的关键节点只有三个电脑 IP 可达、端口一致、服务在跑。但实际开发中脚本往往不只是纯 UI 操作。比如你要做一个「自动截屏 → 调用视觉模型识别 → 根据结果点击」的流程脚本里就得发 HTTP 请求。这时候如果每个脚本都硬编码一个 Key管理起来就是灾难换 Key 要改所有文件、Key 泄露风险高、不同模型要记不同地址。所以我在实际项目里会把模型调用统一走一个 API 通道用同一个 Key 管理多个模型脚本里只改 model 字段就行。下面从环境准备开始一步步把这条链路搭起来。2. TaoToken 前置准备统一 Key 与 API 通道怎么配在讲 VS Code 和手机连接之前先把鉴权这块解决掉否则后面脚本一调接口就报错你还得回头排查是连接问题还是 Key 问题。TaoToken 在这里的角色是一个统一的 API 通道你拿一个 Key就能通过同一个 Base URL 调用不同模型脚本里不用为每个模型记一套地址和密钥。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 根地址是 https://taotoken.net/api 。先注册并拿到 Key。进入控制台后创建 API Key复制出来。这个 Key 就是后面脚本里要用的凭证。注意Key 只在创建时完整显示一次务必先存到安全的地方别直接写进会提交到 Git 的脚本里。拿 Key 的入口在 API Keys 页面https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。创建时给它起个能认出来的名字比如autojs-debug方便以后按项目区分和吊销。接下来确认你要调用的模型 ID。TaoToken 的模型列表在文档里能查到常见的有通用对话模型和代码模型。脚本里发请求时model字段填的就是这个 ID。如果你不确定用哪个可以先在模型对话页面手动试一条请求确认通道通不通https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite 。在网页里选模型、发一句话能正常返回就说明 Key 和通道没问题再往脚本里搬。这里有个关键点TaoToken 的 API 是 OpenAI 兼容格式请求路径是/v1/chat/completions所以完整地址是https://taotoken.net/api/v1/chat/completions。这个格式很重要因为 AutoJS 里发请求时header 要带Authorization: Bearer 你的Keybody 是标准的messages数组。你不需要装任何 SDKAutoJS 自带的http.post就能直接调。为什么要在 AutoJS 调试链路里引入这个因为很多自动化脚本的「大脑」需要模型能力。举几个真实场景截屏后让模型判断当前页面是什么状态、把识别到的文本整理成结构化数据、根据用户输入生成下一步操作指令。这些如果都靠本地规则写维护成本极高。统一走一个 API 通道后脚本里只保留一个 Key 和一个 Base URL换模型只改一个字符串。配置建议不要把 Key 硬编码在.js文件里。AutoJS 支持读取本地文件你可以把 Key 写在一个单独的config.json里脚本启动时读取。这样即使脚本分享出去Key 也不会泄露。下面第三节会给出完整的可复制配置片段包括 VS Code 的 settings 和脚本里的请求代码。再强调一次安全边界这个 Key 只用于你自己的脚本调用不要写进任何公开仓库不要贴到聊天群。如果怀疑泄露直接去控制台吊销重建。整个链路里Key 是唯一需要保密的东西IP 和端口都是局域网内部信息风险低得多。3. 可复制配置VS Code settings 与脚本请求片段这一节给的都是能直接复制粘贴的东西路径和字段名保持和实际一致。先配 VS Code 端再配脚本端。VS Code 端第一步是装插件。打开扩展面板搜索Auto.js-Autox.js-VSCodeExt安装。装完后按CtrlShiftP打开命令面板输入autojs能看到几个命令Start Server启动服务、Stop Server停止服务、Run运行脚本等。点Start Server右下角会弹出提示显示服务监听的 IP 和端口比如192.168.1.100:9317。这个 IP 就是手机端要填的地址端口默认 9317。如果你想让服务开机自动起或者固定端口可以在 VS Code 的settings.json里加配置。按CtrlShiftP输入Open User Settings (JSON)加入下面这段{ autojs.port: 9317, autojs.host: 0.0.0.0, autojs.autoStartServer: true, autojs.logLevel: info }host设为0.0.0.0表示监听所有网卡这样手机从局域网任何地址都能连。autoStartServer设为 true 后VS Code 一启动服务就自动跑省得每次手动点。logLevel设 info 能看到连接和运行的日志排查问题时有用。注意如果你电脑有多个网卡比如同时连着 WiFi 和有线0.0.0.0能避免只监听某一个网卡导致手机连不上。启动服务后用ipconfigWindows或ifconfigMac/Linux确认电脑在局域网里的真实 IP手机端填这个。脚本端的配置分两块连接调试本身不需要额外配置插件会处理但脚本里调模型接口需要写请求代码。下面是一个可复制的请求函数放在你的 AutoJS 脚本顶部// config.json 内容示例放在脚本同目录 // { // apiKey: 你的TaoToken Key, // baseUrl: https://taotoken.net/api/v1/chat/completions, // model: 你的模型ID // } var config JSON.parse(files.read(./config.json)); function callModel(userText) { var url config.baseUrl; var headers { Content-Type: application/json, Authorization: Bearer config.apiKey }; var body { model: config.model, messages: [ { role: user, content: userText } ] }; var res http.post(url, JSON.stringify(body), { headers: headers, timeout: 30000 }); if (res.statusCode ! 200) { console.error(请求失败状态码 res.statusCode); console.error(响应体 res.body.string()); return null; } var data res.body.json(); return data.choices[0].message.content; }这段代码的关键点Authorization头必须是Bearer加 Key中间一个空格不能少Content-Type必须是application/jsonbody 用JSON.stringify序列化。timeout设 30 秒模型响应慢的时候不至于直接断。如果你用的是 Claude Code 或类似工具做辅助开发配置里同样需要三件套Base URL、Key、Model ID。以 Claude Code 的 settings 为例配置文件里对应的是{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: 你的TaoToken Key, ANTHROPIC_MODEL: 你的模型ID } }这三件套的逻辑和 AutoJS 脚本里完全一致地址指向 TaoToken 的 API 根Key 用同一个模型 ID 按需选。这样你在 VS Code 里用 Claude Code 辅助写 AutoJS 脚本脚本本身又调同一个通道Key 管理就统一了。Cline 或 MCP 类工具也是同样的三件套逻辑Base URL 填https://taotoken.net/apiKey 填你的Model ID 填模型列表里的值。配好后在工具里发一条测试请求能返回就说明通道通。最后提醒config.json不要提交到 Git。在项目根目录加一个.gitignore写入config.json。这样脚本可以分享Key 不会跟着跑出去。4. 验证请求与手机端日志回传配置写完接下来验证整条链路。顺序是先确认 VS Code 服务在跑再确认手机连上最后跑一个带模型调用的脚本看日志能不能回传。第一步VS Code 里按CtrlShiftP输入autojs点Start Server。右下角出现类似Auto.js server started at 192.168.1.100:9317的提示说明服务起来了。如果提示端口被占用改settings.json里的autojs.port换一个比如 9318然后重启 VS Code。第二步手机端打开 AutoX.js。确保手机和电脑连的是同一个 WiFi。在 AutoX.js 主界面找到「连接电脑」或类似入口不同版本位置略有差异一般在侧边栏或设置里填入电脑的 IP 和端口点连接。连接成功后VS Code 的输出面板会打印一条客户端接入的日志。如果连不上先检查手机和电脑是不是同一网段再检查电脑防火墙有没有拦 9317 端口。第三步在 VS Code 里新建一个.js文件写入下面这段测试脚本ui; ui.layout( vertical button idbtnTest text测试模型调用/ text idresult text等待测试/ /vertical ); ui.btnTest.on(click, function () { ui.result.setText(请求中...); threads.start(function () { var config JSON.parse(files.read(./config.json)); var url config.baseUrl; var headers { Content-Type: application/json, Authorization: Bearer config.apiKey }; var body { model: config.model, messages: [ { role: user, content: 只回复两个字成功 } ] }; var res http.post(url, JSON.stringify(body), { headers: headers, timeout: 30000 }); var msg 状态码 res.statusCode \n; if (res.statusCode 200) { var data res.body.json(); msg 模型返回 data.choices[0].message.content; } else { msg 响应 res.body.string(); } console.log(msg); ui.run(function () { ui.result.setText(msg); }); }); });保存文件按 F5 运行。VS Code 会把脚本推送到手机执行。手机屏幕上出现一个按钮点它脚本发请求到 TaoToken 通道。如果一切正常手机界面显示「状态码200 模型返回成功」同时 VS Code 的输出面板里能看到同样的console.log内容。这就是日志回传成功的标志。这里有个细节console.log的内容会通过 WebSocket 回传到 VS Code但ui.run里的界面更新只在手机本地生效。所以调试时看 VS Code 输出面板就够了不用一直盯着手机。如果 VS Code 面板没打印但手机界面正常说明连接通道有问题回去检查服务状态。验证模型调用时如果返回 200 但choices是空的检查model字段是不是填错了。如果返回 401检查 Key 有没有复制完整、Bearer后面有没有空格。如果返回 404检查 URL 是不是https://taotoken.net/api/v1/chat/completions路径少一段都会 404。实测下来整条链路最稳的验证方式就是上面这个「按钮触发 日志回传」的组合。它同时验证了三件事VS Code 到手机的连接、手机到 API 通道的网络、Key 的鉴权。三个都通后面写复杂脚本就只是业务逻辑问题了。5. 本篇常见报错排查401、local proxy failed、reading choices这一节按真实报错来每个都给出原因和修法。这些是我在实际调试里踩过的坑你大概率也会遇到其中一个。报错一401 Unauthorized。这是最常见的鉴权失败。原因通常有三个Key 复制时漏了字符、Authorization头格式不对、Key 已被吊销。先检查 header 是不是Bearer加 Key注意Bearer和 Key 之间必须有一个空格且Bearer首字母大写。再检查config.json里的 Key 有没有多余空格或换行。如果都正常去控制台确认 Key 状态是不是 active。修法重新复制一次 Key直接粘贴不要手动输入。报错二local proxy failed 或 connection refused。这个报错说明请求根本没发出去卡在本地网络层。常见原因是手机和电脑不在同一网段或者电脑防火墙拦了端口。先确认手机 WiFi 和电脑连的是同一个路由器再看电脑 IP 是不是192.168.x.x这种局域网地址。Windows 上检查防火墙控制面板 → Windows Defender 防火墙 → 允许应用通过防火墙确认 VS Code 或 Node 进程被允许。如果用的是公司网络可能有 AP 隔离手机和电脑互相 ping 不通这种情况换手机热点试。报错三Cannot read property choices of undefined 或 reading choices。这个报错说明请求返回了但响应体结构不对代码里访问data.choices[0]时choices不存在。原因通常是请求返回了错误信息但状态码不是 200而代码没判断状态码就直接取choices或者模型返回格式和预期不一致。修法在取choices之前先判断res.statusCode 200并且打印完整响应体res.body.string()看看到底返回了什么。很多时候返回的是{error: {message: ...}}里面写了具体原因比如模型 ID 不存在、余额不足等。报错四OAuth 相关错误或 token expired。如果你在 VS Code 里用 Claude Code 或类似工具可能会遇到 OAuth 报错。这通常是因为工具默认走了官方登录流程而不是走你配置的 Base URL。修法确认settings.json里的ANTHROPIC_BASE_URL指向https://taotoken.net/api并且ANTHROPIC_API_KEY填的是 TaoToken 的 Key。有些工具需要重启后才读取新配置改完重启 VS Code。报错五手机连不上VS Code 显示 no client connected。先确认Start Server真的执行了右下角有 IP 提示。再确认手机端填的 IP 和端口和提示一致。如果电脑有多个 IP手机端要填和手机同网段的那个。模拟器的话注意模拟器的网络模式有些模拟器默认 NAT 模式需要改成桥接模式才能和电脑局域网互通。排查顺序建议先看 VS Code 输出面板的日志它会打印连接状态和错误堆栈再看手机端 AutoX.js 的日志最后用curl或 Postman 在电脑上直接测 API 通道确认 Key 和 URL 没问题。这样能把「连接问题」和「鉴权问题」分开定位不用混在一起猜。6. 长期编码与 Agent 场景的接入建议如果你只是偶尔写个 AutoJS 脚本上面这套配置够用了。但如果你长期做自动化开发或者脚本里要接 Agent 类能力比如让模型根据页面状态自主决定下一步操作那有几个建议能省不少事。第一把 Key 和模型配置集中管理。不要每个脚本一个config.json而是放在一个公共目录脚本通过绝对路径读取。这样换 Key 只改一处。AutoJS 里可以用files.read(/sdcard/autojs/config.json)读公共配置。第二模型调用封装成独立模块。把第 3 节那个callModel函数抽到一个api.js里其他脚本用require引入。这样请求逻辑只维护一份改超时、加重试、换通道都只动一个文件。第三长期编码场景建议用 Coding Plan。如果你每天都要写和调 AutoJS 脚本按量计费不如包月划算。Coding Plan 的入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 适合高频调用模型的开发者。配好后VS Code 里的辅助工具和 AutoJS 脚本共用同一个 Key额度统一管理。第四Agent 类脚本要注意请求频率。AutoJS 脚本如果是循环调用模型很容易触发限流。建议在脚本里加一个简单的间隔控制比如每次请求后sleep(1000)并且对失败请求做重试。重试时不要立即重发等 2 秒再试避免雪崩。第五调试阶段把日志级别调高。VS Code 的autojs.logLevel设为debug能看到更详细的连接信息。脚本里用console.log打印关键变量比如请求前的 body、返回的状态码。这些日志会回传到 VS Code比在手机上看方便得多。最后说一个实际经验AutoJS 电脑与手机连接开发调试这条链路最脆弱的环节不是代码而是网络环境。换一个 WiFi、换个路由器、电脑休眠再唤醒都可能导致连接断开。所以建议在脚本里加一个连接状态检测断线时自动重连或者至少在 VS Code 里保留手动重启服务的习惯。把这条链路跑顺之后你会发现真正花时间的还是业务逻辑本身连接和鉴权这些基础设施配一次就能长期用。