如何使用本应用
触控魔方使用指南
接下来示范如何创建一个自动记录文本到“笔记”APP的任务 首先先思考一个任务的运行流程,根据目前的任务目标(记录一个文本到笔记APP)可以得出当前任务流程为: 切换到目标APP→创建笔记→点击输入框→设置剪贴板→点击剪贴板→保存/返回
我们可以从创建任务开始,也可以先创建需要设置的剪贴板文本和点击位置,这里我们先设置好剪贴板和点击位置
在开始之前点击运行页的标题栏旁边的“检测权限”,然后跳转开启这两个权限,一个是点击操作是必须要开启的,一个是悬浮窗功能要用到的。

都开启,平时不开悬浮窗其实也能运行任务,只不过不能设置自定义的点击位置,因为无法开启悬浮窗设置遮罩层(后面会讲到)。

权限开启完成后
接下来去仓库页的文本标签创建一个文本
在仓库页右下角是创建按钮,每个标签页对应创建每个标签页的数据

输入准备设置到剪贴板的文本
然后点击右上角保存按钮
创建完成后如下

创建文本完成后
再切换到仓库的点击标签页,我们创建一个点击的位置
在点击标签页点击创建点击页面

这个时候直接返回主页(全面屏手机就直接上滑回主页)或者打开最近任务(不要点返回键或者返回上一页,否则会关闭编辑页面悬浮按钮也会被关闭)切换到一个可以输入文本的APP

比如来到这里,我们点击开启遮罩

然后屏幕边半透明的情况下点击右下角的创建笔记的按钮位置,这个时候点击会被拦截,不会进入创建页面,而是会记录坐标位置
点击完就可以关闭遮罩
我们回到APP(此时还处于刚刚的编辑页面),APP会记录刚刚点击的位置。我们给点击位置起个名称(不起名称会保存坐标为默认名称),然后点右上角的保存(会自动返回上一页)

按照同样的逻辑再创建一个点击

然后去到刚刚的笔记APP(通过主页或者最近任务来切换APP),这个时候我们进入创建笔记页面

为了方便点击剪贴板文本,推荐使用谷歌的Gboard输入法,或者剪贴板功能不会因为APP限制而用不了的输入法(目前测试:搜狗输入法的剪贴板在短时间多次设置剪贴板后会触发无法设置剪贴板,应该是有频率限制)

这里我们选择谷歌的Gboard输入法 然后点击确认

输入一个文本 然后点输入法的编辑按钮

选择文本然后剪切下来


就像这样弹出剪贴板的时候,就可以点击这个悬浮的开启遮罩层按钮,然后点击剪贴板的位置,如下图↓

点击完剪贴板的位置后再点击关闭遮罩按钮

这个时候我们回到APP,输入个名称,然后点击保存

这个时候我们任务所需的仓库数据就已经创建完成了,接下来在运行页面创建一个任务

页面是这样的

回想上面说的流程: 切换到目标APP→创建笔记→点击输入框→设置剪贴板→点击剪贴板→保存/返回
所以接下来我们就按照这个流程添加需要的工具,由于本应用没有为每个工具都添加延迟,所以在大部分工具的中间需要添加延迟工具(默认参数是1.5秒)
在工具栏往左边滑动一点就可以看到“延迟”工具
我们点击添加一个,然后再延迟工具左侧再点击添加个“APP”工具,如下↓

接下来点击工具的钢笔按钮来编辑参数

默认只能选择常见50个APP,这里我们要打开的APP不在列表中,所以需要授权APP获取设备应用列表的权限。
安全声明: 此权限仅用于在本机上识别应用以进行精准自动化。我们承诺,您的应用列表等隐私数据仅用于本地功能,绝不会被上传服务器。(更多隐私问题可以在设置页面查阅隐私协议)
点击解锁按钮弹出授权弹窗,确认授权即可

这里我们搜索笔记APP并选择。
接下来再添加一个延迟工具和一个屏幕点击工具
按照同样的方式点击点击工具的编辑按钮,选择“创建笔记”位置数据作为参数
选择完成后如下

接下来再添加个延迟工具和剪贴板工具
按照一样的逻辑选择刚刚添加的文本作为参数
接下来再添加个延迟工具和返回工具
参数根据需要编辑,默认是返回三次
这里就使用默认参数
这个时候任务就创建完成了
检查一下工具有没有遗漏:
延迟→打开APP(笔记)→延迟→点击(创建笔记)→延迟→设置剪贴板(你好)→延迟→点击(剪贴板)→延迟→返回(默认返回3次)
小提示:长按工具左侧可以拖动改变工具的上下位置 接下来我们就点击右上角保存工具就可以了。
在保存按钮的左侧是编辑任务的参数按钮,点击打开窗口后可以修改任务循环的次数(默认是1次),设置多少次执行任务时就会循环执行多少次。

