ARTICLE DETAIL

资讯详情

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

AScript + Cursor:让 AI 直接操控你的设备,一句话完成自动化编程(源代码)

AScript + Cursor:让 AI 直接操控你的设备,一句话完成自动化编程(源代码) 1. 当 AI 说“我帮你点一下”时它到底缺了什么你可能已经习惯了在 Cursor 里让 AI 写函数、改 Bug、补测试但有没有想过这样一个场景你对 AI 说“帮我把手机上那个每日签到做了”它回你一段看起来没问题的 Python 代码然后……就没有然后了。代码躺在编辑器里设备纹丝不动。问题不在于模型不够聪明而在于它和真实设备之间少了一条“手和眼”的通道。这就是 AScript 与 Cursor 组合要解决的核心痛点。AScript 是一套面向 Android、iOS、Windows 三端的自动化编程框架它把设备连接、界面观察、控件查询、代码部署、运行日志回传这些能力封装成 MCP 工具。Cursor 作为支持 MCP 协议的 AI 编辑器可以通过统一 Key/API 通道调用这些工具让模型不再“凭空想象”而是真正看到设备当前界面、查到真实 API、把代码推上去跑、报错了自己读日志改。适合谁三类人最值得花十分钟跟做一遍一是想入门自动化但不想啃坐标点击的开发者二是手里有重复性设备操作、想用自然语言描述就生成脚本的测试或运营同学三是已经在用 Cursor 写代码、想把它从“编辑器里的助手”升级成“能操控设备的 Agent”的 AI 工程实践者。下面我从环境准备开始把 MCP 配置、Base URL 设置、一句话触发任务的完整链路拆开讲每一步都给你可复制的片段。2. TaoToken 前置统一 Key 与 API 通道怎么准备在配置 AScript MCP 之前先要把模型调用通道理顺。Cursor 本身支持自定义 Base URL这意味着你可以把模型请求指向统一的 API 入口用一个 Key 管理多个模型的调用。TaoToken 在这里扮演的就是这个统一通道的角色它提供兼容 OpenAI 风格的接口你拿到 Key 之后Cursor 和 AScript MCP 里的模型调用都可以走同一个地址不用在多个平台之间来回切换配置。具体操作分三步。第一步打开官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册并登录进入控制台。第二步在控制台左侧找到 API Keys 菜单点击创建新的 Key复制出来先存到安全的地方——这个 Key 只显示一次。第三步记下 API 基础地址https://taotoken.net/api 注意这个地址后面不加任何路径后缀Cursor 的 Base URL 填的就是它。这里有个容易踩的坑很多人把 Base URL 填成 https://taotoken.net/api/v1 或者带 chat/completions 的完整路径结果 Cursor 报 404。正确做法是只填到 /api 这一层Cursor 会自己在后面拼接 /v1/chat/completions。如果你用的是 Claude Code 或者 Codex 这类工具它们的配置文件里 Base URL 的写法可能略有不同但原则一样——只填到域名加 /api。另外如果你打算长期跑自动化任务、频繁调用模型可以关注一下 Coding Plan 这类套餐它针对编码场景做了额度优化比按量计费更适合 Agent 反复迭代的工作模式。模型对话入口可以用来先验证 Key 是否可用接入文档里则写明了不同工具的具体配置字段。把 Key 和 Base URL 准备好之后就可以进入 Cursor 的 MCP 配置环节了。3. 可复制配置Cursor MCP 与 AScript 服务对接这一节是整篇的核心我会把 Cursor 的 Base URL 设置、MCP 服务器配置、AScript 规则文件三件套完整给出来。你照着粘贴路径和字段名保持一致基本不会出问题。先处理 Cursor 的模型通道。打开 Cursor点击右上角齿轮图标进入 Settings找到 Models 选项卡。在 OpenAI API Key 一栏填入你刚才从 TaoToken 控制台复制的 Key。然后展开 Override OpenAI Base URL填入https://taotoken.net/api填完之后点击 Verify 按钮如果 Key 和地址都正确会提示验证通过。这一步做完Cursor 里的对话和 Agent 模式就已经走统一通道了。接下来配置 AScript MCP 服务。AScript 的 MCP 本地服务通过 pip 安装pip install ascript-mcp安装完成后回到 Cursor Settings找到 MCP 选项卡点击 Add new global MCP server。把下面这段 JSON 粘贴进去{ mcpServers: { ascript: { command: python, args: [-m, ascript_mcp.local], env: { ASCRIPT_API_BASE: https://taotoken.net/api, ASCRIPT_API_KEY: 你的TaoTokenKey } } } }注意 env 里的两个字段ASCRIPT_API_BASE 填 https://taotoken.net/api ASCRIPT_API_KEY 填你控制台里那个 Key。这样 AScript MCP 在需要调用模型做界面分析或代码生成时也会走同一条通道不会出现 Cursor 走一个地址、MCP 走另一个地址的割裂情况。第三件套是规则文件。在 Cursor 里点击 Settings → Rules新建一个名为 ascript 的规则把下面这段约束粘贴进去你是 ascript 自动化开发助手。禁止假设禁止猜测。 你不知道 ascript 的 API不知道界面上有什么控件不知道按钮在哪个坐标。 一切数据必须通过 MCP 工具从真实设备获取。 编写自动化代码的唯一正确流程 1. 先用 auto_connect 或 connect_device 连接设备 2. 用 observe_device 或 screen_capture dump_ui_tree 查看真实界面 3. 用 search_api 或 get_module_apis 查询 ascript API 的正确调用方式 4. 编写代码时必须优先使用控件选择器text、id、className 5. 用 deploy_and_run 发送到设备运行查看日志和截图验证 6. 有报错就改代码重新部署直到跑通 严格禁止 - 禁止写“假设按钮在xxx位置”等猜测性代码 - 禁止编造不存在的 API - 禁止不查询文档就写代码 - 禁止在有控件属性时使用坐标点击这段规则的作用是给 Agent 套上“先观察再动手”的纪律。没有它模型很容易跳过工具调用直接编代码跑起来全是错。配置完成后在 Cursor 对话框左下角把模式切到 Agent就可以开始验证了。4. 验证请求一句话触发设备自动化任务配置对不对跑一个最小任务就知道。我建议从“自动点击屏幕中央”这种简单需求开始因为它不依赖具体 App任何设备都能验证链路是否通。在 Cursor 的 Agent 模式对话框里输入帮我写一个自动点击屏幕中央的脚本连接我的设备观察界面后生成代码并部署运行。正常情况下你会看到 Agent 按顺序调用工具。第一步是 auto_connect它会尝试连接已授权的设备如果有多台设备可能会让你选择序列号。第二步是 observe_device 或 screen_capture你会看到它返回一张截图和一份 UI 树结构。第三步是 search_api查询 ascript 里点击操作的 API 签名。第四步是生成代码类似下面这样from ascript.android import device def main(): screen device.screen() width, height screen.width, screen.height screen.click(width // 2, height // 2) print(clicked center) if __name__ __main__: main()第五步是 deploy_and_run把代码推送到设备执行。如果一切顺利你会在 Cursor 的输出面板看到运行日志设备屏幕上也会出现一次点击。如果报错Agent 会读取日志、定位问题、修改代码、重新部署这个循环通常两三轮内能收敛。验证成功的标志有三个MCP 工具调用记录里能看到完整的 connect → observe → search → deploy 链路设备上确实执行了点击动作Cursor 里没有出现“local proxy failed”或“reading choices”这类报错。如果这三个都满足说明你的 AScript Cursor TaoToken 通道已经打通接下来就可以把需求换成更复杂的场景比如“打开设置进入关于手机读取型号并返回”。5. 本篇常见错排查401、local proxy failed 与 OAuth 报错配置过程中最容易卡住的几个报错我按出现频率排一下你对照着改。第一个是 401 Unauthorized。这个通常出现在 Cursor 验证 Base URL 或者 MCP 调用模型时。原因无非三种Key 复制时带了空格、Key 已经失效或被删除、Base URL 填成了带 /v1 的地址导致鉴权头没正确带上。排查方法很简单回到 TaoToken 控制台重新生成一个 Key粘贴时注意首尾不要有换行Base URL 严格填 https://taotoken.net/api 。如果用的是 Claude Code 或 Codex检查一下 auth.json 或 settings 里的字段名是不是写成了 api_key 而不是 apiKey大小写敏感。第二个是 local proxy failed。这个报错一般出现在 MCP 服务启动阶段说明 Cursor 尝试拉起 ascript_mcp.local 进程但失败了。常见原因是 Python 环境里没装 ascript-mcp或者装了但不在当前 PATH 里。你可以在终端手动执行 python -m ascript_mcp.local 看是否报 ModuleNotFoundError。如果是用 pip install ascript-mcp 重装如果提示端口被占用检查是不是已经有一个 MCP 实例在跑关掉多余的进程再试。第三个是 reading choices 相关的报错。这个通常发生在模型返回格式不符合预期时比如 Agent 期望结构化工具调用但模型返回了纯文本。排查方向有两个一是确认 Cursor 的模型选择是不是指向了支持 function calling 的模型二是检查规则文件里有没有把工具调用流程写清楚。如果规则太模糊模型容易自由发挥。把第 3 节里那段规则完整粘贴进去通常能解决。第四个是 OAuth 相关报错。如果你在连接设备时看到 OAuth token expired 或类似提示说明设备授权过期了。AScript 连接 Android 或 iOS 设备需要一次授权确认重新在设备上点一下允许即可。Windows 端一般不需要 OAuth如果出现检查是不是误配了远程连接模式。最后提醒一个隐蔽的坑MCP 配置里的 env 字段如果 Key 写错了Cursor 不会在启动时报错而是在第一次调用模型时才返回 401容易让人误以为是 Cursor 本身的问题。所以配完之后先用模型对话入口发一条简单消息验证 Key再跑设备任务。6. 把通道固定下来让 Agent 真正跑起来走到这里你已经有了一个能用的 AScript Cursor 环境。但要让它在日常工作中真正省时间还有几个习惯值得养成。第一把 MCP 配置和规则文件当成项目资产管理。如果你有多台机器或者团队协作把那段 JSON 和规则文本存到仓库里换机器时直接粘贴不用重新回忆字段。第二Key 不要硬编码在代码里MCP 的 env 字段和 Cursor 的设置界面已经帮你做了隔离但如果你自己写脚本调用 API记得从环境变量读取。第三Agent 跑复杂任务时先让它用 observe_device 把界面结构 dump 出来看一眼确认控件属性存在再写代码比直接让它生成一堆坐标点击要稳得多。如果你还没拿到 Key可以从 API Keys 页面创建一个想先试试模型通道是否通用模型对话发一条消息即可打算长期跑自动化任务的话Coding Plan 的额度模型更适合 Agent 反复迭代的场景。接入文档里有不同工具的字段对照表配置时遇到不确定的字段名可以去那里查。把这三件套固定下来之后你对 AI 说的下一句“帮我操作一下设备”就真的会有人动手了。
返回列表