بنقرة واحدة
plugin-generator
生成新的内置插件。当用户说"创建插件"、"新增插件"、"生成插件"并提供API接口地址和插件名称时触发。用户会说明输出类型(image/text)和API返回格式。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
生成新的内置插件。当用户说"创建插件"、"新增插件"、"生成插件"并提供API接口地址和插件名称时触发。用户会说明输出类型(image/text)和API返回格式。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
更新 CHANGELOG.md 并同步版本号到所有配置文件。自动提取从上一个 tag 到当前 HEAD 的所有 commit,按类型分类整理成中文格式的版本说明。需要传入版本号参数,会同时更新 package.json、Cargo.toml、tauri.conf.json 中的版本号。当用户说"更新 changelog"、"生成版本说明"、"准备发布"、"写 changelog"、"更新版本"并指定版本号时触发。
使用极趣云平台(Zectrix)开放 API 的指南。当用户需要调用 Zectrix API 管理设备、待办事项、推送内容到墨水屏设备,或编写与 Zectrix 云平台交互的脚本时, 使用此 skill。触发场景包括:用户提到 "Zectrix API"、"极趣云"、"墨水屏推送"、 "设备推送"、API 集成、curl 命令调用 Zectrix 接口、或需要在代码中调用 Zectrix 设备/待办/显示相关接口。
| name | plugin-generator |
| description | 生成新的内置插件。当用户说"创建插件"、"新增插件"、"生成插件"并提供API接口地址和插件名称时触发。用户会说明输出类型(image/text)和API返回格式。 |
根据用户提供的 API 接口地址、插件名称、输出类型和返回格式,生成新的内置插件代码并自动注册到 src-tauri/src/builtin_plugins.rs。
插件代码在 QuickJS 环境中执行,这是一个轻量级 JavaScript 引擎:
fetchJson, fetchBase64, postJson 等函数| 函数 | 用途 |
|---|---|
fetchJson(url) | GET 请求,返回 JSON 对象 |
fetchJsonWithHeaders(url, headers) | GET 请求,带自定义 Headers |
fetchText(url) | GET 请求,返回文本 |
fetchBase64(url) | GET 图片,返回 base64 Data URL |
fetchBase64WithHeaders(url, headers) | GET 图片带 Headers |
postJson(url, bodyStr) | POST JSON,body 需为 JSON 字符串 |
postJsonWithHeaders(url, bodyStr, headers) | POST JSON 带 Headers |
generateQrCode(text) | 生成二维码 PNG |
sleep(ms) | 同步等待 |
config | 用户配置对象 |
用户会提供以下信息:
image 或 text{"message": "图片URL", "status": "success"}图片插件需要:
fetchBase64 下载图片转成 base64{ type: "image", imageDataUrl: "...", title: "..." }const data = await fetchJson("<API_URL>");
const imageDataUrl = await fetchBase64(data.<IMAGE_URL_FIELD>);
return { type: "image", imageDataUrl: imageDataUrl, title: "<PLUGIN_NAME>" };
文本插件需要:
{ type: "text", text: "...", title: "..." }const data = await fetchJson("<API_URL>");
return { type: "text", text: data.<TEXT_FIELD>, title: "<PLUGIN_NAME>" };
如果需要渲染文本为图片再推送:
const data = await fetchJson("<API_URL>");
return { type: "textImage", text: data.<TEXT_FIELD>, title: "<PLUGIN_NAME>" };
生成插件 ID - 根据插件名称生成英文 ID
dog-randomweather-today确定插件分类 - 接受用户指定的分类,或根据插件类型自动推断:
"AI""图片""工具""文学""编程"生成插件描述 - 根据插件功能生成简短描述
生成插件代码 - 根据输出类型和返回格式生成 JS 代码
fetchJson + fetchBase64fetchJson更新 builtin_plugins.rs - 在 list_builtin_plugins() 函数中添加新的 BuiltinPlugin
在 src-tauri/src/builtin_plugins.rs 的 list_builtin_plugins() 函数的 vec! 中添加:
BuiltinPlugin {
id: "<PLUGIN_ID>".to_string(),
name: "<插件名称>".to_string(),
description: "<插件描述>".to_string(),
category: "<分类>".to_string(),
code: r#"const data = await fetchJson("<API_URL>");
const imageDataUrl = await fetchBase64(data.<IMAGE_URL_FIELD>);
return { type: "image", imageDataUrl: imageDataUrl, title: "<插件名称>" };"#
.to_string(),
..Default::default()
},
src-tauri/src/builtin_plugins.rs 文件list_builtin_plugins() 的 vec! 中添加新的插件项cargo build --manifest-path src-tauri/Cargo.toml 验证编译用户输入:
生成结果:
dog-randomconst data = await fetchJson("https://dog.ceo/api/breeds/image/random");
const imageDataUrl = await fetchBase64(data.message);
return { type: "image", imageDataUrl: imageDataUrl, title: "随机显示狗狗" };