Skip to main content
This page covers structures common to all plugin types. Read it alongside Basic Concepts of Plugin Development and the Developer Cheatsheet for a picture of the overall architecture.

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 _assets folder under the plugin’s root directory.
  • Regular text files, such as .py or .yaml code 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:
string
English (United States).
string
Simplified Chinese.
string
Japanese.
string
Portuguese (Brazil).

ProviderConfig

ProviderConfig is a common provider form structure used by both Tool and Endpoint.
string
Form item name.
I18nObject
required
Display labels, following the IETF BCP 47 standard.
provider_config_type
required
Form field type. Determines how the field is rendered in the UI.
provider_config_scope
Optional range specification. Varies based on the value of type.
boolean
Whether the field must not be empty.
any
Default value. Only supports basic types: float, int, string.
array[provider_config_option]
Available options. Only used when type is select.
object
Help document link label, following IETF BCP 47.
string
Help document link.
object
Placeholder text in multiple languages, following IETF BCP 47.

ProviderConfigOption (object)

string
required
Option value.
object
required
Option display label, following IETF BCP 47.

ProviderConfigType (string)

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

ProviderConfigScope (string)

When type is model-selector:
string
All model types.
string
Large language models only.
string
Text embedding models only.
string
Reranking models only.
string
Text-to-speech models only.
string
Speech-to-text models only.
string
Content moderation models only.
string
Vision models only.
When type is app-selector:
string
All application types.
string
Chat applications only.
string
Workflow applications only.
string
Completion applications only.
When type is tool-selector:
string
All tool types.
string
Plugin tools only.
string
API tools only.
string
Workflow tools only.

ModelConfig

string
Model provider name containing the plugin_id, in the form langgenius/openai/openai.
string
Specific model name.
enum
Model type enumeration; see Model Design Rules.

NodeResponse

dict
Variables ultimately passed into the node.
dict
Output results of the node.
dict
Data generated during node execution.

ToolSelector

string
Tool provider name.
string
Tool name.
string
Tool description.
dict[string, any]
Tool configuration information.
dict[string, dict]
Parameters that require LLM reasoning.
string
Parameter name.
string
Parameter type.
boolean
Whether the parameter is required.
string
Parameter description.
any
Default value.
array[string]
Available options for the parameter.
Last modified on June 24, 2026