拟人操作(RPA)开发工具能帮助你快速创建拟人操作(RPA)项目和脚本,并且提供了丰富的开发调试能力,包括:钉钉身份认证、快速上手、开发调试、运行预览、打包发布等能力。
开发工具能力
钉钉身份认证
点击登录按钮,可唤起钉钉桌面端并打开登录页,点击授权登录按钮进行登录授权,登录成功后会自动跳转转回 vscode 并将个人信息和组织信息展示到 vscode 扩展中。
初始化拟人操作(RPA)项目
点击「快速上手」功能栏中的「创建拟人操作(RPA)项目」按钮,会唤起交互对话框,按照指引填入项目基本信息,完成项目的创建。项目创建完成后,会自动在新窗口中打开项目文件目录。
开发调试
使用步骤1:在文件中注释中配置 @target_url。
/**
* @target_url https://m.douban.com/movie
*/
const { lifecycle, page, utils } = DDAutomator;
const { loaded, step } = lifecycle;
// ... 脚本内容
使用步骤2:点击「开发调试」,打开调试页面后,使用钉钉移动端扫码或点击在桌面端打开目标页,即可在钉钉客户端页面和 vscode 扩展右侧脚本开发 devtools 页面之间建立远程连接。成功建立连接后,在钉钉端内页面右上角可见调试面板,显示远程调试已连接,vscode 打开的 devtools 页面中,可以看到页面元素内容。
连接成功后便可开始进行脚本开发,「开发调试」可提供如下能力:
支持与钉钉客户端页面建立远程连接,对钉钉端内页面进行审查元素、查看日志等功能。在脚本注释中配置 @target_url,即可自动生成二维码,使用钉钉扫码或点击按钮打开目标页,即可建立远程连接。
支持在控制台远程调用拟人操作(RPA)框架 API,实时查看 API 调用效果。
支持代码录制,点击开启代码录制后,在页面中的点击、填写表单、调用钉钉 jsapi 等操作都会实时转换成脚本代码插入到脚本文件中。
使用步骤3:单击运行预览,支持预览本地脚本,扫码或单击按钮在钉钉端内打开 target_url 后,automator.js|ts 脚本内容会自动运行在页面中。脚本代码修改后,重新扫码打开页面即可预览最新脚本内容。
生成描述文件
脚本打包完成后,点击「生成描述文件」按钮,可以将打包后的脚本上传至 CDN,并生成描述文件 ai-plugin.json,将 json 内容复制后,粘贴至拟人操作(RPA)发布页,完成创建。
注意,进行描述文件生成之前,请按照以下规则在文件内容的最上方进行描述内容的配置。
字段 |
含义 |
备注 |
title |
标题 |
必需,必须为英文 |
description |
描述 |
必需 |
target_url |
运行目标页 |
必需 |
keywords |
关键词 |
关键词之间以英文逗号分隔 |
examples |
大模型示例 |
input 表示给大模型的输入,output 表示大模型对输入的参数解析。 |
param |
运行参数 |
请严格按照两层参数定义:即第一层为脚本函数入参 params,名称和描述固定,类型为 object。第二层为 params 下的属性,名称、类型、描述、示例内容自定义,之间以空格做分割,示例内容应为example:${示例内容},默认值 defalut:${默认值}。参数可选以中括号做标识,如[params.clientType]。 |
以下为描述内容的模板,请将此内容放置在脚本内容的最上方。
/**
* @title 豆瓣电影
* @description 在豆瓣网页查看最新电影,查询电影,查询豆瓣电影,热门电影
* @target_url https://m.douban.com/movie
* @headless_mode true
* @examples input: '搜索前3个热门电影' output: { num: 3 }
* @param {object} params 参数对象
* @param {number} [params.num] 电影数量 example: 3 default: 5
*/
const { lifecycle, page, utils } = DDAutomator;
const { loaded, step } = lifecycle;
// ... 脚本内容
除基本类型参数外,支持定义特殊类型参数,用以获取当前会话信息及会话中可以提取为钉钉标准信息的参数,包括
特殊参数类型 |
备注 |
dingtalk.current.userId |
当前对话发送人的 userId。 |
dingtalk.current.unionId |
当前对话发送人的 unionId。 |
dingtalk.current.jobNum |
当前对话发送人的 jobNum。 |
dingtalk.current.corpId |
当前对话发送人的 corpId。 |
dingtalk.current.input |
当前对话内容。 |
dingtalk.current.coversationId |
当前对话 id。 |
dingtalk.userId |
对话中包含的用户的钉钉 userId |
dingtalk.unionId |
对话中包含的用户的钉钉 unionId |
dingtalk.time |
对话中包含的时间信息 |
dingtalk.customTime |
对话中包含的时间信息,自定义格式,strftime 规则。例如:yyyy-MM-dd 输出的时间为2023-12-31 |
特殊类型参数使用示例
/**
* @param {object} params 参数对象
* @param {dingtalk.current.userId} params.curUid 当前对话发送人的 userId。
* @param {dingtalk.customTime} params.myTime 我的自定义时间 yyyy-MM-dd
*/
重置窗口
此功能在 DingTalk Toolkit 运行异常时使用,用来重新初始化 vscode 窗口和 DingTalk Toolkit 运行上下文。