Skip to main content

本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版。

manifest 是一个定义插件基本信息的 YAML 文件,包括名称、作者、包含的工具和模型等。如果文件格式不正确,插件的解析和打包会失败。

关于插件的整体架构,详见 插件开发基本概念 和 开发者速查表。

代码示例#

下面是一个简单的 manifest 文件,每个字段都会在后续的「结构」一节中说明。实际示例可参考 Google 工具插件 manifest。

结构#

versionversionrequired#

插件版本。

typestringrequired#

插件类型。目前仅支持 plugin,未来将支持 bundle。

authorstringrequired#

作者,定义为市场中的组织名称。

labelobjectrequired#

多语言名称。

created_atRFC3339required#

创建时间。市场要求该时间不能晚于当前时间。

iconstringrequired#

图标路径。

resourceobject#

插件申请的资源。

memoryint64#

最大内存使用量,单位为字节。主要与 Dify Cloud 上的 AWS Lambda 资源分配相关。

permissionobject#

插件申请的权限。

toolobject#

反向调用工具的权限。

enabledboolean#

是否启用工具权限。

modelobject#

反向调用模型的权限。

enabledboolean#

是否启用模型权限。

llmboolean#

是否启用大语言模型权限。

text_embeddingboolean#

是否启用文本嵌入模型权限。

rerankboolean#

是否启用重排序模型权限。

ttsboolean#

是否启用文本转语音模型权限。

speech2textboolean#

是否启用语音转文本模型权限。

moderationboolean#

是否启用内容审核模型权限。

nodeobject#

反向调用节点的权限。

enabledboolean#

是否启用节点权限。

endpointobject#

注册 endpoint 的权限。

enabledboolean#

是否启用 endpoint 权限。

appobject#

反向调用 app 的权限。

enabledboolean#

是否启用 app 权限。

storageobject#

申请持久化存储的权限。

enabledboolean#

是否启用存储权限。

sizeint64#

允许的最大持久化存储大小,单位为字节。

pluginsobjectrequired#

列出插件所扩展能力对应的 YAML 文件,使用插件包内的绝对路径。例如,要扩展一个模型,需定义一个类似 openai.yaml 的文件并在此列出其路径。该路径下必须存在对应文件,否则打包会失败。

Warning

以下组合不被允许:

  • 同时扩展工具和模型。
  • 同时扩展模型和 Endpoints。
  • 没有任何扩展。

目前,每种扩展类型仅支持一个 provider。

toolsarray[string]#

工具 provider 的插件扩展。

modelsarray[string]#

模型 provider 的插件扩展。

endpointsarray[string]#

Endpoints provider 的插件扩展。

agent_strategiesarray[string]#

Agent 策略 provider 的插件扩展。

metaobjectrequired#

插件的元数据。

versionversionrequired#

manifest 格式版本。初始版本为 0.0.1。

archarray[string]required#

支持的架构。目前仅支持 amd64 和 arm64。

runnerobjectrequired#

运行时配置。

languagestringrequired#

编程语言。目前仅支持 Python。

versionstringrequired#

语言版本。目前仅支持 3.12。

entrypointstringrequired#

程序入口点。Python 下应为 main。

privacystring#

插件隐私政策的相对路径或 URL,例如 "./privacy.md" 或 "https://your-web/privacy"。在 Dify 市场上架时必填,插件须明确说明如何使用用户数据。详见 插件隐私数据保护指南。