抖音开发者工具 Skill
抖音开发者工具 Skill 可让支持 Skill 的编程助手通过本机命令操作和调试小程序、小游戏。
安装后,你可以直接用自然语言完成打开项目、编译、模拟器交互、日志排查、预览和上传测试版本等任务。所有命令均在本机执行,无需额外配置。
一、功能概览
安装 Skill 后,可以完成以下任务:
- •打开 / 关闭项目窗口,查看已导入项目列表,导入或分享代码片段
- •检查 IDE 是否在线、登录是否过期,查询当前账号下的 App ID
- •页面自动化:点击、长按、滑动、输入、滚动、导航,以及读取 / 修改当前页面 data、调用 Page 方法
- •运行时诊断:console、network、页面数据、页面栈 / 系统信息、元素样式和属性、在模拟器里执行 JS、截图
- •编译相关:刷新模拟器、强制重新编译、编译模式、构建 npm、清缓存
- •预览和上传:按项目路径出预览链接 / 二维码,对当前窗口预览或推送,上传到测试通道
二、安装 Skill
douyinide
命令输出中会显示 Skill 的安装目录和版本号。将安装目录添加到编程助手的 Skill 配置后,重新加载即可使用。
也可以在开发者工具菜单栏选择「导出 Skill」,导出
douyinide-skill-<version>.zip,再将压缩包导入编程助手。还可以在菜单栏选择「复制 Skill 安装提示词」,复制安装说明和 Skill 路径,并发送给编程助手完成安装。
安装与首次连接
- 1.安装程序会自动配置
douyinide 命令。若当前终端找不到命令,请重新打开终端;仍不可用时,安装最新版开发者工具。- 2.首次连接时,开发者工具会显示客户端授权弹窗。确认客户端名称后点击“允许”,同一客户端后续连接无需重复授权。
- 3.使用预览、上传等账号相关功能前,请先登录开发者工具。
- 4.项目根目录需包含有效的
app.json(小程序)或 game.json(小游戏)。两者都没有时,无法作为项目打开。三、项目管理
查看已导入项目
该命令不要求开发者工具在线:
douyinide project-list -c <clientName>
会列出已经导入的项目路径、名称和类型。这是项目列表,不是当前已打开的窗口。
导入或分享代码片段
开发者工具未运行时,命令会自动启动工具,但不会打开项目窗口。
douyinide import-minicode -c <clientName> --url <snippetUrl>
douyinide share-minicode -c <clientName> --path <项目绝对路径>
导入代码片段只需要一个链接,导入后会出现在项目列表里,再按需打开。
分享代码片段会生成本地工程的分享链接,需要已登录。可选过期时间,不填表示不过期。
打开项目窗口
douyinide open-project-window -c <clientName> --path <项目绝对路径> --type app [--mode full|lite]
小程序用
--type app,小游戏用 --type microgame(含 Unity 小游戏)。--mode 用于指定工作台模式,仅支持 full(完整模式)和 lite(精简模式);省略时默认使用 lite。Unity 小游戏沿用 IDE 现有逻辑,始终使用完整模式。有
app.json 按小程序打开,只有 game.json 按小游戏打开。打开项目窗口前请先登录。开发者工具未运行时,命令会尝试自动启动工具;项目尚未导入时会同时完成导入。
打开后可以查看窗口 ID,后续操作模拟器时会用到:
douyinide get-project-windows-info -c <clientName>
按路径构建 npm、出预览码、上传,不需要先开窗口。
四、登录与状态检查
开始前可以先看开发者工具是否在线、账号是否已登录:
douyinide check-ide-status -c <clientName>
重点关注以下字段:
字段 | 含义 |
ideOnline | 开发者工具当前是否在线 |
loginExpired | 登录是否过期;过期后预览、上传等会受限 |
loginUser | 当前登录账号 |
skillVersion / skillPath | 当前 Skill 的版本和目录 |
命令不存在,或提示「抖音开发者工具未运行」时,可以先启动工具:
douyinide start-ide
也可以手动打开抖音开发者工具。如果仍无法连接,请从官方下载页安装最新版本。
登录开发者工具
douyinide login -c <clientName>
未登录时会打开开发者工具,请在工具里完成登录。登录成功后再做预览、上传。
登录完成后,可再检查一次状态。
五、在编程助手中使用
完成安装后,直接用自然语言描述任务即可,例如“打开这个小程序项目”“重新编译并检查报错”“点击提交按钮并确认结果”或“生成预览二维码”。
首次连接需要在开发者工具中确认授权。扫码登录、二维码确认等交互仍需手动完成;上传测试版本、分享代码等操作应在确认目标项目和账号后执行。
六、命令行示例
通常无需手动执行命令。需要排查问题或验证环境时,可参考以下示例;其中
Codex 是客户端名称,请替换为实际名称。douyinide check-ide-status -c Codex
douyinide project-list -c Codex
douyinide import-minicode -c Codex --url https://example.com/minicode
douyinide share-minicode -c Codex --path /Users/me/projects/my-miniprogram
douyinide open-project-window -c Codex --path /Users/me/projects/my-miniprogram --type app --mode lite
douyinide get-project-windows-info -c Codex
douyinide build-npm -c Codex --path /Users/me/projects/my-miniprogram
douyinide simulator-refresh -c Codex --window-id <windowId>
douyinide simulator-compile -c Codex --window-id <windowId>
douyinide create-preview-qrcode -c Codex --path /Users/me/projects/my-miniprogram --output /Users/me/preview.png
douyinide create-preview-qrcode -c Codex --path /Users/me/projects/my-miniprogram --miniapp-path pages/index/index --miniapp-query 'id=1'
douyinide preview -c Codex --window-id <windowId>
douyinide upload -c Codex --path /Users/me/projects/my-miniprogram --app-version 1.0.0 --app-changelog '修复页面展示' --channel <channel>
douyinide miniapp-get-console-messages -c Codex --window-id <windowId>
douyinide miniapp-image-screenshot -c Codex --window-id <windowId> --file-name /Users/me/screenshot.png
模拟器交互
编程助手可以在模拟器中点击、输入、滚动和截图,也可以读取或修改当前页面 data。例如:
douyinide miniapp-wait-for-selector -c Codex --window-id <windowId> --selector '#submit-button' --timeout 5000 --interval 200
点击示例:
douyinide miniapp-tap -c Codex --window-id <windowId> --backend-id 12345 --type tap
douyinide miniapp-snapshot -c Codex --window-id <windowId>
读写当前页面 data:
douyinide miniapp-page-action -c Codex --window-id <windowId> --action getData
douyinide miniapp-page-action -c Codex --path <项目绝对路径> --action setData --data '{"count":1}'
douyinide miniapp-page-action -c Codex --window-id <windowId> --action callMethod --method onTap --method-args '["from-skill"]'
douyinide miniapp-page-action -c Codex --window-id <windowId> --action scrollTop
读取页面栈或系统信息:
douyinide miniapp-runtime-info -c Codex --window-id <windowId> --action pageStack
douyinide miniapp-runtime-info -c Codex --path <项目绝对路径> --action currentPage
douyinide miniapp-runtime-info -c Codex --window-id <windowId> --action systemInfo
预览与上传说明
按项目路径预览会得到链接,也可以保存成二维码图片,不需要先开窗口。如果要在开发者工具里弹出二维码或推送到客户端,再用当前窗口预览。
预览结果是链接或二维码,不是已经生成好的图片文件;需要保存图片时指定输出路径。
上传会把代码发到测试通道,不等于审核通过或正式上线。
七、小程序与小游戏的能力差异
能力 | 小程序 | 小游戏 |
页面元素定位 | 支持元素树、selector 和 backendId | 主要使用 Canvas,不支持元素树定位 |
页面 data、页面栈和 Page 方法 | 支持 | 不支持 |
模拟器交互 | 可按元素或坐标操作 | 通过截图定位后按坐标操作 |
构建 npm | 支持 | 不支持 |
八、使用限制与安全提示
- 1.授权弹窗、扫码登录和二维码确认需要在开发者工具中手动完成。
- 2.上传测试版本、分享代码和退出账号会影响线上账号或本机环境,请先确认目标项目、账号和操作范围。
- 3.Skill 通过本机开发者工具执行命令;代码、日志和调试数据不会因使用 Skill 自动上传到额外的云端服务。
九、典型使用场景
场景一:排查 console 和 network 问题
直接读取当前项目窗口的控制台日志和网络请求,定位运行时问题。
场景二:验证页面交互
代码修改完成后,使用编程助手在模拟器中执行点击等操作,并检查页面是否符合预期。
场景三:生成手机预览码
生成预览二维码或链接后,可在手机端打开并验证当前版本。
场景四:截图核对布局
保存模拟器截图,用于检查页面布局和视觉效果。
