插件开发概述

适用版本:StablEdge 桌面端 0.4.4,插件清单协议 v3

StablEdge 插件是一个签名或经用户确认安装的 .seplugin 包。插件可以在桌面端里提供自己的工作区界面、顶部栏小部件、Agent 技能,以及在后台运行的 Worker 进程。宿主负责加载、隔离和授权;插件只能使用清单里声明、并被用户授予的能力。

插件能做什么

贡献类型清单字段说明
工作区界面contributions.workspaces在沙箱 iframe 里运行的 HTML 页面,可替换文件区、编辑区或两者,通过 Workspace Bridge 与宿主通信。
顶部栏项contributions.topbar_items显示在顶部栏的小部件:静态文字、由 Worker 方法刷新的数值,或嵌入的小页面。
技能contributions.skills一份 Markdown 说明,告诉 Agent 如何使用本插件。
资源contributions.resources随包分发的静态资源,例如图标、示例数据。
知识源contributions.knowledge_providers声明一个提供知识检索的 Worker。目前只通过清单校验,宿主尚未消费。
Workerworkers在独立进程中运行的后台逻辑,使用 JSON-RPC 与宿主通信。
后台任务triggers、event_channels按间隔、启动或唤醒时调用 Worker;或保持 SSE、WebSocket、Webhook 长连接。
凭据credentials由宿主保管的静态密钥或 OAuth2 令牌,按声明注入到 Worker 的请求中。

一个插件至少要提供 knowledge_providers、workspaces、skills、resources 中的一项。

运行结构

  • 宿主(Host):StablEdge 桌面端。负责安装校验、权限授予、会话管理,所有网络和文件访问都由宿主代为执行。
  • 工作区界面:包内的 payload/ui/*.html,在受 CSP 限制的 iframe 中运行,只能通过 window.stabledgePlugin SDK 调用宿主。
  • Worker:包内的 payload/worker/*,作为子进程运行,通过标准输入输出上的 JSON-RPC(协议版本 2.0)与宿主交换消息。
  • 服务(Service):宿主或其他插件公开的可调用服务,插件通过 service.invoke 权限访问。

安全模型

  • 封闭文件集:清单的 files 列出包内每个文件的 SHA-256,安装时逐一核对,多出或缺少文件都会拒绝安装。
  • 最小权限:所有能力都要在 requested_permissions 中声明。必需权限在安装时授予,可选权限由用户勾选。
  • 签名与信任:通过官方公钥验签的插件为「官方」来源;其余插件按「开发者」来源处理,需要用户在设置中允许安装未签名插件。
  • 默认停用:新安装的插件默认处于停用状态,由用户手动启用。

协议版本

当前清单协议为 v3("schema_version": 3)。v1 和 v2 清单仍可安装,仅用于兼容和迁移;新插件一律使用 v3。

下一步

  • 快速开始:从零写一个工作区插件并安装到桌面端。
  • Manifest 参考:清单字段完整说明。
  • 权限:14 项权限的用途和授权方式。
  • 示例插件:内置 PC Control 插件与常见清单写法。
本页目录