首页/AI 工程/autojs6-Doc-skills
A

autojs6-Doc-skills

by @icxz000v
3.5(0)

本项目是AutoJs6脚本编写的专业AI助手,旨在帮助开发者减少代码幻觉和错误。它基于AutoJs6官方文档,提供准确的API用法、参数、代码示例,涵盖UI控件操作、触摸手势、图像识别、文件处理、多线程等核心功能。用户在编写、调试AutoJs6脚本时,此技能能显著提升开发效率和代码质量,避免常见陷阱。

AutoJs6Android AutomationScriptingAI AssistantMobile DevelopmentGitHub
安装方式
git clone https://github.com/icxz000/autojs6-Doc-skills.git
compare_arrows

Before / After 效果对比

1
使用前

在没有AI助手的情况下,编写AutoJs6脚本时,开发者需手动查阅大量文档,容易遗漏API细节或引入代码幻觉,调试耗时且效率低下,代码质量难以保证。

使用后

借助此AI技能,开发者能快速获取准确的AutoJs6 API用法和代码示例,有效减少代码错误和调试时间,显著提升脚本编写效率和代码质量,避免常见陷阱。

description SKILL.md


name: autojs6-Doc-skills description: 编写 AutoJs6 自动化脚本的专业助手。在用户编写、调试 AutoJs6 脚本时使用此技能,包括:UI控件查找与操作、触摸/手势模拟、图像识别与截图、文件/HTTP/存储操作、多线程、事件监听、悬浮窗、对话框等。当用户提及 AutoJs6、autojs、auto.js 脚本编写、安卓自动化脚本、手机脚本自动点击等相关内容时,必须使用此技能以减少代码错误、提供准确API用法。

AutoJs6 脚本编写技能

概述

AutoJs6 是基于 Android 无障碍服务的 JavaScript 自动化工具,使用 Mozilla Rhino 引擎(非 V8/Node.js),可直接调用 Java API。


触发条件

以下情况必须使用此技能:

  1. 用户请求编写 AutoJs6 脚本("帮我写一个 AutoJs6 脚本来...")
  2. 用户询问 AutoJs6 API 用法("AutoJs6 中如何...")
  3. 用户需要开发指导或遇到错误
  4. 用户提到相关关键词:AutoJs6、autojs、auto.js、安卓自动化、控件操作、手机脚本自动点击等

工作流程

  1. 识别需求:判断用户需要脚本编写、API 查询还是错误排查
  2. 选择参考文件:根据问题类型读取对应的参考文件(见下方说明)
  3. 提供准确回答:从参考文件提取信息,提供正确的函数签名、参数、代码示例
  4. 验证准确性:确保与参考文档一致,包含必要的错误处理

参考文件说明(按需读取)

整合参考文件(快速概览)

本技能包含三个整合参考文件,适合快速确认 API 用法:

文件内容何时读取
references/api-core.json21个核心模块的所有方法签名与说明需要确认任意 API 的用法、参数、返回值时
references/api-selector.jsonUiSelector(222方法) / UiObject(135方法) / UiObjectCollection(56方法) 完整API涉及控件选择、控件属性操作时
references/patterns-and-pitfalls.json权限说明、常用代码模式、Top错误列表、调试技巧、Rhino引擎特性编写整体逻辑、权限判断、排查错误时

粒度参考文件(精确查询)

每个模块有独立的 JSON 文件,适合精确查找特定模块的详细 API:

功能领域参考文件
自动化操作automator.json, coordinates-based-automation.json, widgets-based-automation.json
控件选择器uiSelectorType.json, uiObjectType.json, uiObjectActionsType.json, uiObjectCollectionType.json
应用和设备app.json, appType.json, device.json, intent.json, intentType.json
UI 交互ui.json, dialogs.json, floaty.json, canvas.json, progress.json, toast.json
图像和 OCRimage.json, imageWrapperType.json, ocr.json, color.json, colorTable.json
文件和数据files.json, storages.json, storageType.json
网络和通信http.json, web.json, webSocketType.json
多线程和事件threads.json, timers.json, events.json, eventEmitterType.json
系统功能shell.json, sensors.json, runtime.json, engines.json
工具类console.json, crypto.json, util.json, mathx.json, arrayx.json, numberx.json
多媒体media.json, recorder.json, barcode.json, qrcode.json
其他shizuku.json, plugins.json, notice.json, autojs.json

完整索引见 references/index.md

规则:回答 AutoJs6 代码问题时,先读取对应参考文件,再输出代码,不得依赖记忆中的 API 写法。简单查询用整合文件,深入查询用粒度文件。


核心模块速览

references/api-core.json 包含以下模块的完整方法列表:

