> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-add-new-agent.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Manifest

<Note> ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处，请参考[英文原版](/en/develop-plugin/features-and-specs/plugin-types/plugin-info-by-manifest)。</Note>

Manifest 是一个符合 YAML 规范的文件，定义了**插件**最基本的信息，包括但不限于插件名称、作者、包含的工具、模型等。关于插件的整体架构，请参阅[插件开发基本概念](/zh/develop-plugin/getting-started/getting-started-dify-plugin)和[开发者速查表](/zh/develop-plugin/dev-guides-and-walkthroughs/cheatsheet)。

如果该文件的格式不正确，插件的解析和打包过程将会失败。

### 代码示例

以下是一个简单的 Manifest 文件示例。每个数据项的含义和功能将在后面解释。

其他插件的参考代码，请参阅 [GitHub 代码仓库](https://github.com/langgenius/dify-official-plugins/blob/main/tools/google/manifest.yaml)。

```yaml theme={null}
version: 0.0.1
type: "plugin"
author: "Yeuoly"
name: "neko"
label:
  en_US: "Neko"
created_at: "2024-07-12T08:03:44.658609186Z"
icon: "icon.svg"
resource:
  memory: 1048576
  permission:
    tool:
      enabled: true
    model:
      enabled: true
      llm: true
    endpoint:
      enabled: true
    app:
      enabled: true
    storage:
      enabled: true
      size: 1048576
plugins:
  endpoints:
    - "provider/neko.yaml"
meta:
  version: 0.0.1
  arch:
    - "amd64"
    - "arm64"
  runner:
    language: "python"
    version: "3.10"
    entrypoint: "main"
privacy: "./privacy.md"
```

### 结构

<ParamField path="version" type="version" required>
  插件的版本。
</ParamField>

<ParamField path="type" type="string" required>
  插件类型，目前仅支持 `plugin`，未来将支持 `bundle`。
</ParamField>

<ParamField path="author" type="string" required>
  作者，定义为 Marketplace 中的组织名称。
</ParamField>

<ParamField path="label" type="object" required>
  多语言名称。
</ParamField>

<ParamField path="created_at" type="RFC3339" required>
  创建时间，Marketplace 要求不能晚于当前时间。
</ParamField>

<ParamField path="icon" type="string" required>
  图标路径。
</ParamField>

<ParamField path="resource" type="object">
  申请的资源。

  <ParamField path="memory" type="int64">
    最大内存使用量，主要与 SaaS 上的 AWS Lambda 资源申请相关，单位为字节。
  </ParamField>

  <ParamField path="permission" type="object">
    权限申请。

    <ParamField path="tool" type="object">
      工具反向调用权限。

      <ParamField path="enabled" type="boolean">
        是否启用工具权限。
      </ParamField>
    </ParamField>

    <ParamField path="model" type="object">
      模型反向调用权限。

      <ParamField path="enabled" type="boolean">
        是否启用模型权限。
      </ParamField>

      <ParamField path="llm" type="boolean">
        是否启用大语言模型权限。
      </ParamField>

      <ParamField path="text_embedding" type="boolean">
        是否启用文本嵌入模型权限。
      </ParamField>

      <ParamField path="rerank" type="boolean">
        是否启用重排序模型权限。
      </ParamField>

      <ParamField path="tts" type="boolean">
        是否启用文本转语音模型权限。
      </ParamField>

      <ParamField path="speech2text" type="boolean">
        是否启用语音转文本模型权限。
      </ParamField>

      <ParamField path="moderation" type="boolean">
        是否启用内容审核模型权限。
      </ParamField>
    </ParamField>

    <ParamField path="node" type="object">
      节点反向调用权限。

      <ParamField path="enabled" type="boolean">
        是否启用节点权限。
      </ParamField>
    </ParamField>

    <ParamField path="endpoint" type="object">
      注册 `endpoint` 的权限。

      <ParamField path="enabled" type="boolean">
        是否启用 endpoint 权限。
      </ParamField>
    </ParamField>

    <ParamField path="app" type="object">
      `app` 反向调用权限。

      <ParamField path="enabled" type="boolean">
        是否启用 app 权限。
      </ParamField>
    </ParamField>

    <ParamField path="storage" type="object">
      申请持久化存储的权限。

      <ParamField path="enabled" type="boolean">
        是否启用存储权限。
      </ParamField>

      <ParamField path="size" type="int64">
        允许的最大持久化存储大小，单位为字节。
      </ParamField>
    </ParamField>
  </ParamField>
</ParamField>

<ParamField path="plugins" type="object" required>
  插件扩展的具体能力的 `yaml` 文件列表。使用插件包内的绝对路径。例如，如果你需要扩展一个模型，你需要定义一个类似 `openai.yaml` 的文件，在这里填写文件路径，并且该路径下的文件必须实际存在，否则打包将失败。

  <Warning>
    不允许同时扩展工具和模型。
  </Warning>

  <Warning>
    不允许没有任何扩展。
  </Warning>

  <Warning>
    不允许同时扩展模型和 Endpoints。
  </Warning>

  <Warning>
    目前，每种类型的扩展只支持一个 provider。
  </Warning>

  <ParamField path="tools" type="array[string]">
    [工具](/zh/develop-plugin/dev-guides-and-walkthroughs/tool-plugin) provider 的插件扩展。
  </ParamField>

  <ParamField path="models" type="array[string]">
    [模型](/zh/develop-plugin/features-and-specs/plugin-types/model-designing-rules) provider 的插件扩展。
  </ParamField>

  <ParamField path="endpoints" type="array[string]">
    [Endpoints](/zh/develop-plugin/dev-guides-and-walkthroughs/develop-a-slack-bot-plugin) provider 的插件扩展。
  </ParamField>

  <ParamField path="agent_strategies" type="array[string]">
    [智能体策略](/zh/develop-plugin/features-and-specs/advanced-development/reverse-invocation) provider 的插件扩展。
  </ParamField>
</ParamField>

<ParamField path="meta" type="object" required>
  插件的元数据。

  <ParamField path="version" type="version" required>
    `manifest` 格式版本，初始版本为 `0.0.1`。
  </ParamField>

  <ParamField path="arch" type="array[string]" required>
    支持的架构，目前仅支持 `amd64` 和 `arm64`。
  </ParamField>

  <ParamField path="runner" type="object" required>
    运行时配置。

    <ParamField path="language" type="string" required>
      编程语言。目前仅支持 Python。
    </ParamField>

    <ParamField path="version" type="string" required>
      语言版本，目前仅支持 `3.12`。
    </ParamField>

    <ParamField path="entrypoint" type="string" required>
      程序入口点，在 Python 下应为 `main`。
    </ParamField>
  </ParamField>
</ParamField>

<ParamField path="privacy" type="string">
  指定插件隐私政策文件的相对路径或 URL，例如 `"./privacy.md"` 或 `"https://your-web/privacy"`。如果你计划在 Dify Marketplace 上架插件，**此字段为必填**，以提供清晰的用户数据使用和隐私声明。详细填写指南请参阅[插件隐私数据保护指南](/zh/develop-plugin/publishing/standards/privacy-protection-guidelines)。
</ParamField>

***

[编辑此页面](https://github.com/langgenius/dify-docs/edit/main/en/develop-plugin/features-and-specs/plugin-types/plugin-info-by-manifest.mdx) | [报告问题](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)
