Skip to main content

Path Specifications

When filling in file paths in Manifest or any yaml files, follow these two specifications depending on the type of file:
  • If the target file is a multimedia file such as an image or video, for example when filling in the plugin’s icon, you should place these files in the _assets folder under the plugin’s root directory.
  • If the target file is a regular text file, such as .py or .yaml code files, you should fill in the absolute path of the file within the plugin project.

Common Structures

When defining plugins, there are some data structures that can be shared between tools, models, and Endpoints. These shared structures are defined here.

I18nObject

I18nObject is an internationalization structure that conforms to the IETF BCP 47 standard. Currently, four languages are supported:
en_US
string
English (United States)
zh_Hans
string
Simplified Chinese
ja_JP
string
Japanese
pt_BR
string
Portuguese (Brazil)

ProviderConfig

ProviderConfig is a common provider form structure, applicable to both Tool and Endpoint
name
string
Form item name
label
I18nObject
required
Display labels following IETF BCP 47 standard
type
provider_config_type
required
Form field type - determines how the field will be rendered in the UI
scope
provider_config_scope
Optional range specification, varies based on the value of type
required
boolean
Whether the field cannot be empty
default
any
Default value, only supports basic types: float, int, string
options
array[provider_config_option]
Available options, only used when type is select
helper
object
Help document link label, following IETF BCP 47
url
string
Help document link
placeholder
object
Placeholder text in multiple languages, following IETF BCP 47

ProviderConfigOption(object)

value
string
required
The value of the option
label
object
required
Display label for the option, following IETF BCP 47

ProviderConfigType(string)

secret-input
string
Configuration information that will be encrypted
text-input
string
Plain text input field
select
string
Dropdown selection field
boolean
boolean
Switch/toggle control
model-selector
object
Model configuration selector, including provider name, model name, model parameters, etc.
app-selector
object
Application ID selector
tool-selector
object
Tool configuration selector, including tool provider, name, parameters, etc.
dataset-selector
string
Dataset selector (TBD)

ProviderConfigScope(string)

When type is model-selector:
all
string
All model types
llm
string
Large Language Models only
text-embedding
string
Text embedding models only
rerank
string
Reranking models only
tts
string
Text-to-speech models only
speech2text
string
Speech-to-text models only
moderation
string
Content moderation models only
vision
string
Vision models only
When type is app-selector:
all
string
All application types
chat
string
Chat applications only
workflow
string
Workflow applications only
completion
string
Completion applications only
When type is tool-selector:
all
string
All tool types
plugin
string
Plugin tools only
api
string
API tools only
workflow
string
Workflow tools only

ModelConfig

provider
string
Model provider name containing plugin_id, in the form of langgenius/openai/openai
model
string
Specific model name
model_type
enum
Enumeration of model types, refer to the Model Design Rules document

NodeResponse

inputs
dict
Variables that are finally input to the node
outputs
dict
Output results of the node
process_data
dict
Data generated during node execution

ToolSelector

provider_id
string
Tool provider name
tool_name
string
Tool name
tool_description
string
Tool description
tool_configuration
dict[string, any]
Tool configuration information
tool_parameters
dict[string, dict]
Parameters that need LLM reasoning
name
string
Parameter name
type
string
Parameter type
required
boolean
Whether the parameter is required
description
string
Parameter description
default
any
Default value
options
array[string]
Available options for the parameter

Edit this page | Report an issue