Skip to content

快速开始

DeekeScript Pro(简称 Pro)用 JSON + page.js 做界面(可交给 AI 生成),用 JavaScript 写 Android 无障碍自动化。

核心特性

特性说明优势
动态页面page.json 描述界面,page.js 填数据AI 可以直接生成 UI
任务脚本tasks/*.js 写点击、滑动、找节点页面按钮里拉起,或单独执行
自定义接口Http.get / Http.post 对接自有后端数据从哪来自己定
自定义组件components/ 里复用区块页面和弹层都能引用
代码提示IDE 智能提示提升开发效率
模块化require 拆公共代码代码复用性强

获取示例工程

完整示例在 deekeScriptV2Demo(含界面 + 任务脚本):

bash
git clone https://github.com/DeekeScript/deekeScriptV2Demo.git

用 VSCode 打开后,按 Vscode开发篇 同步到手机。若工程带了界面,主界面如下,可在本页直接点(「开始运行」、底栏、最近记录):

{
  "title": {
    "text": "工作台",
    "fontSize": 18,
    "color": "#FFFFFF",
    "background": "#006A65"
  },
  "style": {
    "padding": 10,
    "background": "#F5F5F5"
  },
  "body": [
    {
      "type": "card",
      "style": {
        "padding": 0,
        "gap": 0
      },
      "children": [
        {
          "type": "image",
          "src": "img/banner.svg",
          "fit": "cover",
          "style": {
            "height": 88,
            "radius": 0,
            "width": "match"
          }
        },
        {
          "type": "column",
          "style": {
            "padding": 12,
            "gap": 8
          },
          "children": [
            {
              "type": "text",
              "text": "{{hello}}",
              "style": {
                "fontWeight": "bold",
                "fontSize": 16
              }
            },
            {
              "type": "notice",
              "text": "今日脚本已就绪,可以开始运行"
            },
            {
              "type": "button",
              "text": "开始运行",
              "size": "中",
              "action": {
                "type": "navigate",
                "page": "task",
                "params": {
                  "id": "dy"
                }
              }
            }
          ]
        }
      ]
    },
    {
      "type": "space",
      "height": 8
    },
    {
      "type": "grid",
      "bind": "metrics",
      "columns": 2,
      "item": {
        "type": "card",
        "style": {
          "padding": 12,
          "gap": 4
        },
        "children": [
          {
            "type": "notice",
            "text": "{{item.label}}"
          },
          {
            "type": "title",
            "text": "{{item.value}}",
            "style": {
              "color": "#006A65"
            }
          }
        ]
      }
    },
    {
      "type": "text",
      "text": "常用功能",
      "style": {
        "fontWeight": "bold"
      }
    },
    {
      "type": "grid",
      "bind": "apps",
      "columns": 3,
      "item": {
        "type": "card",
        "action": {
          "type": "navigate",
          "page": "task",
          "params": {
            "id": "{{item.id}}"
          }
        },
        "style": {
          "padding": 8,
          "gap": 8
        },
        "children": [
          {
            "type": "image",
            "src": "{{item.icon}}",
            "style": {
              "width": "50%"
            }
          },
          {
            "type": "text",
            "text": "{{item.name}}",
            "style": {
              "fontSize": 11,
              "align": "center"
            }
          }
        ]
      }
    },
    {
      "type": "card",
      "children": [
        {
          "type": "column",
          "style": {
            "gap": 6
          },
          "children": [
            {
              "type": "text",
              "text": "今日安排",
              "style": {
                "fontWeight": "bold"
              }
            },
            {
              "type": "notice",
              "text": "先跑主任务,再处理子脚本"
            }
          ]
        },
        {
          "type": "list",
          "bind": "tags",
          "direction": "row",
          "item": {
            "type": "tag",
            "text": "{{item.label}}",
            "action": {
              "type": "toast",
              "text": "{{item.label}}"
            }
          }
        }
      ]
    },
    {
      "type": "text",
      "text": "最近记录",
      "style": {
        "fontWeight": "bold"
      }
    },
    {
      "type": "list",
      "bind": "logs",
      "item": {
        "type": "card",
        "action": {
          "type": "navigate",
          "page": "detail",
          "params": {
            "id": "{{item.id}}"
          }
        },
        "children": [
          {
            "type": "row",
            "style": {
              "gap": 10
            },
            "children": [
              {
                "type": "image",
                "src": "{{item.icon}}",
                "style": {
                  "width": 36,
                  "height": 36,
                  "radius": 8
                }
              },
              {
                "type": "column",
                "style": {
                  "weight": 1,
                  "gap": 4
                },
                "children": [
                  {
                    "type": "text",
                    "text": "{{item.title}}",
                    "style": {
                      "fontWeight": "bold"
                    }
                  },
                  {
                    "type": "notice",
                    "text": "{{item.time}}"
                  }
                ]
              },
              {
                "type": "tag",
                "text": "{{item.status}}",
                "style": {
                  "background": "#E6F4F1",
                  "color": "#006A65"
                }
              }
            ]
          }
        ]
      }
    },
    {
      "type": "loading",
      "text": "加载中",
      "showIf": "loading"
    },
    {
      "type": "text",
      "text": "{{footer}}",
      "showIf": "noMore",
      "style": {
        "align": "center",
        "color": "#9AA8A6",
        "fontSize": 12
      }
    }
  ]
}
UI
9:41100%
工作台
你好,Pro
今日脚本已就绪,可以开始运行
运行中
3
已完成
128
排队
8
失败
2
常用功能
点击控件
图色查找
循环任务
今日安排
先跑主任务,再处理子脚本
脚本无障碍图色悬浮球
最近记录
点击控件
10:21
运行中
图色查找
10:40
排队
循环任务
09:12
已完成
定时执行
08:55
失败
日志回传
08:30
排队

准备工作

1. 开发工具安装

安装 VSCode

安装 DeekeScript 插件

  • 在 VSCode 中安装 DeekeScript 开发插件,如下图,点击「安装」即可:

必读Vscode开发篇 是日常开发的核心文档,连接手机、项目同步、执行脚本都以这一篇为准。插件装好后请先把它看完,再继续下面的步骤。

2. 移动端准备

安装 Pro 软件包

权限配置

  • 打开 Pro 的侧边栏(左上角「三条杠」),开启以下权限:
    • 无障碍服务 - 核心自动化权限
    • 快速模式 - 开启后速度更快,能识别到的无障碍节点更少
    • 悬浮窗权限 - 控制界面显示
    • 图色查找 - 启动图色识别服务
    • 节点查看 - 浏览器查看节点数据
    • 开发模式 - VSCode 开发、或者浏览器调试

认识节点查看器

节点查看器用来查看手机界面上的无障碍节点,再对节点做点击、输入或滑动。

连接设备

* 手机和电脑必须是同一个局域网
* VSCode 必须升级到最新版
* 电脑 VPN 需要关闭
* 无障碍、悬浮窗、图色查找、节点查看、开发模式必须开启
  1. 打开手机端 Pro,如下图,可以看到手机的局域网 IP:

  2. 打开浏览器,输入 http://手机IP:8080,可以看到下面的页面:

  3. 选择左侧的节点,点击之后就可以看到节点信息

调试模式

  • 需要看到更多节点时,选择「复杂模式」
  • 不想打开 VSCode 时,可以切换到「在线调试」

创建界面

要自己做工作台、配置页时,工程目录和页面约定见 概述。也可以让 AI 按约定生成,见 用 AI 写 UI

  1. 用 VSCode 打开这个项目目录。
  2. Vscode开发篇 连接手机 → 项目同步
  3. 手机端点 刷新,进入 homePage(配了 bottomMenus 则带底栏)。
  4. 正在看的那一页,改 page.json / page.js 后同步即可热更新;写坏了会保留旧界面,错误出现在 VSCode 控制台。第一次进页面仍要点刷新。
  5. 页面上的按钮应调用 Engines.executeScript('tasks/xxx.js');不要把任务写在 JSON 的 action 里。

执行脚本(不需要界面)

根目录放好 deekeScript.json,再写一个 tasks/sample.js。用 VSCode 打开这个任务文件,点「仅当前文件执行」即可,不必做页面、也不必打开 homePage

page.js 不要当普通脚本点执行,它只在打开对应页面时由引擎加载。

连接、同步、单文件执行的按钮位置以 Vscode开发篇 为准。

接着看

文档解决什么
用 AI 写 UI提示词、生成 page.json / page.js
Vscode开发篇连接、同步、执行脚本
概述做界面时的目录约定和效果预览
配置入口、底栏、全局窗口
页面结构page.json / page.js
组件列表、表单、弹层

AutoJS文档 Released under the ISC License.