Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>DingTalk ToolkitNew to Visual Studio Code? Get it now.
DingTalk Toolkit

DingTalk Toolkit

dingtalk

|
1,150 installs
| (1) | Free
钉钉开发者工具,支持开发企业 AI 助理拟人操作(RPA)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

DingTalk Toolkit

拟人操作(RPA)开发工具能帮助你快速创建拟人操作(RPA)项目和脚本,并且提供了丰富的开发调试能力,包括:钉钉身份认证、快速上手、开发调试、运行预览、打包发布等能力。

image

开发工具能力

钉钉身份认证

点击登录按钮,可唤起钉钉桌面端并打开登录页,点击授权登录按钮进行登录授权,登录成功后会自动跳转转回 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 运行上下文。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft