Modifying the Manifest File
Themanifest.yaml file in the plugin directory declares the basic information about the plugin, which will be displayed in the LangBot UI or plugin marketplace interfaces.
en_USEnglish (required)zh_HansSimplified Chinesezh_HantTraditional Chineseja_JPJapanesevi_VNVietnameseth_THThaies_ESSpanish
Plugin Configuration Item Format
In themanifest.yaml file, fields declared in spec.config will be rendered by LangBot as configuration item forms for users to fill out. Plugins can retrieve user-filled configuration items through APIs provided by the SDK (see later sections).
For example:
Conditional Rendering (show_if)
All types of configuration items support conditional rendering using the show_if field. You can decide whether the current field is rendered based on the value of another field in the same (or an associated) form.
Note: Cross-form cascading relationships (e.g.creation_schemavalues reading fromretrieval_schemavalues and vice versa in a Knowledge Engine) are supported in the latest LangBot frontend.
type: string
String type. Optionally supportsoptions for preset values — when provided, a dropdown button appears next to the input allowing users to quickly fill in a preset value. Users can still type freely.
type: array[string]
String array.type: integer
Integer type.type: float
Float type.type: boolean
Boolean type.type: select
Dropdown menu. Requires configuringoptions, which represents the dropdown menu options. Each option displays its label as the primary text, with the name (value) shown in smaller text below.
type: prompt-editor
Prompt editor. Displays a prompt editor from the pipeline configuration page, with the final result represented in OpenAI’smessages format.
type: text
Large text input. Rendered as a textarea in the frontend for user input, and passed to the plugin as a string.type: file
File upload. Supports file uploads up to 10MB, passed to the plugin in the format{"file_key": "xxxxx.xxx", "mimetype": "xxxxx"}. The plugin can use the get_config_file API to retrieve the file content.
Common MIME type and file extension reference: MDN Documentation
type: array[file]
Multiple file upload. Similar to the file type, but supports uploading multiple files, passed to the plugin in the format[{"file_key": "xxxxx.xxx", "mimetype": "xxxxx"}].
type: llm-model-selector
LLM model selector. Displays an LLM model selector where you can choose configured LLM models, with the final result represented as the LLM model UUID.type: bot-selector
Bot selector. Displays a Bot selector where you can choose configured Bots, with the final result represented as the Bot UUID.type: tools-selector
Tool selector. Displays a multi-select tool selector where you can choose registered tools (plugin tools and MCP tools), with the final result represented as an array of tool names.What’s Next
This tutorial will guide you through step-by-step completion of plugin functionality.- Adding Components: Plugin components are the core functional units of plugins. You can add components based on your needs.
