StablEdge 安装包内置了 PC Control 插件,可以作为参考;下面另附几段常见的清单写法。
PC Control
com.stabledge.pc-control:让 Agent 操作本机键鼠、窗口、截屏,并按界面自动化控件树点击和填写。它是内置插件,只有 skills 和一个 isolation 为 dev_unrestricted 的 Worker,启用时需要用户允许本电脑模式。这类插件应在说明中写清楚为什么需要本机权限。
清单片段示例
以下片段只展示清单中的相关部分,插件 ID 和名称都是虚构的。挑最接近需求的写法作为起点,只保留真正用到的贡献和权限。
只有顶部栏
以 com.example.my-monitor(My Monitor)为例:没有工作区和 Worker,只有一个嵌入页面形态的顶部栏项,权限归属 host:
"contributions": {
"topbar_items": [
{
"id": "system-metrics",
"side": "left",
"label": "CPU -- · MEM --",
"tooltip": "CPU、内存和 GPU 使用率",
"priority": 50,
"entrypoint": "payload/ui/topbar.html",
"bridge_version": "1.0",
"min_width": 145,
"max_width": 280
}
]
},
"requested_permissions": [
{ "permission": "system.metrics.read", "worker": "host" }
]
页面里用 services.invoke("host.system_metrics", "sample", {}) 定期取样。
调用外部 API
以 com.example.my-docs(My Docs)为例:Worker 负责所有网络请求,net.fetch 权限归属 Worker,并用 scope 声明会访问的域名和方法:
{
"permission": "net.fetch",
"worker": "main",
"optional": true,
"scope": { "domains": ["api.example.com"], "methods": ["GET", "POST"] }
}
需要登录时,使用 kind 为 oauth2 的凭据,callback_mode 为 custom_scheme。令牌由宿主保管和刷新,Worker 只通过 credential_refs 引用。
AI 运行时示例(仅官方)
com.stabledge.fun-asr(语音识别)和 com.stabledge.index-tts(语音合成)使用 ai_runtime 由宿主托管模型运行时。这一能力只对官方来源开放,第三方插件无法使用,仅供了解。
从零开始
需要从零开始时,可以在能力中心进入插件创建模式,让 Agent 按内置指引生成插件目录,见 打包与签名。