YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships
The manifest is a YAML file that defines a plugin’s basic information: name, author, included tools and models, and more. If the file is malformed, plugin parsing and packaging fails.For the overall plugin architecture, see Basic Concepts of Plugin Development and the Developer Cheatsheet.
Code Example
Below is a simple manifest file; each field is explained in the Structure section that follows. For a real-world example, see the Google tool plugin manifest.
Plugin type. Currently only plugin is supported; bundle support is planned.
string
required
Author, defined as the organization name in the Marketplace.
object
required
Multilingual name.
RFC3339
required
Creation time. The Marketplace requires this to be no later than the current time.
string
required
Icon path.
object
Resources the plugin requests.
int64
Maximum memory usage in bytes. Mainly relates to AWS Lambda resource allocation on Dify Cloud.
object
Permissions the plugin requests.
object
Permission for reverse invocation of tools.
boolean
Whether to enable tool permissions.
object
Permission for reverse invocation of models.
boolean
Whether to enable model permissions.
boolean
Whether to enable large language model permissions.
boolean
Whether to enable text embedding model permissions.
boolean
Whether to enable rerank model permissions.
boolean
Whether to enable text-to-speech model permissions.
boolean
Whether to enable speech-to-text model permissions.
boolean
Whether to enable content moderation model permissions.
object
Permission for reverse invocation of nodes.
boolean
Whether to enable node permissions.
object
Permission to register endpoint.
boolean
Whether to enable endpoint permissions.
object
Permission for reverse invocation of app.
boolean
Whether to enable app permissions.
object
Permission to apply for persistent storage.
boolean
Whether to enable storage permissions.
int64
Maximum allowed persistent storage size, in bytes.
object
required
Lists the YAML files for the capabilities the plugin extends, as absolute paths within the plugin package. For example, to extend a model, define a file such as openai.yaml and list its path here. The file must exist at that path, or packaging fails.
The following combinations are not allowed:
Extending both tools and models.
Extending both models and Endpoints.
Having no extensions at all.
Currently, each extension type supports only one provider.
Manifest format version. The initial version is 0.0.1.
array[string]
required
Supported architectures. Currently only amd64 and arm64 are supported.
object
required
Runtime configuration.
string
required
Programming language. Currently only Python is supported.
string
required
Language version. Currently only 3.12 is supported.
string
required
Program entry point. For Python, this should be main.
string
Relative path or URL of the plugin’s privacy policy, for example "./privacy.md" or "https://your-web/privacy". Required for listing on the Dify Marketplace, where plugins must clearly state how they use user data. For details, see the Plugin Privacy Data Protection Guidelines.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Dify Enterprise Docs","colors":{"primary":"#0060FF","light":"#688FE8","dark":"#0034FF"},"logo":{"light":"https://assets-docs.dify.ai/2025/05/d05cfc6ebe48f725d171dc71c64a5d16.svg","dark":"https://assets-docs.dify.ai/2025/05/c51f1cda47c1d9a4a162d7736f6e4c53.svg"},"favicon":"https://mintcdn.com/dify-enterprise-docs/zvhvyUvEpyoIONBf/logo/dify-logo.png?fit=max\u0026auto=format\u0026n=zvhvyUvEpyoIONBf\u0026q=85\u0026s=e0afd8349b7a272ad12280680a53043c","navbar":{"links":[{"href":"mailto:support@dify.ai","label":"Support"}]},"footer":{"socials":{"x":"https://x.com/dify_ai","github":"https://github.com/langgenius/dify","linkedin":"https://www.linkedin.com/company/langgenius"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":"en/3.13.x/deploy/checklist"},{"language":"zh","href":"zh/3.13.x/deploy/checklist"},{"language":"ja","href":"ja/3.13.x/deploy/checklist"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dify-enterprise-docs","hasAudioNarration":false,"actualSubdomain":"dify-enterprise-docs","customDomains":["enterprise-docs.dify.ai"],"gitSource":{"type":"github","owner":"langgenius","repo":"dify-enterprise-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af427f9ab305b91f7cbee03","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"en","tag":"Developer Resources","count":1947},{"language":"ja","tag":"開発者リソース","count":1947},{"language":"zh","tag":"开发者资源","count":1947},{"language":"en","tag":"Use","count":1401},{"language":"ja","tag":"使い方","count":1401},{"language":"zh","tag":"使用","count":1401},{"language":"en","tag":"Workspace API","count":1353},{"language":"ja","tag":"Workspace API","count":1353},{"language":"zh","tag":"Workspace API","count":1353},{"language":"en","tag":"Knowledge APIs","count":639},{"language":"ja","tag":"ナレッジ API","count":639},{"language":"zh","tag":"知识库 API","count":639},{"language":"en","tag":"Orchestrate","count":620},{"language":"ja","tag":"オーケストレーション","count":620},{"language":"zh","tag":"编排","count":620},{"language":"en","tag":"App APIs","count":545},{"language":"ja","tag":"アプリ API","count":545},{"language":"zh","tag":"应用 API","count":545},{"language":"en","tag":"Workflow \u0026 Chatflow","count":533},{"language":"ja","tag":"ワークフローとチャットフロー","count":533},{"language":"zh","tag":"工作流与对话流","count":533},{"language":"en","tag":"Deploy","count":530},{"language":"ja","tag":"デプロイ","count":530},{"language":"zh","tag":"部署","count":530},{"language":"en","tag":"Plugins","count":524},{"language":"ja","tag":"プラグイン開発","count":522},{"language":"zh","tag":"插件开发","count":522},{"language":"ja","tag":"管理","count":470},{"language":"zh","tag":"管理","count":470},{"language":"en","tag":"Administer","count":420}],"searchSettings":{"maxResults":12}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"body{text-autospace:normal}html[data-current-path=\"/\"] .nav-tabs{display:none}"}],"page":{"pagePath":"en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","slug":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","pageMetadata":{"dimensions":{"type":{"primary":"reference","detail":"core"},"level":"beginner"},"standard_title":"Plugin info by Manifest","language":"en","title":"Manifest","description":"YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,ParamField,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The manifest is a YAML file that defines a plugin’s basic information: name, author, included tools and models, and more. If the file is malformed, plugin parsing and packaging fails.`}),`\n`,_jsxs(_components.p,{children:[`For the overall plugin architecture, see `,_jsx(_components.a,{href:`/en/3.13.x/develop/plugins/getting-started/getting-started-dify-plugin`,children:`Basic Concepts of Plugin Development`}),` and the `,_jsx(_components.a,{href:`/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/cheatsheet`,children:`Developer Cheatsheet`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`code-example`,children:`Code Example`}),`\n`,_jsxs(_components.p,{children:[`Below is a simple manifest file; each field is explained in the Structure section that follows. For a real-world example, see the `,_jsx(_components.a,{href:`https://github.com/langgenius/dify-official-plugins/blob/main/tools/google/manifest.yaml`,children:`Google tool plugin manifest`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`36`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`36`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`version`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.0.1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"plugin\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`author`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Yeuoly\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"neko\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`label`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` en_US`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Neko\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`created_at`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-07-12T08:03:44.658609186Z\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`icon`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"icon.svg\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`resource`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` memory`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1048576`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` permission`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` tool`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` enabled`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` model`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` enabled`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` llm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` endpoint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` enabled`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` enabled`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` storage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` enabled`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` size`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1048576`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`plugins`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` endpoints`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"provider/neko.yaml\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`meta`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` version`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.0.1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` arch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"amd64\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"arm64\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` runner`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` language`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"python\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` version`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"3.12\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` entrypoint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"main\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`privacy`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./privacy.md\"`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`structure`,children:`Structure`}),`\n`,_jsx(ParamField,{path:`version`,type:`version`,required:true,id:`param-version`,children:_jsx(_components.p,{children:`Plugin version.`})}),`\n`,_jsx(ParamField,{path:`type`,type:`string`,required:true,id:`param-type`,children:_jsxs(_components.p,{children:[`Plugin type. Currently only `,_jsx(_components.code,{children:`plugin`}),` is supported; `,_jsx(_components.code,{children:`bundle`}),` support is planned.`]})}),`\n`,_jsx(ParamField,{path:`author`,type:`string`,required:true,id:`param-author`,children:_jsx(_components.p,{children:`Author, defined as the organization name in the Marketplace.`})}),`\n`,_jsx(ParamField,{path:`label`,type:`object`,required:true,id:`param-label`,children:_jsx(_components.p,{children:`Multilingual name.`})}),`\n`,_jsx(ParamField,{path:`created_at`,type:`RFC3339`,required:true,id:`param-created-at`,children:_jsx(_components.p,{children:`Creation time. The Marketplace requires this to be no later than the current time.`})}),`\n`,_jsx(ParamField,{path:`icon`,type:`string`,required:true,id:`param-icon`,children:_jsx(_components.p,{children:`Icon path.`})}),`\n`,_jsxs(ParamField,{path:`resource`,type:`object`,id:`param-resource`,children:[_jsx(_components.p,{children:`Resources the plugin requests.`}),_jsx(ParamField,{path:`memory`,type:`int64`,id:`param-memory`,children:_jsx(_components.p,{children:`Maximum memory usage in bytes. Mainly relates to AWS Lambda resource allocation on Dify Cloud.`})}),_jsxs(ParamField,{path:`permission`,type:`object`,id:`param-permission`,children:[_jsx(_components.p,{children:`Permissions the plugin requests.`}),_jsxs(ParamField,{path:`tool`,type:`object`,id:`param-tool`,children:[_jsx(_components.p,{children:`Permission for reverse invocation of tools.`}),_jsx(ParamField,{path:`enabled`,type:`boolean`,id:`param-enabled`,children:_jsx(_components.p,{children:`Whether to enable tool permissions.`})})]}),_jsxs(ParamField,{path:`model`,type:`object`,id:`param-model`,children:[_jsx(_components.p,{children:`Permission for reverse invocation of models.`}),_jsx(ParamField,{path:`enabled`,type:`boolean`,id:`param-enabled-1`,children:_jsx(_components.p,{children:`Whether to enable model permissions.`})}),_jsx(ParamField,{path:`llm`,type:`boolean`,id:`param-llm`,children:_jsx(_components.p,{children:`Whether to enable large language model permissions.`})}),_jsx(ParamField,{path:`text_embedding`,type:`boolean`,id:`param-text-embedding`,children:_jsx(_components.p,{children:`Whether to enable text embedding model permissions.`})}),_jsx(ParamField,{path:`rerank`,type:`boolean`,id:`param-rerank`,children:_jsx(_components.p,{children:`Whether to enable rerank model permissions.`})}),_jsx(ParamField,{path:`tts`,type:`boolean`,id:`param-tts`,children:_jsx(_components.p,{children:`Whether to enable text-to-speech model permissions.`})}),_jsx(ParamField,{path:`speech2text`,type:`boolean`,id:`param-speech2text`,children:_jsx(_components.p,{children:`Whether to enable speech-to-text model permissions.`})}),_jsx(ParamField,{path:`moderation`,type:`boolean`,id:`param-moderation`,children:_jsx(_components.p,{children:`Whether to enable content moderation model permissions.`})})]}),_jsxs(ParamField,{path:`node`,type:`object`,id:`param-node`,children:[_jsx(_components.p,{children:`Permission for reverse invocation of nodes.`}),_jsx(ParamField,{path:`enabled`,type:`boolean`,id:`param-enabled-2`,children:_jsx(_components.p,{children:`Whether to enable node permissions.`})})]}),_jsxs(ParamField,{path:`endpoint`,type:`object`,id:`param-endpoint`,children:[_jsxs(_components.p,{children:[`Permission to register `,_jsx(_components.code,{children:`endpoint`}),`.`]}),_jsx(ParamField,{path:`enabled`,type:`boolean`,id:`param-enabled-3`,children:_jsx(_components.p,{children:`Whether to enable endpoint permissions.`})})]}),_jsxs(ParamField,{path:`app`,type:`object`,id:`param-app`,children:[_jsxs(_components.p,{children:[`Permission for reverse invocation of `,_jsx(_components.code,{children:`app`}),`.`]}),_jsx(ParamField,{path:`enabled`,type:`boolean`,id:`param-enabled-4`,children:_jsx(_components.p,{children:`Whether to enable app permissions.`})})]}),_jsxs(ParamField,{path:`storage`,type:`object`,id:`param-storage`,children:[_jsx(_components.p,{children:`Permission to apply for persistent storage.`}),_jsx(ParamField,{path:`enabled`,type:`boolean`,id:`param-enabled-5`,children:_jsx(_components.p,{children:`Whether to enable storage permissions.`})}),_jsx(ParamField,{path:`size`,type:`int64`,id:`param-size`,children:_jsx(_components.p,{children:`Maximum allowed persistent storage size, in bytes.`})})]})]})]}),`\n`,_jsxs(ParamField,{path:`plugins`,type:`object`,required:true,id:`param-plugins`,children:[_jsxs(_components.p,{children:[`Lists the YAML files for the capabilities the plugin extends, as absolute paths within the plugin package. For example, to extend a model, define a file such as `,_jsx(_components.code,{children:`openai.yaml`}),` and list its path here. The file must exist at that path, or packaging fails.`]}),_jsxs(Warning,{children:[_jsx(_components.p,{children:`The following combinations are not allowed:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Extending both tools and models.`}),`\n`,_jsx(_components.li,{children:`Extending both models and Endpoints.`}),`\n`,_jsx(_components.li,{children:`Having no extensions at all.`}),`\n`]}),_jsx(_components.p,{children:`Currently, each extension type supports only one provider.`})]}),_jsx(ParamField,{path:`tools`,type:`array[string]`,id:`param-tools`,children:_jsxs(_components.p,{children:[`Plugin extension for `,_jsx(_components.a,{href:`/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/tool-plugin`,children:`Tool`}),` providers.`]})}),_jsx(ParamField,{path:`models`,type:`array[string]`,id:`param-models`,children:_jsxs(_components.p,{children:[`Plugin extension for `,_jsx(_components.a,{href:`/en/3.13.x/develop/plugins/features-and-specs/plugin-types/model-designing-rules`,children:`Model`}),` providers.`]})}),_jsx(ParamField,{path:`endpoints`,type:`array[string]`,id:`param-endpoints`,children:_jsxs(_components.p,{children:[`Plugin extension for `,_jsx(_components.a,{href:`/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/develop-a-slack-bot-plugin`,children:`Endpoints`}),` providers.`]})}),_jsx(ParamField,{path:`agent_strategies`,type:`array[string]`,id:`param-agent-strategies`,children:_jsxs(_components.p,{children:[`Plugin extension for `,_jsx(_components.a,{href:`/en/3.13.x/develop/plugins/features-and-specs/advanced-development/reverse-invocation`,children:`Agent Strategy`}),` providers.`]})})]}),`\n`,_jsxs(ParamField,{path:`meta`,type:`object`,required:true,id:`param-meta`,children:[_jsx(_components.p,{children:`Metadata for the plugin.`}),_jsx(ParamField,{path:`version`,type:`version`,required:true,id:`param-version-1`,children:_jsxs(_components.p,{children:[`Manifest format version. The initial version is `,_jsx(_components.code,{children:`0.0.1`}),`.`]})}),_jsx(ParamField,{path:`arch`,type:`array[string]`,required:true,id:`param-arch`,children:_jsxs(_components.p,{children:[`Supported architectures. Currently only `,_jsx(_components.code,{children:`amd64`}),` and `,_jsx(_components.code,{children:`arm64`}),` are supported.`]})}),_jsxs(ParamField,{path:`runner`,type:`object`,required:true,id:`param-runner`,children:[_jsx(_components.p,{children:`Runtime configuration.`}),_jsx(ParamField,{path:`language`,type:`string`,required:true,id:`param-language`,children:_jsx(_components.p,{children:`Programming language. Currently only Python is supported.`})}),_jsx(ParamField,{path:`version`,type:`string`,required:true,id:`param-version-2`,children:_jsxs(_components.p,{children:[`Language version. Currently only `,_jsx(_components.code,{children:`3.12`}),` is supported.`]})}),_jsx(ParamField,{path:`entrypoint`,type:`string`,required:true,id:`param-entrypoint`,children:_jsxs(_components.p,{children:[`Program entry point. For Python, this should be `,_jsx(_components.code,{children:`main`}),`.`]})})]})]}),`\n`,_jsx(ParamField,{path:`privacy`,type:`string`,id:`param-privacy`,children:_jsxs(_components.p,{children:[`Relative path or URL of the plugin’s privacy policy, for example `,_jsx(_components.code,{children:`\"./privacy.md\"`}),` or `,_jsx(_components.code,{children:`\"https://your-web/privacy\"`}),`. `,_jsx(_components.strong,{children:`Required for listing on the Dify Marketplace`}),`, where plugins must clearly state how they use user data. For details, see the `,_jsx(_components.a,{href:`/en/3.13.x/develop/plugins/publishing/standards/privacy-protection-guidelines`,children:`Plugin Privacy Data Protection Guidelines`}),`.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"dimensions":{"type":{"primary":"reference","detail":"core"},"level":"beginner"},"standard_title":"Plugin info by Manifest","language":"en","title":"Manifest","description":"YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Code Example","slug":"code-example","depth":2,"children":[]},{"title":"Structure","slug":"structure","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"dify-enterprise-docs","siteName":"Dify Enterprise Docs","title":"Manifest - Dify Enterprise Docs","navMaps":{"firstHrefInVersion":{"3.13.x":{"href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":0},"3.12.x":{"href":"/en/3.12.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.11.x":{"href":"/en/3.11.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.10.x":{"href":"/en/3.10.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.9.x":{"href":"/en/3.9.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.8.x":{"href":"/en/3.8.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.7.x":{"href":"/en/3.7.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.6.x":{"href":"/en/3.6.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.5.x":{"href":"/en/3.5.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.4.x":{"href":"/en/3.4.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.3.x":{"href":"/en/3.3.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.2.x":{"href":"/en/3.2.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.1.x":{"href":"/en/3.1.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"3.0.x":{"href":"/en/3.0.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"2.8.x":{"href":"/en/2.8.x/deploy/checklist","matchLevel":4},"2.7.x":{"href":"/en/2.7.x/deploy/checklist","matchLevel":4},"2.6.x":{"href":"/en/2.6.x/deploy/checklist","matchLevel":4},"2.5.x":{"href":"/en/2.5.x/deploy/checklist","matchLevel":4}},"firstHrefInLanguage":{"en":{"href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":0},"zh":{"href":"/zh/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1},"ja":{"href":"/ja/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest","matchLevel":1}}},"lastModified":"2026-09-30T04:24:48.281Z","originalFileLocation":"en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dify Enterprise Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Manifest - Dify Enterprise Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dify Enterprise Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dify-enterprise-docs.mintlify.site/_mintlify/api/og/v2?division=Plugin+Types\u0026amp;title=Manifest\u0026amp;description=YAML+schema+for+the+plugin+manifest+that+declares+name%2C+author%2C+runtime%2C+resources%2C+permissions%2C+and+which+tools%2Fmodels%2Fendpoints+the+plugin+ships\u0026amp;theme=e95e546bd9c3a8e3c27c730b\u0026amp;signature=0e40e94459051e1683d197ffa8c816137f5438335e2dd6b11d311b864a6acec6\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Manifest - Dify Enterprise Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dify-enterprise-docs.mintlify.site/_mintlify/api/og/v2?division=Plugin+Types\u0026amp;title=Manifest\u0026amp;description=YAML+schema+for+the+plugin+manifest+that+declares+name%2C+author%2C+runtime%2C+resources%2C+permissions%2C+and+which+tools%2Fmodels%2Fendpoints+the+plugin+ships\u0026amp;theme=e95e546bd9c3a8e3c27c730b\u0026amp;signature=0e40e94459051e1683d197ffa8c816137f5438335e2dd6b11d311b864a6acec6\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dify-enterprise-docs/0-RXGeruZhgwpkgZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dify Enterprise Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0060FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://enterprise-docs.dify.ai/zh/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://enterprise-docs.dify.ai/ja/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://enterprise-docs.dify.ai/#organization\",\"name\":\"Dify Enterprise Docs\",\"url\":\"https://enterprise-docs.dify.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://assets-docs.dify.ai/2025/05/d05cfc6ebe48f725d171dc71c64a5d16.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://enterprise-docs.dify.ai#website\",\"name\":\"Dify Enterprise Docs\",\"url\":\"https://enterprise-docs.dify.ai\",\"publisher\":{\"@id\":\"https://enterprise-docs.dify.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest#webpage\",\"url\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest\",\"name\":\"Manifest\",\"description\":\"YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships\",\"dateModified\":\"2026-09-30T04:24:48.281Z\",\"isPartOf\":{\"@id\":\"https://enterprise-docs.dify.ai#website\"},\"breadcrumb\":{\"@id\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features \u0026 Specs\",\"item\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/general-specifications\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Plugin Types\",\"item\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/general-specifications\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Manifest\",\"item\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest#article\",\"headline\":\"Manifest\",\"name\":\"Manifest\",\"description\":\"YAML schema for the plugin manifest that declares name, author, runtime, resources, permissions, and which tools/models/endpoints the plugin ships\",\"url\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest\",\"mainEntityOfPage\":{\"@id\":\"https://enterprise-docs.dify.ai/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest#webpage\"},\"dateModified\":\"2026-09-30T04:24:48.281Z\",\"publisher\":{\"@id\":\"https://enterprise-docs.dify.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://enterprise-docs.dify.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dify Enterprise Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Dify Enterprise Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest.md","siteName":"Dify Enterprise Docs","nav":{"global":null,"languages":[{"language":"en","default":true,"versions":[{"version":"3.13.x","tag":"LTS","tabs":[{"tab":"Deploy","pages":[{"title":"Deploy","href":"/en/3.13.x/deploy/checklist"}]},{"tab":"Administer","pages":[{"title":"Administer","href":"/en/3.13.x/administer/workspace-management"}]},{"tab":"Use","pages":[{"title":"Use","href":"/en/3.13.x/use/build/workflow-chatflow"}]},{"tab":"Developer Resources","menu":[{"item":"Workspace API","pages":[{"title":"Workspace API","href":"/en/3.13.x/develop/api/guides/get-started"}]},{"item":"CLI","pages":[{"title":"CLI","href":"/en/3.13.x/develop/cli/introduction"}]},{"item":"Plugins","groups":[{"group":"Getting Started","icon":"rocket","pages":[{"title":"Dify Plugin","href":"/en/3.13.x/develop/plugins/getting-started/getting-started-dify-plugin"},{"title":"Choose a Plugin Type","href":"/en/3.13.x/develop/plugins/getting-started/choose-plugin-type"},{"title":"Dify Plugin CLI","href":"/en/3.13.x/develop/plugins/getting-started/cli"}]},{"group":"Features \u0026 Specs","icon":"list-check","pages":[{"group":"Plugin Types","pages":[{"title":"General Specs","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/general-specifications"},{"title":"Model Specs","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/model-designing-rules"},{"title":"Model API Interface","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/model-schema"},{"title":"Persistent Storage","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/persistent-storage-kv"},{"title":"Tool Return","description":"How tool plugins return messages (text, links, images, files, JSON), create standard and streaming variables, and define output schemas for workflow references","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/tool"},{"title":"Manifest","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"},{"title":"Multilingual README","description":"Add per-language README files so Dify Marketplace shows your plugin's documentation in each user's preferred language","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/multilingual-readme"},{"title":"Plugin Debugging","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/remote-debug-a-plugin"},{"title":"Plugin Logging","href":"/en/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-logging"}]},{"group":"Advanced Development","pages":[{"group":"Reverse Calling","pages":[{"title":"Bundle Plugin Package","href":"/en/3.13.x/develop/plugins/features-and-specs/advanced-development/bundle"},{"title":"Reverse Invocation of Dify Services","href":"/en/3.13.x/develop/plugins/features-and-specs/advanced-development/reverse-invocation"},{"title":"App","href":"/en/3.13.x/develop/plugins/features-and-specs/advanced-development/reverse-invocation-app"},{"title":"Reverse Invocation Model","href":"/en/3.13.x/develop/plugins/features-and-specs/advanced-development/reverse-invocation-model"},{"title":"Tool","href":"/en/3.13.x/develop/plugins/features-and-specs/advanced-development/reverse-invocation-tool"},{"title":"Integrate Custom Models","href":"/en/3.13.x/develop/plugins/features-and-specs/advanced-development/customizable-model"},{"title":"Node","href":"/en/3.13.x/develop/plugins/features-and-specs/advanced-development/reverse-invocation-node"}]}]}]},{"group":"Development Guides \u0026 Walkthroughs","icon":"code","pages":[{"title":"Cheatsheet","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/cheatsheet"},{"group":"By Plugin Type","pages":[{"title":"Tool Plugin","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/tool-plugin"},{"title":"Tool OAuth","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/tool-oauth"},{"title":"Model Provider Plugin","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/creating-new-model-provider"},{"title":"Agent Strategy Plugin","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/agent-strategy-plugin"},{"title":"Data Source Plugin","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/datasource-plugin"},{"title":"Trigger Plugin","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/trigger-plugin"},{"title":"Endpoint Plugin","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/endpoint"}]},{"group":"Full Walkthroughs","pages":[{"title":"Flomo Tool (10-min)","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/develop-flomo-plugin"},{"title":"Slack Bot","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/develop-a-slack-bot-plugin"},{"title":"Markdown Exporter","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/develop-md-exporter"},{"title":"Multimodal Tool","href":"/en/3.13.x/develop/plugins/dev-guides-and-walkthroughs/develop-multimodal-data-processing-tool"}]}]},{"group":"Publishing","icon":"upload","pages":[{"title":"Publish Plugins","href":"/en/3.13.x/develop/plugins/publishing/marketplace-listing/release-overview"},{"group":"Standards","pages":[{"title":"Plugin Development Guidelines","href":"/en/3.13.x/develop/plugins/publishing/standards/contributor-covenant-code-of-conduct"},{"title":"Privacy Guidelines","href":"/en/3.13.x/develop/plugins/publishing/standards/privacy-protection-guidelines"}]},{"title":"Publish a Plugin to Marketplace","sidebarTitle":"Marketplace","href":"/en/3.13.x/develop/plugins/publishing/marketplace-listing/submit-plugin-to-marketplace"},{"group":"GitHub Repository","pages":[{"title":"Publish to Individual GitHub Repository","href":"/en/3.13.x/develop/plugins/publishing/marketplace-listing/release-to-individual-github-repo"}]},{"group":"Local File","pages":[{"title":"Package as Local File and Share","href":"/en/3.13.x/develop/plugins/publishing/marketplace-listing/release-by-file"},{"title":"Sign Plugins for Third-Party Signature Verification","href":"/en/3.13.x/develop/plugins/publishing/standards/third-party-signature-verification"}]},{"title":"Frequently Asked Questions","sidebarTitle":"FAQ","href":"/en/3.13.x/develop/plugins/publishing/faq/faq"}]}]}]}]},{"version":"3.12.x","pages":[{"title":"3.12.x","href":"/en/3.12.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.11.x","pages":[{"title":"3.11.x","href":"/en/3.11.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.10.x","pages":[{"title":"3.10.x","href":"/en/3.10.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.9.x","tag":"LTS","pages":[{"title":"3.9.x","href":"/en/3.9.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.8.x","pages":[{"title":"3.8.x","href":"/en/3.8.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.7.x","pages":[{"title":"3.7.x","href":"/en/3.7.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.6.x","pages":[{"title":"3.6.x","href":"/en/3.6.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.5.x","pages":[{"title":"3.5.x","href":"/en/3.5.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.4.x","pages":[{"title":"3.4.x","href":"/en/3.4.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.3.x","pages":[{"title":"3.3.x","href":"/en/3.3.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.2.x","pages":[{"title":"3.2.x","href":"/en/3.2.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.1.x","pages":[{"title":"3.1.x","href":"/en/3.1.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"3.0.x","pages":[{"title":"3.0.x","href":"/en/3.0.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"version":"2.8.x","pages":[{"title":"2.8.x","href":"/en/2.8.x/deploy/checklist"}]},{"version":"2.7.x","pages":[{"title":"2.7.x","href":"/en/2.7.x/deploy/checklist"}]},{"version":"2.6.x","pages":[{"title":"2.6.x","href":"/en/2.6.x/deploy/checklist"}]},{"version":"2.5.x","pages":[{"title":"2.5.x","href":"/en/2.5.x/deploy/checklist"}]}]},{"language":"zh","pages":[{"title":"zh","href":"/zh/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/3.13.x/develop/plugins/features-and-specs/plugin-types/plugin-info-by-manifest"}]}]},"basePath":"","title":"Manifest - Dify Enterprise Docs","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}