模块主要功能关键方法示例
automator触摸/手势模拟click(x,y) swipe() gesture() input()
widgetsBasedAutomation控件自动化全局函数click(text) scrollUp() setText() auto()
app应用管理、Intentlaunch() launchApp() startActivity() openUrl()
console日志、控制台悬浮窗log() show() rawInput() time()
device设备信息与控制width height getBattery() keepScreenOn()
image截图、找色、模板匹配captureScreen() findColor() findImage() matchTemplate()
httpHTTP 请求get() post() postJson() request()
files文件读写read() write() exists() listDir()
storages键值持久化存储create() .get() .put() .remove()
threads多线程start() lock() atomic() disposable()
events事件监听onKeyDown() onTouch() onNotification() onToast()
floaty悬浮窗window() rawWindow() closeAll()
dialogs对话框alert() confirm() rawInput() select()
global全局函数sleep() toast() toastLog() exit() random()
uiUI 界面layout() inflate() run() post()
shellShell 命令shell(cmd, root)
media多媒体播放playMusic() stopMusic() scanFile()
sensors传感器register() unregister()
util工具函数字符串/数组/对象辅助方法
crypto加解密哈希、AES 等加密方法
base64Base64 编解码encode() decode()

references/api-selector.json 包含:

  • UiSelector(222个方法):text() id() className() findOne() find() exists() waitFor() 等所有选择器
  • UiObject(135个方法):控件属性读取、点击、输入、滚动、节点遍历等
  • UiObjectCollection(56个方法):控件集合操作

权限速查

功能所需权限
selector 查找控件 / 模拟触摸 / 系统按键无障碍服务
images.captureScreen()截图权限(首次弹授权框)
floaty.window() / console.show()悬浮窗权限
shell(cmd, true) / events.onTouch()Root 权限
device.setBrightness()修改系统设置权限
通知监听 events.onNotification()通知服务权限

最常用代码模板

// ① 脚本开头:请求无障碍服务
auto.waitFor();

// ② 等待控件出现后点击(推荐写法)
let btn = text('确定').findOne(5000); // 加超时,不永久阻塞
if (btn) btn.click();
else console.log('未找到按钮');

// ③ 截图找色(必须 recycle)
let img = images.captureScreen();
let pt = images.findColor(img, '#FF0000', {threshold: 10});
if (pt) click(pt.x, pt.y);
img.recycle(); // ← 必须释放

// ④ 比例坐标(适配不同分辨率)
let W = device.width, H = device.height;
swipe(W*0.5, H*0.8, W*0.5, H*0.2, 500);

// ⑤ 本地存储(持久化)
let s = storages.create('myApp');
s.put('count', s.get('count', 0) + 1);

// ⑥ 多线程更新UI
threads.start(function() {
    let result = doWork();
    ui.run(() => textView.setText(result));
});

// ⑦ UI脚本开头必须声明
'ui';
ui.layout(<vertical>...</vertical>);

Top 常见错误速查

症状原因修复
控件操作全部无效未开启无障碍服务开头加 auto.waitFor()
脚本永久卡死findOne() 无超时改为 findOne(5000) 并判断 null
长时间运行后崩溃Image 对象未回收每次截图后 img.recycle()
ui 模块方法报错忘写 'ui';第一行加 'ui';
点击位置错误固定坐标不适配device.width/height 计算比例
子线程操作 View 报错跨线程操作 UI改用 ui.run(() => {...})
悬浮窗脚本退出后残留未关闭悬浮窗退出前 floaty.closeAll()
dialogs 在 ui 模式卡死阻塞了 UI 线程用回调或 Promise 形式
events 事件处理延迟主线程有耗时操作把耗时操作移到子线程
captureScreen 每次弹框未提前申请截图权限脚本开头调用 images.requestScreenCapture()

完整错误列表见 references/patterns-and-pitfalls.jsontop_mistakes


回答规范

代码质量要求

  • 必须 findOne() 加超时参数并处理 null
  • 必须 截图操作后调用 img.recycle()
  • 必须 无障碍脚本开头加 auto.waitFor()
  • 必须 UI脚本第一行写 'ui';
  • 推荐 使用比例坐标而非固定坐标
  • 推荐 随机延迟模拟人工操作:sleep(random(500, 1500))

回答格式

  1. 简述实现思路(1-2句)
  2. 提供完整可运行代码(含必要注释)
  3. 说明所需权限
  4. 关键注意点(不超过3条)

Rhino 引擎说明

AutoJs6 使用 Mozilla Rhino(非 V8),注意:

  • 支持:let/const / 箭头函数 / 模板字符串 / 解构 / Promise(基础)
  • 不支持:顶层 await / WeakRef / 部分 ES2020+ 特性
  • 特有:可直接使用 Java 类 new java.util.ArrayList()
  • importClass(java.io.File) 导入 Java 类

详见 references/patterns-and-pitfalls.jsonrhino_engine_notes


注意事项

  1. 版本一致性:参考文件基于 AutoJs6 文档 v1.1.8,API 可能随版本更新变化
  2. 设备差异:不同 Android 设备/版本可能有行为差异,建议添加设备检测逻辑
  3. 错误处理:始终提供包含错误处理的代码示例,避免空指针、超时等问题

Base directory for this skill: file:///C:/Users/Capoo/.config/opencode/skills/autojs6-skill Relative paths in this skill (e.g., references/) are relative to this base directory.

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价

统计数据

安装量1
评分3.5 / 5.0
版本
更新日期2026年4月7日
对比案例1 组

用户评分

3.5(0)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Manual

时间线

创建2026年4月7日
最后更新2026年4月7日