CoWork 文档
Skills 与插件

插件

插件能做什么、两种形态、权限如何授予。

插件是什么

插件可以真正扩展客户端本身:贡献 Agent 工具、自定义编辑器、菜单命令、侧栏视图、斜杠命令——比 Skill 更强:Skill 只是指令文本,插件带可执行代码(或至少一个入口)。

浏览插件市场查看已发布插件,卡片上会列出它声明的能力与自带 Skill。

两种形态

形态代码适用
extension单文件 ESM(main 必填),宿主为它起隔离进程工具、编辑器、命令等有逻辑的插件
webapp零代码,只有清单里写死的网址「把一个网站带进来」:一个图标加一个地址,宿主一个进程都不起

webapp 的地址在安装界面就能看到,因此不需要任何能力声明;它可以开在对话 Tab、外层功能 Tab 或右侧面板。

权限模型

铁律:清单里声明的能力 = 运行期最多能拿到的能力。市场审核和用户安装时看到的就是那两个数组;插件运行期想再要数组之外的东西,直接拒绝、不弹窗——一次静默自动更新不能把一个只读插件变成能跑命令的插件。

  • permissions:必选能力,不批就不激活。
  • optionalPermissions:可选能力,运行期逐条请求。
  • hostPermissions:出网域名白名单——「能联网」和「能连哪些站」是两道门。
  • allowedCommands:可执行命令白名单(裸命令名);空数组 = 一条命令都不许跑。

写类能力(写文件、跑命令、git 写操作)和模型自己动手走同一条审批链,不是另开一条路。

安装与启用

  1. 客户端「扩展 › 插件」→ 市场搜索安装,或用 CLI:npx @aidotnet/nextcowork install plugin <slug>
  2. 安装后需在客户端里启用;禁用后它的工具、菜单、Skill 全部即时撤回。
  3. 卸载会删掉 ~/.next-cowork/plugins/<publisher>.<name>/(登录账户时在 config-profiles 下)。

升级与扩权

新版本如果新增了必选能力,插件进入「待批准」状态:用户不批就不激活,授权界面会逐条列出新增的项。堵的是「装完之后自动更新悄悄扩权」。

安全模型

  • 安装包下载后本地校验 SHA-256,与服务端权威摘要一致才落盘(中间被换掉的包过不了校验)。
  • ZIP 防线:体积、条目数、展开体积、目录深度都有上限,符号链接拒绝。
  • 能力授予逐条进行,拒绝某项能力不影响其他能力。
  • 插件代码在隔离上下文里运行,只能经 ncw.* 白名单 API 触碰宿主。

发布插件

开发插件

本页内容