Path Specifications
File paths in the manifest or any YAML file follow two rules, depending on the file type:- Multimedia files such as images and videos (for example, the plugin’s
icon) go in the_assetsfolder under the plugin’s root directory. - Regular text files, such as
.pyor.yamlcode files, are referenced by their absolute path within the plugin project.
Common Structures
Some data structures are shared between tools, models, and Endpoints. They are defined here.I18nObject
I18nObject is an internationalization structure that conforms to the IETF BCP 47 standard. Four languages are supported:
English (United States).
Simplified Chinese.
Japanese.
Portuguese (Brazil).
ProviderConfig
ProviderConfig is a common provider form structure used by both Tool and Endpoint.
Form item name.
Display labels, following the IETF BCP 47 standard.
Form field type. Determines how the field is rendered in the UI.
Optional range specification. Varies based on the value of
type.Whether the field must not be empty.
Default value. Only supports basic types:
float, int, string.Available options. Only used when
type is select.Help document link label, following IETF BCP 47.
Help document link.
Placeholder text in multiple languages, following IETF BCP 47.
ProviderConfigOption (object)
Option value.
Option display label, following IETF BCP 47.
ProviderConfigType (string)
Configuration information that will be encrypted.
Plain text input field.
Dropdown selection field.
Switch/toggle control.
Model configuration selector, including provider name, model name, and model parameters.
Application ID selector.
Tool configuration selector, including tool provider, name, and parameters.
Dataset selector (TBD).
ProviderConfigScope (string)
Whentype is model-selector:
All model types.
Large language models only.
Text embedding models only.
Reranking models only.
Text-to-speech models only.
Speech-to-text models only.
Content moderation models only.
Vision models only.
type is app-selector:
All application types.
Chat applications only.
Workflow applications only.
Completion applications only.
type is tool-selector:
All tool types.
Plugin tools only.
API tools only.
Workflow tools only.
ModelConfig
Model provider name containing the
plugin_id, in the form langgenius/openai/openai.Specific model name.
Model type enumeration; see Model Design Rules.
NodeResponse
Variables ultimately passed into the node.
Output results of the node.
Data generated during node execution.
ToolSelector
Tool provider name.
Tool name.
Tool description.
Tool configuration information.
Related Resources
- Basic Concepts of Plugin Development—an overview of Dify plugin development
- Developer Cheatsheet—quick reference for common commands and concepts
- Tool Plugin Development Details—defining plugin information and the tool plugin development process
- Model Design Rules—standards for model configuration
Edit this page | Report an issue