Dify Plugin SDK Schema Documentation
Table of Contents
- Manifest
- PluginResourceRequirements
- PluginType
- Plugins
- Meta
- FetchFrom
- ModelFieldModelSchema
- ToolLabelEnum
- ToolSelectorScope
- AgentStrategyProviderExtra
- Python
- ProviderModel
- DefaultParameterName
- EventDescription
- AgentStrategyProvider
- AgentStrategy
- AgentStrategyProviderIdentity
- EventParameter
- EventParameterOption
- EndpointGroup
- Endpoint
- Variables
- ModelFeature
- CommonParameterType
- ToolProvider
- ToolProviderIdentity
- ToolProviderExtra
- Tool
- OAuthSchema
- ToolParameterOption
- ModelFormShowOnObject
- ModelProvider
- ModelProviderExtra
- ModelProviderCredentialSchema
- ModelConfigurateMethod
- AIModelEntity
- ModelPosition
- ModelProviderHelp
- DatasourceProvider
- Datasource
- DatasourceProviderType
- DatasourceProviderIdentity
- DatasourceProviderExtra
- PluginProviderType
- ParameterAutoGenerate
- AppSelectorScope
- ModelType
- ProviderConfig
- ConfigOption
- ModelPropertyKey
- TriggerProvider
- TriggerSubscriptionConstructor
- TriggerProviderIdentity
- EventConfiguration
- TriggerProviderConfigurationExtra
- ParameterTemplate
- ModelConfigScope
- Subscription
- UnsubscribeResult
- I18nObject
Manifest
The Manifest of the plugin
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| version | str | |||
| type | PluginType | |||
| author | str | None | ||
| name | str | pattern='^[a-z0-9_-]{1,128}$' | ||
| repo | str | None | The repository URL of the plugin | None |
| description | I18nObject | |||
| icon | str | |||
| icon_dark | str | None | The dark mode icon of the plugin | None |
| created_at | datetime | |||
| resource | PluginResourceRequirements | |||
| plugins | Plugins | |||
| meta | Meta |
DatasourceIdentity
Identity of datasource entity
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| author | str | The author of the datasource | ||
| name | str | The name of the datasource | ||
| icon | str | None | None |
ModelConfigurateMethod
Values
PREDEFINED_MODEL: predefined-modelCUSTOMIZABLE_MODEL: customizable-model
Permission
Permission of plugin
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| tool | dify_plugin.core.entities.plugin.setup.PluginResourceRequirements.Permission.Tool | None | Permission of tool | None |
| model | dify_plugin.core.entities.plugin.setup.PluginResourceRequirements.Permission.Model | None | Permission of model | None |
| node | dify_plugin.core.entities.plugin.setup.PluginResourceRequirements.Permission.Node | None | Permission of node | None |
| endpoint | dify_plugin.core.entities.plugin.setup.PluginResourceRequirements.Permission.Endpoint | None | Permission of endpoint | None |
| app | dify_plugin.core.entities.plugin.setup.PluginResourceRequirements.Permission.App | None | Permission of app | None |
| storage | dify_plugin.core.entities.plugin.setup.PluginResourceRequirements.Permission.Storage | None | Permission of storage | None |
ModelFormOption
Form option
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| value | str | |||
| show_on | list[ModelFormShowOnObject] |
ParameterOption
The option of the parameter
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| value | str | The value of the option | ||
| icon | str | None | The icon of the option, can be a URL or a base64 encoded string | None |
EventParameterOption
The option of the event parameter
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| value | str | The value of the option | ||
| icon | str | None | The icon of the option, can be a URL or a base64 encoded string | None |
FetchFrom
Values
PREDEFINED_MODEL: predefined-modelCUSTOMIZABLE_MODEL: customizable-model
ModelFieldModelSchema
Field model schema
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| placeholder | dify_plugin.entities.I18nObject | None | None |
ToolLabelEnum
Values
SEARCH: searchIMAGE: imageVIDEOS: videosWEATHER: weatherFINANCE: financeDESIGN: designTRAVEL: travelSOCIAL: socialNEWS: newsMEDICAL: medicalPRODUCTIVITY: productivityEDUCATION: educationBUSINESS: businessENTERTAINMENT: entertainmentUTILITIES: utilitiesRAG: ragOTHER: other
AgentStrategyProviderIdentity
The identity of the agent strategy provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| author | str | The author of the tool | ||
| name | str | The name of the tool | ||
| icon | str | The icon of the tool | ||
| icon_dark | str | None | The dark mode icon of the tool | None |
| tags | list[ToolLabelEnum] | The tags of the tool | [] |
ModelPosition
Model position
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| llm | list[str] | None | Sorts of llm model in ascending order, fill model name here | |
| text_embedding | list[str] | None | Sorts of text embedding model in ascending order, fill model name here | |
| rerank | list[str] | None | Sorts of rerank model in ascending order, fill model name here | |
| tts | list[str] | None | Sorts of tts model in ascending order, fill model name here | |
| speech2text | list[str] | None | Sorts of speech2text model in ascending order, fill model name here | |
| moderation | list[str] | None | Sorts of moderation model in ascending order, fill model name here |
AgentStrategyExtra
The extra of the agent strategy
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
PluginRunner
Runner of plugin
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| language | PluginLanguage | |||
| version | str | |||
| entrypoint | str |
PluginLanguage
Values
PYTHON: python
Storage
Permission of storage
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| enabled | bool | None | Whether to enable uses of storage | False |
| size | int | Size of storage | 1048576 | Ge(ge=1024) Le(le=1073741824) |
ToolSelectorScope
Values
ALL: allPLUGIN: pluginAPI: apiWORKFLOW: workflow
ModelFormType
Values
TEXT_INPUT: text-inputSECRET_INPUT: secret-inputSELECT: selectRADIO: radioSWITCH: switch
ToolDescription
The description of the tool
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| llm | str | The description presented to the LLM |
Plugins
Extensions of plugin
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| tools | list[str] | manifest paths of tool providers in yaml format, refers to ToolProvider | ||
| models | list[str] | manifest paths of model providers in yaml format, refers to ModelProvider | ||
| endpoints | list[str] | manifest paths of endpoint groups in yaml format, refers to EndpointGroup | ||
| agent_strategies | list[str] | manifest paths of agent strategy providers in yaml format,refers to AgentStrategyProvider | ||
| datasources | list[str] | manifest paths of datasource providers in yaml format refers to DatasourceProvider | ||
| triggers | list[str] | manifest paths of trigger providers in yaml format, refers to TriggerProvider |
TriggerSubscriptionConstructorConfigurationExtra
The subscription constructor configuration of the trigger provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
PluginResourceRequirements
Resource requirements of plugin
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| memory | int | |||
| permission | dify_plugin.core.entities.plugin.setup.PluginResourceRequirements.Permission | None | Permission of plugin | None |
AgentStrategy
The Manifest of the agent strategy
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| identity | AgentStrategyIdentity | |||
| parameters | list[AgentStrategyParameter] | The parameters of the agent | [] | |
| extra | AgentStrategyExtra | |||
| has_runtime_parameters | bool | Whether the tool has runtime parameters | False | |
| output_schema | collections.abc.Mapping[str, typing.Any] | None | None | |
| features | list[AgentStrategyFeature] | The features of the agent | [] |
ToolExtra
The extra of the tool
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
AgentStrategyProviderExtra
The extra of the agent provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
ProviderModel
The provider model
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| model | str | The model name | ||
| model_type | ModelType | The model type | ||
| features | list[dify_plugin.entities.model.ModelFeature] | None | The features of the model | None |
| fetch_from | FetchFrom | The fetch from | FetchFrom.PREDEFINED_MODEL | |
| model_properties | dict[ModelPropertyKey, Any] | The model properties | ||
| deprecated | bool | Whether the model is deprecated | False |
Tool
The manifest of the tool
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| identity | ToolIdentity | |||
| parameters | list[ToolParameter] | The parameters of the tool | [] | |
| description | ToolDescription | |||
| extra | ToolExtra | |||
| has_runtime_parameters | bool | Whether the tool has runtime parameters | False | |
| output_schema | collections.abc.Mapping[str, typing.Any] | None | None |
Python
The python configuration for event
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| source | str | The source file path for the event implementation |
TriggerSubscriptionConstructor
Configuration for a trigger subscription constructor
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| parameters | list[EventParameter] | The user input parameters required to create a subscription | ||
| credentials_schema | list[ProviderConfig] | The credentials schema required by the subscription constructor | ||
| oauth_schema | dify_plugin.entities.oauth.OAuthSchema | None | The OAuth schema of the subscription constructor if OAuth is supported | None |
| extra | dify_plugin.entities.trigger.TriggerSubscriptionConstructorConfigurationExtra | None | Extra metadata for locating the constructor implementation | None |
EndpointExtra
The extra of the endpoint
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
Endpoint
The Manifest of the endpoint
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| path | str | |||
| method | str | |||
| hidden | bool | Whether to hide this endpoint in the UI | False | |
| extra | EndpointExtra |
DatasourceProviderIdentity
Identity of datasource provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| author | str | The author of the datasource | ||
| name | str | The name of the datasource | ||
| icon | str | The icon of the datasource | ||
| tags | list[dify_plugin.entities.datasource_manifest.DatasourceLabelEnum] | None | The tags of the datasource | [] |
DatasourceParameter
Parameter of datasource entity
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| name | str | The name of the parameter | ||
| placeholder | dify_plugin.entities.I18nObject | None | The placeholder presented to the user | None |
| scope | str | None | None | |
| auto_generate | dify_plugin.entities.ParameterAutoGenerate | None | None | |
| template | dify_plugin.entities.ParameterTemplate | None | None | |
| required | bool | False | ||
| default | Union[int, float, str, NoneType] | None | ||
| min | Union[float, int, NoneType] | None | ||
| max | Union[float, int, NoneType] | None | ||
| precision | int | None | None | |
| options | list[ParameterOption] | |||
| type | DatasourceParameterType | The type of the parameter |
ParameterTemplate
The template of the parameter
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| enabled | bool | Whether the parameter is jinja enabled |
ToolIdentity
The identity of the tool
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| author | str | The author of the tool | ||
| name | str | The name of the tool |
ToolParameter
The type of the parameter
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| name | str | The name of the parameter | ||
| type | ToolParameterType | The type of the parameter | ||
| auto_generate | dify_plugin.entities.tool.ParameterAutoGenerate | None | The auto generate of the parameter | None |
| template | dify_plugin.entities.tool.ParameterTemplate | None | The template of the parameter | None |
| scope | str | None | None | |
| form | ToolParameterForm | The form of the parameter, schema/form/llm | ||
| llm_description | str | None | None | |
| required | bool | None | False | |
| default | Union[int, float, str, NoneType] | None | ||
| min | Union[float, int, NoneType] | None | ||
| max | Union[float, int, NoneType] | None | ||
| precision | int | None | None | |
| options | list[dify_plugin.entities.tool.ToolParameterOption] | None | None | |
| input_schema | collections.abc.Mapping[str, typing.Any] | None | None |
DefaultParameterName
Values
TEMPERATURE: temperatureTOP_P: top_pTOP_K: top_kPRESENCE_PENALTY: presence_penaltyFREQUENCY_PENALTY: frequency_penaltyMAX_TOKENS: max_tokensRESPONSE_FORMAT: response_formatJSON_SCHEMA: json_schema
PriceConfig
The price config
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| input | Decimal | Input price | ||
| output | decimal.Decimal | None | Output price | None |
| unit | Decimal | Unit, e.g. 0.0001 -> per 10000 tokens | ||
| currency | str | Currency, e.g. USD |
Tool
Permission of tool
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| enabled | bool | None | False |
EventDescription
The description of an event
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
ModelCredentialFormSchema
Credential form schema
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| variable | str | |||
| type | ModelFormType | |||
| required | bool | True | ||
| default | str | None | None | |
| options | list[dify_plugin.entities.model.provider.FormOption] | None | None | |
| placeholder | dify_plugin.entities.I18nObject | None | None | |
| max_length | int | 0 | ||
| show_on | list[ModelFormShowOnObject] |
Python
The python configuration for trigger provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| source | str | The source file path for the trigger provider implementation |
AgentStrategyProvider
The Manifest of the agent strategy provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| identity | AgentStrategyProviderIdentity | |||
| strategies | list[str] | The strategies of the agent provider | [] |
EventParameter
The type of the parameter
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| name | str | The name of the parameter | ||
| type | EventParameterType | The type of the parameter | ||
| auto_generate | dify_plugin.entities.tool.ParameterAutoGenerate | None | The auto generate of the parameter | None |
| template | dify_plugin.entities.tool.ParameterTemplate | None | The template of the parameter | None |
| scope | str | None | None | |
| required | bool | None | False | |
| multiple | bool | None | Whether the parameter is multiple select, only valid for select or dynamic-select type | False |
| default | Union[int, float, str, list, NoneType] | None | ||
| min | Union[float, int, NoneType] | None | ||
| max | Union[float, int, NoneType] | None | ||
| precision | int | None | None | |
| options | list[dify_plugin.entities.trigger.EventParameterOption] | None | None | |
| description | dify_plugin.entities.I18nObject | None | None |
EndpointGroup
The Manifest of the endpoint group
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| settings | list[ProviderConfig] | |||
| endpoints | list[str] | Paths to yaml files that will be loaded as Endpoint |
Variables
The structured output variables from an event
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| variables | collections.abc.Mapping[str, typing.Any] | The output variables of the event, same with the schema defined in output_schema in the YAML |
ParameterType
Values
FLOAT: floatINT: intSTRING: stringBOOLEAN: booleanTEXT: text
EventIdentity
The identity of an event
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| author | str | The author of the event | ||
| name | str | The name of the event |
ModelFeature
Values
TOOL_CALL: tool-callMULTI_TOOL_CALL: multi-tool-callAGENT_THOUGHT: agent-thoughtVISION: visionSTREAM_TOOL_CALL: stream-tool-callDOCUMENT: documentVIDEO: videoAUDIO: audioSTRUCTURED_OUTPUT: structured-output
CommonParameterType
Values
SECRET_INPUT: secret-inputTEXT_INPUT: text-inputSELECT: selectSTRING: stringNUMBER: numberFILE: fileFILES: filesBOOLEAN: booleanCHECKBOX: checkboxAPP_SELECTOR: app-selectorMODEL_SELECTOR: model-selectorTOOLS_SELECTOR: array[tools]ANY: anyOBJECT: objectARRAY: arrayDYNAMIC_SELECT: dynamic-select
ToolProvider
The Manifest of the tool provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| identity | ToolProviderIdentity | |||
| credentials_schema | list[ProviderConfig] | The credentials schema of the tool provider | ||
| oauth_schema | dify_plugin.entities.oauth.OAuthSchema | None | The OAuth schema of the tool provider if OAuth is supported | None |
| tools | list[str] | The tools of the tool provider | [] | |
| extra | ToolProviderExtra |
OAuthSchema
The schema of the OAuth
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| client_schema | collections.abc.Sequence[dify_plugin.entities.provider_config.ProviderConfig] | The schema of the OAuth client | ||
| credentials_schema | collections.abc.Sequence[dify_plugin.entities.provider_config.ProviderConfig] | The schema of the OAuth credentials |
ModelProviderHelp
Model provider help
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
AgentStrategyParameter
The parameter of the agent strategy
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| name | str | The name of the parameter | ||
| help | dify_plugin.entities.I18nObject | None | None | |
| type | ToolParameterType | The type of the parameter | ||
| auto_generate | dify_plugin.entities.tool.ParameterAutoGenerate | None | The auto generate of the parameter | None |
| template | dify_plugin.entities.tool.ParameterTemplate | None | The template of the parameter | None |
| scope | str | None | None | |
| required | bool | None | False | |
| default | Union[int, float, str, NoneType] | None | ||
| min | Union[float, int, NoneType] | None | ||
| max | Union[float, int, NoneType] | None | ||
| precision | int | None | None | |
| options | list[dify_plugin.entities.tool.ToolParameterOption] | None | None |
ToolParameterOption
The option of the tool parameter
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| value | str | The value of the option | ||
| icon | str | None | The icon of the option, can be a URL or a base64 encoded string | None |
ModelFormShowOnObject
Form show on
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| variable | str | |||
| value | str |
PluginType
Values
Plugin: plugin
ToolProviderExtra
The extra of the tool provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
DatasourceProviderType
Values
ONLINE_DOCUMENT: online_documentWEBSITE_CRAWL: website_crawlONLINE_DRIVE: online_drive
ModelProvider
Model provider configuration
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| provider | str | |||
| description | dify_plugin.entities.I18nObject | None | None | |
| icon_small | dify_plugin.entities.I18nObject | None | None | |
| icon_large | dify_plugin.entities.I18nObject | None | None | |
| background | str | None | None | |
| help | dify_plugin.entities.model.provider.ProviderHelpEntity | None | None | |
| supported_model_types | collections.abc.Sequence[dify_plugin.entities.model.ModelType] | |||
| configurate_methods | list[ModelConfigurateMethod] | |||
| models | list[str] | Paths to yaml files that will be loaded as AIModelEntity | ||
| provider_credential_schema | dify_plugin.entities.model.provider.ProviderCredentialSchema | None | None | |
| model_credential_schema | dify_plugin.entities.model.provider.ModelCredentialSchema | None | None | |
| position | dify_plugin.entities.model.provider.ModelPosition | None | None | |
| extra | ModelProviderExtra |
DatasourceProvider
Manifest of datasource providers
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| identity | DatasourceProviderIdentity | The identity of the datasource provider | ||
| credentials_schema | list[ProviderConfig] | The credentials schema of the datasource provider | ||
| oauth_schema | dify_plugin.entities.oauth.OAuthSchema | None | The OAuth schema of the datasource provider if OAuth is supported | None |
| provider_type | DatasourceProviderType | The type of the datasource provider | ||
| datasources | list[str] | The datasources of the datasource provider | ||
| extra | DatasourceProviderExtra | The extra of the datasource provider |
Python
The extra of the agent strategy
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| source | str |
AgentStrategyFeature
Values
HISTORY_MESSAGES: history-messages
EventConfiguration
The configuration of an event
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| identity | EventIdentity | The identity of the event | ||
| parameters | list[EventParameter] | The parameters of the event | ||
| extra | EventConfigurationExtra | The extra configuration of the event | ||
| output_schema | collections.abc.Mapping[str, typing.Any] | None | The output schema that this event produces | None |
ModelProviderCredentialSchema
Model provider credential schema
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| credential_form_schemas | list[ModelCredentialFormSchema] |
Python
The python configuration for trigger subscription constructor
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| source | str | The source file path for the constructor implementation |
ToolProviderIdentity
The identity of the tool provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| author | str | The author of the tool | ||
| name | str | The name of the tool | ||
| icon | str | The icon of the tool | ||
| icon_dark | str | None | The dark mode icon of the tool | None |
| tags | list[ToolLabelEnum] | The tags of the tool | [] |
ParameterRule
The parameter rule of the model
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| name | str | The name of the parameter | ||
| use_template | str | None | The template of the parameter | None |
| type | ParameterType | The type of the parameter | ||
| help | dify_plugin.entities.I18nObject | None | The help of the parameter | None |
| required | bool | Whether the parameter is required | False | |
| default | typing.Any | None | The default value of the parameter | None |
| min | float | None | The minimum value of the parameter | None |
| max | float | None | The maximum value of the parameter | None |
| precision | int | None | The precision of the parameter | None |
| options | list[str] | The options of the parameter | [] |
ConfigOption
The option of the credentials
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| value | str | The value of the option |
Python
The extra of the agent provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| source | str |
ParameterAutoGenerate
The auto generate of the parameter
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| type | Type |
DatasourceProviderExtra
The extra of the datasource provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
PluginProviderType
Values
Tool: toolModel: modelEndpoint: endpoint
ParameterAutoGenerate
The auto generate of the parameter
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| type | Type |
AppSelectorScope
Values
ALL: allCHAT: chatWORKFLOW: workflowCOMPLETION: completion
AIModelEntity
AI model entity
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| model | str | The model name | ||
| model_type | ModelType | The model type | ||
| features | list[dify_plugin.entities.model.ModelFeature] | None | The features of the model | None |
| fetch_from | FetchFrom | The fetch from | FetchFrom.PREDEFINED_MODEL | |
| model_properties | dict[ModelPropertyKey, Any] | The model properties | ||
| deprecated | bool | Whether the model is deprecated | False | |
| parameter_rules | list[ParameterRule] | [] | ||
| pricing | dify_plugin.entities.model.PriceConfig | None | None |
ModelType
Values
LLM: llmTEXT_EMBEDDING: text-embeddingRERANK: rerankSPEECH2TEXT: speech2textMODERATION: moderationTTS: ttsTEXT2IMG: text2img
ProviderConfig
A common config schema
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| name | str | The name of the credentials | ||
| type | Config | The type of the credentials | ||
| scope | str | None | None | |
| required | bool | False | ||
| default | Union[int, float, str, bool, list, NoneType] | None | ||
| options | list[dify_plugin.entities.provider_config.ConfigOption] | None | None | |
| multiple | bool | None | False | |
| help | dify_plugin.entities.I18nObject | None | None | |
| url | str | None | None | |
| placeholder | dify_plugin.entities.I18nObject | None | None |
EventConfigurationExtra
The extra configuration for an event
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
ModelPropertyKey
Values
MODE: modeCONTEXT_SIZE: context_sizeMAX_CHUNKS: max_chunksFILE_UPLOAD_LIMIT: file_upload_limitSUPPORTED_FILE_EXTENSIONS: supported_file_extensionsMAX_CHARACTERS_PER_CHUNK: max_characters_per_chunkDEFAULT_VOICE: default_voiceVOICES: voicesWORD_LIMIT: word_limitAUDIO_TYPE: audio_typeMAX_WORKERS: max_workers
DatasourceLabelEnum
Values
SEARCH: searchIMAGE: imageVIDEOS: videosWEATHER: weatherFINANCE: financeDESIGN: designTRAVEL: travelSOCIAL: socialNEWS: newsMEDICAL: medicalPRODUCTIVITY: productivityEDUCATION: educationBUSINESS: businessENTERTAINMENT: entertainmentUTILITIES: utilitiesOTHER: other
ModelProviderExtra
Model provider configuration extra
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
TriggerProvider
The configuration of a trigger provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| identity | TriggerProviderIdentity | The identity of the trigger provider | ||
| subscription_schema | list[ProviderConfig] | The credentials schema of the trigger provider | ||
| subscription_constructor | dify_plugin.entities.trigger.TriggerSubscriptionConstructorConfiguration | None | The configuration of the trigger subscription constructor | None |
| events | list[str] | The Events of the trigger | [] | |
| extra | TriggerProviderConfigurationExtra | The extra configuration of the trigger provider |
ParameterTemplate
The template of the parameter
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| enabled | bool | Whether the parameter is jinja enabled |
Model
Permission of model
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| enabled | bool | None | Whether to enable invocation of model | False |
| llm | bool | None | Whether to enable invocation of llm | False |
| text_embedding | bool | None | Whether to enable invocation of text embedding | False |
| rerank | bool | None | Whether to enable invocation of rerank | False |
| tts | bool | None | Whether to enable invocation of tts | False |
| speech2text | bool | None | Whether to enable invocation of speech2text | False |
| moderation | bool | None | Whether to enable invocation of moderation | False |
Meta
Meta information of plugin
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| version | str | The version of the manifest specification, designed for backward compatibility,when installing an older plugin to a newer Dify, it's hard to ensure breaking changes never happen, but at least, Dify can detect it by this field, it knows which version of the manifest is supported. | ||
| arch | list[PluginArch] | |||
| runner | PluginRunner | |||
| minimum_dify_version | str | None | The minimum version of Dify, designed for forward compatibility.When installing a newer plugin to an older Dify, many new features may not be available,but showing the minimum Dify version helps users understand how to upgrade. | None |
App
Permission of app
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| enabled | bool | None | Whether to enable invocation of app | False |
TriggerProviderConfigurationExtra
The extra configuration for trigger provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
AgentStrategyIdentity
The identity of the agent strategy
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| author | str | The author of the tool | ||
| name | str | The name of the tool |
Node
Permission of node
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| enabled | bool | None | Whether to enable invocation of node | False |
TriggerProviderIdentity
The identity of the trigger provider
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| author | str | The author of the trigger provider | ||
| name | str | The name of the trigger provider | ||
| icon | str | None | The icon of the trigger provider | None |
| icon_dark | str | None | The dark mode icon of the trigger provider | None |
| tags | list[EventLabelEnum] | The tags of the trigger provider |
DatasourceEntityExtra
The extra of the datasource entity
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| python | Python |
Datasource
Datasource entity
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| identity | DatasourceIdentity | |||
| parameters | list[DatasourceParameter] | |||
| output_schema | dict[str, Any] | Output schema definition | ||
| extra | DatasourceEntityExtra |
ModelConfigScope
Values
LLM: llmTEXT_EMBEDDING: text-embeddingRERANK: rerankTTS: ttsSPEECH2TEXT: speech2textMODERATION: moderationVISION: vision
Subscription
Result of a successful trigger subscription operation
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| expires_at | int | The timestamp when the subscription will expire, used for refreshing the subscription. Set to -1 if the subscription does not expire | -1 | |
| endpoint | str | The webhook endpoint URL allocated by Dify for receiving events | ||
| parameters | collections.abc.Mapping[str, typing.Any] | None | The parameters of the subscription, only available when the subscription is created by the trigger subscription constructor | None |
| properties | collections.abc.Mapping[str, typing.Any] | The necessary information for this subscription, e.g., external_id, events, repository, etc. These properties are defined in subscription_schema in the provider's YAML |
UnsubscribeResult
Result of a trigger unsubscription operation
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| success | bool | Whether the unsubscribe was successful | ||
| message | str | None | Human-readable message about the operation result. Success message for successful operations, detailed error information for failures. | None |
I18nObject
Common i18n object
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| zh_Hans | str | None | None | |
| pt_BR | str | None | None | |
| ja_JP | str | None | None | |
| en_US | str |
Endpoint
Permission of endpoint
Fields
| Name | Type | Description | Default | Extra |
|---|---|---|---|---|
| enabled | bool | None | Whether to enable registration of endpoint | False |
PluginArch
Values
AMD64: amd64ARM64: arm64