运行的效果是这样的(循环1次):
到此,这个“记录一个文本到笔记APP”的任务就创建完成了。
接下来我讲一下自定义工具的功能
切换到仓库页的工具标签,然后点击右上角点添加按钮
进入这个编辑页面后默认是没有程序的,我们需要先点击图中的按钮创建一个程序才能进行下一步↓
创建的程序默认在工具里面并缩进显示,这里我们点击展开按钮
展开后就可以看到程序了,这里我们看到有个名称叫“新建程序”程序被高亮选择了,这个就是我们刚刚创建的程序。 我们还看到页面发生了一些变化,透过半透明的UI我们可以看到“项目面板”(我们操作的这个面板)后方的文字UI由原来“选择或创建程序开始编辑”变成了图中显示的一些提示性文字,以及还有网格显示(接下来我们叫它画布)。这就说明此刻我们可以开始进行自由创建节点来打造自定义工具了
接下来我们先点击收起按钮收起面板,开始创建节点
点击节点面板的展开按钮
总共有42个节点,点击标签可以只看这个标签下的节点,点击钢笔图标按钮则可以编辑节点面板收起时显示的一排的节点快捷键(像上图收起时的那一排节点图标)
这里我们点击添加一个“开始”节点,这是执行工具的程序时必须添加的节点(程序由此开始,一个程序只会有一个开始节点被使用,不同程序都可以添加开始节点,而工具执行时则由手动设置的入口程序[后面讲]来开始执行,而入口程序则必须有开始节点,否则无法运行该程序及其添加调用的的其他程序[如果有])
双指可以缩放画布和节点大小,单指拖动画布可以偏移,画布范围无限制,节点可以任意拖动
像上面创建任务那样我们这里也示范如何使用自定义工具实现“记录一个文本到笔记APP”的节点图, 步骤复习: 延迟→打开APP(笔记)→延迟→点击(创建笔记)→延迟→设置剪贴板(你好)→延迟→点击(剪贴板)→延迟→返回(默认返回3次)
除了这里多了一个开始节点,其他都是一致的。 像下图把这些节点统统添加进画布(网格),可以自由拖动改变位置,我整理后是这样的↓
在图片中↓我标记的这些范围就是可以点击插槽的地方。点击这些区域可以直接打开插槽窗口,没点到的话也可以直接双击节点的中间区域来打开节点参数窗口然后再通过插槽导航栏切换到插槽编辑窗口
打开插槽编辑窗口后就可以选择要连接的目标插槽。输出插槽可以连接输入插槽,输入插槽可以连接输出插槽,同一种类型的插槽不可互相选择连接。插槽编辑面板中显示的也是另外一种类型的节点插槽的(输出对输入,输入对输出),可以通过插槽导航栏左右拖动,来切换要连接的类型插槽。勾选目标插槽后需要先点击保存连接,不保存连接直接切换插槽窗口时上一个插槽的勾选状态会丢失
这个窗口当前显示的是“开始”节点的输出插槽(执行输出)可以连接到的节点列表。显示到是当前程序画布(网格)中存在的所有的节点。我们这里要连接延迟节点的输入插槽,所以像图中一样,点击“延迟”。
点击开始可以切换会开始节点的参数面板
我们现在所做的流程是“开始”节点的“执行输出”插槽连接到“延迟”节点的“执行输入”插槽。 这样做的原理是因为节点图到执行流程是线性的,类似于单线程运行,这样做的意思就是说:在“开始”节点执行完后就执行“延迟”节点。
每个节点的“执行输入”插槽就是让别的节点来启动运行该节点的插槽,而连接线就是两个节点之间互通的桥梁。当“执行输入”连接到“执行输出”时就是在说:我这个节点运行完了,下一个要运行的节点就是你。
自定义工具创建的初衷就是希望这个自定义工具可以像类似编程一样的逻辑去创建自定义的工具,但是又不希望像真实编程那样复杂难懂,所以页面中几乎所有的功能都是不需要代码知识的,只需要知道每个功能的使用方式就可以,知道一点编程理论当然可以更好使用自定义的功能,但这不是必须的,几乎所有节点参数窗口中都有详细的节点参数说明,完全可以通过这些说明文档来快速掌握该节点的功能使用方式,目前没有使用代码编程来实现对应节点功能的开发规划。愿景是为更多没有代码编程知识的人提供更通俗易懂且功能强大的自动化工具。
继续我们的教程:
点击“延迟”后就显示延迟节点中可以连接的所有输入插槽,这里我们勾选其中的“执行输入”
连接后是这样的
接下来从延迟节点连接到APP节点,同理,点击延迟的插槽打开插槽编辑窗口,在窗口中选择APP节点
勾选插槽(执行输入),然后保存连接
接下来我们要编辑打开APP的参数,在节点图,双击打开APP的节点(画圈的区域),如果点到了插槽区域也没关系,也是可以通过插槽导航栏来切换到节点参数窗口的
打开“APP”节点参数窗口后,点击“选择应用”按钮
像在任务中那样,选择要打开的APP
选择APP完成后,在窗口中往下滑,可以看到有一些参数,跟创建任务时的参数一样的。这里参数不变,然后点击保存按钮
由于节点有点多,为了方便管理,可以给每个节点都重新命名个名字
命名后的节点图如下,看起来就容易辨认些了
给每个节点连接后如下
其他功能介绍: 页面中左上角是撤销/重置按钮,可以撤销/重做节点的属性和位置以及连接的状态,这里是说明,不需要操作
展开项目面板后的功能介绍:
- 项目面板左上角的是撤销/重做项目的删除/新增操作
- 项目面板标题栏右边是添加文件夹按钮(默认是添加到项目根目录,选择文件夹后添加则添加到选择的文件夹里面),在添加文件夹右边则是我们上面使用过的添加程序按钮(默认是添加到项目根目录,选择文件夹后添加则添加到选择的文件夹里面)。
- 工具项后边是编辑工具参数按钮,可以编辑工具的名称以及入口程序(默认是自动推导项目中按创建时间排序,第一个带开始节点的程序作为入口程序,可以手动修改入口程序),
- 程序项右边的添加按钮是调用程序按钮,作用是在别的程序想直接使用这个程序的节点图时,使用这个功能可以直接添加一个程序调用节点到目标程序的画布中,这个程序调用节点的输入输出插槽默认是自动推导的,可以通过添加按钮的右侧的程序参数编辑按钮来打开编辑程序参数窗口来手动修改该程序的输入输出接口(插槽)。
- 程序项右边的钢笔按钮:修改该程序的名称描述以及输入输出接口(默认是自动推导有输出连接的第一个节点的空余插槽为输入接口,最后一个有输入连接的节点的空余插槽为输出接口)。
- 程序项最右侧的三个点是菜单按钮,点击后会显示删除按钮,可以通过这个按钮功能删除该程序。
- 项目面板最下面的是项目路径导航栏,可以点击跳转返回目标文件夹或根目录
标题栏部分功能介绍(从右到左讲):
- 页面右上角的最右侧是保存按钮;
- 在保存按钮的左侧是运行工具按钮;
- 在运行按钮的左侧是画布的重置按钮(重置画布偏移量);
- 在重置画布按钮的左侧是导入导出按钮,可以导入“文件夹树/单个或者多个程序”,导出“工具(包含所有文件夹/程序)/文件夹树/单个程序”;
继续我们的教程: 点击运行按钮时就会从工具参数中设置的入口程序开始运行节点图(这里不设置,它已经默认推导得出当前程序作为入口程序了,因为当前程序有“开始”节点)
我们创建的“记录一个文本到笔记APP”程序节点图运行效果如下:
到这里本APP的功能基本已经介绍完毕了。其他剩下的节点可以自己去探索(添加节点后打开节点参数窗口可以查看当前节点的使用方式),节点中没有介绍到的插槽都是可以传递参数的,可以根据自己的需要连接到目标插槽,目前插槽类型有8种: “执行”,“布尔值”,“数值”,“文本”,“坐标”,“任意类型”,“对象”,“数组” 同类型的输出插槽只能连接到同类型的输入插槽,“任意类型”的除外,它可以连接到任意类型
还有一个跟其他节点不太一样的“程序调用节点”没有讲 这里图片展示不了这么多了,简单说一下,程序调用节点的作用就是把别的程序的输入输出接口打包到当前程序中的一个节点。“程序调用”节点的插槽默认是根据设置的程序的节点图自动推导该程序的输入输出接口的。这里的接口就是插槽的意思,举个例子: 如果一个程序的节点图是这样的: 延迟→点击 其中延迟有两个输入插槽(执行输入和延迟时间),一个输出插槽(执行输出) 点击节点有四个输入插槽(执行输入和x轴和y轴和中心坐标),三个输出插槽(执行输出和点击成功和点击失败) 那么自动推导接口时就因为他们两个连线,所以可以推导得到的输入接口如下: 执行输入,延迟时间 输出接口如下: 执行输出:点击成功,点击失败
我们在下图↓可以看到程序调用节点本身是自带:执行输入和执行输出插槽的,所以这两个插槽就会被过滤掉,严格来说是“执行”类型的插槽会被过滤掉(if节点的三个输出插槽都是“执行”类型的,所以在为别的程序编辑专门用来调用的程序时不介意使用if节点作为该程序的结束)
上文说的是程序接口的自动推导的结果,如果需要手动修改程序的输入输出接口,就点击程序项的右侧的钢笔按钮打开编辑窗口滑动到最下方再点击“编辑程序接口”按钮就可以打开编辑接口窗口来进行编辑修改来。 要改为手动的就在那个窗口取消勾选自动推导,之后就可以添加和输出程序的输入输出接口了。 在添加程序接口时的插槽类型目前还是英文名,对应如下: EXECUTION -> "执行" BOOLEAN -> "布尔值" NUMBER -> "数值" STRING -> "文本" VECTOR2 -> "坐标" ANY -> "任意类型" OBJECT -> "对象" ARRAY -> "数组"
修改完后点击保存即可。 每次修改程序接口后需要在原来调用该程序的地方的“程序调用”节点打开编辑节点窗口再次选择这个程序来更新该程序的接口,更新后会断开所有连接到该节点“程序调用节点”的连接线,因为类型可能不一致,再次连接即可
“程序调用”示范使用方式: 创建一个新程序,然后在新的程序画布添加一个程序调用节点,这个节点既可以直接点击项目面板的目标程序的右侧的添加按钮,也可以打开节点面板找到“程序调用”节点来点击添加,直接在程序右侧的添加按钮来添加调用时不用再次选择程序,而在节点面板添加的“程序调用”节点需要双击点击节点来打开节点参数编辑窗口来选择目标程序(跟选择APP节点的逻辑类似)。
使用这个程序调用节点再连接其他节点,比如:
“程序调用”节点运行完后进行截图然后使用截取的图片进行OCR文本识别,之后再添加“OCR坐标转换”节点转换为屏幕坐标,再使用“整理文本坐标”进行整理过滤文本位置进行输出,连接到点击节点的“中心坐标”输入插槽,来进行自动点击,并且以此同时使用“整理文本坐标”的坐标输出插槽连接到“存储坐标”节点的“存储坐标”插槽来存储单个/多个坐标列表到内存或者为JSON文件(编辑参数可修改存储数量和目标文件夹),然后把“存储坐标”的“执行输入”连接给到“整理文本坐标”的上一个节点来连接,并且给“存储坐标”的“内存数据”输出插槽连接到“整理文本坐标”的“过滤列表”到输入存储中。这样就形成来一个循环,再使用循环节点循环这部分流程的时候每次整理文本坐标时就都会过滤上一次使用过的坐标位置了。 具体实现的场景可以是:自动点击不同的人进行回复/评论,每次过滤掉操作过的用户。 基本可以按照我说的这些步骤去实现,不过实际操作还要多进行一些操作,比如设置好对应参数,以及OCR坐标转换目前还需要获取到截图的尺寸大小,所以实际还需要多添加几个节点,这里篇幅已经很长了。我们留到下次再讲。
简单示范:
下面是我创建的一个用来给一个APP发送私信的部分程序节点图,:
自定义工具创建完成后每次都在这个页面运行也有点麻烦,所以APP是支持直接在任务中直接使用已有的工具。在工具栏添加“工具”到任务中后,就可以像别的工具选择参数那样来选择已有的“工具”,到时候运行时就会自动运行该“工具”(跟在自定义编辑页面一样,是根据设置的入口程序来运行)
说回我们一开始说的。这个APP目前是内测阶段,还有不少未完善的内容,比如只能离线注册登录,只能客服授权,比如还没有暂停运行功能,比如还没有从指定的节点开始运行的功能。这些功能都会在后续慢慢完善。
谢谢大家阅读到这里,你们的支持是我们无限的动力doge呵斥