跳到主要内容
TABTAB

导航

开发者文档

TABTAB 插件是运行于沙箱 WebView 中的网页。本文档涵盖将其构建为可安装、可升级、权限受控的插件所需的全部信息。

一个 TABTAB 插件由三部分构成:网页、manifest.json 与 ZIP 包。 不绑定任何构建系统 —— Vite、webpack 或纯静态页面皆可, 唯一要求是最终产物为一个自包含页面。

参考实际插件

插件市场现有 15 个插件, 权限范围自「仅读写自身存储」至「读本机文件 + 屏幕截取 + 联网」不等。 每个条目均完整列出其声明的指令与权限 —— 该清单即为其运行时可获取的能力边界。

目录结构
my-plugin/
├── manifest.json      # 身份、指令、权限
├── index.html         # 入口
├── icon.svg           # 方形图标
├── dist/              # 构建产物(随包发布)
│   ├── manifest.json
│   ├── icon.svg
│   └── index.html
└── my-plugin-1.0.0.zip

ZIP 包根目录放置 manifest.json 与入口页面。 不含任何原生构建步骤。

四项常见约定

  1. Manifest 以 deny_unknown_fields 解析。字段名拼写错误不会产生警告,只会导致插件加载失败。
  2. 权限应仅声明实际使用项。每多声明一项,即要求用户为一项不会用到的能力授权, 且该授权在卸载前持续有效。
  3. fs:read 是敏感权限,且读取有闸门。它要用户单独点头;即便拿到了,宿主也只接受绝对路径、已存在的 普通文件,不跟符号链接。搜索与读取是两条路 ——闸门细节。
  4. 公开市场仅接受纯网页插件。声明 runtime.kind = "process" 的安装包会被构建脚本直接拒绝。