Manifest
Last updated
Last updated
Manifest File A Manifest is a YAML-compliant file that defines the most basic information about a plugin, including but not limited to the plugin name, author, included tools, models, and other information.
If this file's format is incorrect, both the plugin parsing and packaging processes will fail.
Below is a simple example of a Manifest file. The meaning and function of each data element will be explained below. For reference to other plugin codes, please check the .
The version of the plugin is managed by the version
field in manifest file. The version number must be in the format of major.minor.patch
, otherwise, auto-update may dose not work as expected.
version
(version, required): Plugin version
type
(type, required): Plugin type, currently only supports plugin
, will support bundle
in the future
author
(string, required): Author, defined as organization name in Marketplace
label
(label, required): Multi-language names
created_at
(RFC3339, required): Creation time, must not be later than current time for Marketplace
icon
(asset, required): Icon path
resource
(object): Required resources
memory
(int64): Maximum memory usage, mainly related to AWS Lambda resource requests on SaaS, in bytes
permission
(object): Permission requests
tool
(object): Permission for reverse tool calls
enabled
(bool)
model
(object): Permission for reverse model calls
enabled
(bool)
llm
(bool)
text_embedding
(bool)
rerank
(bool)
tts
(bool)
speech2text
(bool)
moderation
(bool)
node
(object): Permission for reverse node calls
enabled
(bool)
endpoint
(object): Permission to register endpoints
enabled
(bool)
app
(object): Permission for reverse app calls
enabled
(bool)
storage
(object): Permission for persistent storage
enabled
(bool)
size
(int64): Maximum allowed persistent memory size in bytes
plugins
(object, required): List of YAML files defining specific plugin capabilities, absolute paths within plugin package
Format
agent_strategies
(list[string]): Extended Agent strategy providers
Limitations
Cannot extend both tools and models simultaneously
Must have at least one extension
Cannot extend both models and Endpoints simultaneously
Currently supports only one provider per extension type
meta
(object)
version
(version, required): Manifest format version, initial version 0.0.1
arch
(list[string], required): Supported architectures, currently only amd64
arm64
runner
(object, required): Runtime configuration
language
(string): Currently only supports python
version
(string): Language version, currently only supports 3.12
entrypoint
(string): Program entry point, should be main
for Python
tools
(list[string]): Extended providers
models
(list[string]): Extended providers
endpoints
(list[string]): Extended providers
privacy
(string, optional): An optional field specifying the relative path or URL to the plugin’s privacy policy file, such as "./privacy.md
" or "https://your-web/privacy"
. If you plan to publish the plugin to the Dify Marketplace, this field is required to provide a clear statement on user data usage and privacy. For more detailed instructions, please refer to the .