Schema Specification
Endpoint
In this article, we will use the Quick Start: Rainbow Cat project as an example to illustrate the structure of Endpoint within the plugin. For the complete plugin code, please refer to the Github repository.
Group Definition
An Endpoint
group is a collection of multiple Endpoints
. When creating a new Endpoint
in a Dify
plugin, you may need to fill in the following configurations.
Besides the Endpoint Name
, you can add new form items by writing group configuration information. After saving, you’ll see multiple interfaces that will use the same configuration information.
Structure
settings
(map[string] ProviderConfig): Endpoint configuration definitionsendpoints
(list[string], required): Points to specificendpoint
interface definitions
Interface Definition
path
(string): Follows werkzeug interface standardmethod
(string): Interface method, only supports HEAD GET POST PUT DELETE OPTIONSextra
(object): Configuration information beyond basic infopython
(object)source
(string): Source code implementing this interface
Endpoint Implementation
Must implement a subclass inheriting from dify_plugin.Endpoint
and implement the _invoke
method.
- Input Parameters
r
(Request): Request object from werkzeugvalues
(Mapping): Path parameters parsed from the pathsettings
(Mapping): Configuration information for this Endpoint
- Return
- Response object from werkzeug, supports streaming return
- Does not support direct string return
Example Code: