下载并安装豆豆桌宠创作者工具包
工具包提供项目模板、Creator API 校验器、预览环境和 .petpack 打包能力。
下载创作者工具包
豆豆桌宠
iDou.pet
VibeCoding
把桌宠玩法讲清楚,让 AI 帮你生成插件逻辑,再通过 Creator API 校验、预览并打包成可安装的 .petpack。
Before you start
AI Coding 工具可以直接读取本页来生成插件源码;校验、预览和打包需要在本地创作者工具链里完成。
工具包提供项目模板、Creator API 校验器、预览环境和 .petpack 打包能力。
下载创作者工具包图片、序列帧和音频请放在 plugin/assets/ 下,提示词里只列这些素材路径。
AI 负责生成 plugin.json 和 main.js;本地工具负责检查、预览和最终打包。
Prompt
请先把你的宠物想法写清楚,再把下面提示词交给 Codex、Cursor、Claude Code 或其他 AI Coding 工具。
我要制作一个豆豆桌宠 VibeCoding 插件,并打包成可安装的 .petpack 宠物包。
请先阅读本页的 Creator API 能力、权限说明和开发命令,然后帮我生成插件文件。
- 宠物想法:[宠物想法,例如:一只会在我久坐时绕着屏幕散步的小狗]
- 触发场景:[触发场景,例如:鼠标靠近、提醒到期、前台应用变化]
- 希望动作:[希望动作,例如:说话、移动、播放动画、生成便签]
- 本地资源路径:[本地资源路径,例如 my-plugin/plugin/assets/footprint.png;没有素材就写暂无]
- 宠物包目标:输出一个可安装的 .petpack 宠物包
请帮我生成 plugin/plugin.json 和 plugin/main.js,并确认需要打包进宠物包的资源都放在 plugin/assets/。
要求:
1. 使用 definePetPlugin。
2. 只声明真正需要的 permissions。
3. 只使用我列出的资源路径;不要读取任意本地文件。
4. 不要使用 fs、child_process、process.env、eval 或动态 import。
5. 如果有更安全的 API,优先使用更安全的 API。
6. 生成完成后先运行 npm run creator:check my-plugin/plugin,并根据报错继续修复。
7. 校验通过后运行 npm run creator:preview my-plugin/plugin 预览行为。
8. 满意后运行 npm run creator:pack my-plugin/plugin,制作宠物包。
AI-readable brief
如果你的 AI Coding 工具只能读取一个页面,请把本模块和上方提示词一起交给它。这里补齐目录结构、插件字段、权限、修复循环和验收标准。
你正在帮助用户制作一个豆豆桌宠 VibeCoding 宠物包。目标是输出一个可安装的 .petpack 文件。
一、插件目录结构
my-plugin/
plugin/
plugin.json
main.js
assets/
用户明确提供、并且需要打包进宠物包的图片、序列帧、音频或其他静态素材
只允许修改 plugin/plugin.json、plugin/main.js 和 plugin/assets/。
不要读取用户没有列出的本地路径,不要扫描任意目录,不要把服务器密码、私钥、环境变量或临时凭据写进插件。
二、plugin.json 必填字段
{
"name": "插件英文短名,使用小写字母、数字和连字符",
"version": "1.0.0",
"displayName": "展示给用户看的中文名称",
"description": "一句话说明这个桌宠包会做什么",
"entry": "main.js",
"permissions": [
"只声明真正需要的权限"
]
}
三、权限对照
- pet.control:控制宠物动画、说话、移动、缩放、心情或自主行为时使用。
- desktop.overlay:创建桌面便签、贴纸、图片、足迹或小面板时使用。
- mouse.read:需要读取鼠标位置、速度或是否靠近宠物时使用。
- app.foreground:需要根据前台应用或窗口上下文触发行为时使用。
- widgets.read:需要读取番茄钟、休息、水提醒或久坐提醒状态时使用。
原则:能不用权限就不用;能用低风险 API 就不要申请高风险能力。
四、main.js 写法
- 使用 import { definePetPlugin } from "@pixelpet/creator-api";
- 默认导出 definePetPlugin({...})。
- 常见触发点可以包含 onStart、onReminderDue、onMouseNear、onForegroundAppChanged 等。
- 行为要短、可预览、可重复触发,避免无限循环和长时间阻塞。
- 使用 ctx.pet 控制宠物,使用 ctx.desktop 创建桌面元素,使用 ctx.mouse / ctx.apps / ctx.widgets 读取上下文。
五、禁止事项
- 不要使用 fs、child_process、process.env、eval、Function 构造器或动态 import。
- 不要访问网络地址,除非用户明确要求且权限允许。
- 不要读取 plugin/assets/ 以外的任意本地文件。
- 不要伪造不存在的素材路径。
- 不要为了省事声明全部权限。
六、失败修复循环
1. 生成 plugin/plugin.json 和 plugin/main.js。
2. 运行 npm run creator:check my-plugin/plugin。
3. 如果失败,完整读取错误信息,只修改错误相关文件。
4. 再次运行 npm run creator:check my-plugin/plugin。
5. 重复直到校验通过。
6. 运行 npm run creator:preview my-plugin/plugin 预览行为。
7. 预览满意后运行 npm run creator:pack my-plugin/plugin 输出 .petpack。
七、验收标准
- plugin.json 结构完整,entry 指向 main.js。
- permissions 只包含真实需要的权限。
- main.js 能被校验器解析,使用 definePetPlugin。
- 所有引用素材都在 plugin/assets/ 下。
- npm run creator:check my-plugin/plugin 通过。
- npm run creator:preview my-plugin/plugin 能启动预览。
- npm run creator:pack my-plugin/plugin 能生成可安装的 .petpack。
- 没有使用禁止 API,没有读取任意本地文件,没有写入敏感信息。
Workflow
把想法拆成清晰输入,AI 生成代码后再用官方命令校验和打包。
写清宠物要响应什么场景,以及用户看到的动作、话术或桌面元素。
把会用到的图片、序列帧或声音放进插件内的 plugin/assets/ 路径。
让 AI 生成 plugin.json 和 main.js,并只声明必要权限。
运行校验命令,把报错继续交给 AI,让它按错误解释修复。
在预览环境里确认动画、说话、移动和桌面元素表现符合预期。
预览满意后打包成 .petpack,得到可安装的桌宠包。
Creator API
插件通过上下文对象控制宠物、桌面元素、鼠标状态和系统场景。
import { definePetPlugin } from "@pixelpet/creator-api";
export default definePetPlugin({
async onStart(ctx) {
await ctx.pet.say("Ready.");
await ctx.pet.play("idle");
},
async onReminderDue(ctx) {
await ctx.desktop.spawnNote({
title: "休息一下",
text: "喝水、眨眼、伸展。"
});
}
});
Commands
先校验再预览,最后打包。权限声明越小,用户安装时越安心。
npm run creator:new my-plugin
npm run creator:check my-plugin/plugin
npm run creator:preview my-plugin/plugin
npm run creator:pack my-plugin/plugin
npm run creator:explain-errors my-plugin/plugin
插件必须在 plugin.json 里声明权限。只写真实需要的能力,高风险能力会被校验器拦截,并需要用户明确同意。
{
"permissions": [
"pet.control",
"desktop.overlay",
"mouse.read"
]
}