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_USEnglishzh_HansSimplified Chinesezh_HantTraditional Chineseja_JPJapanese
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:
type: string
String type.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.
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.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.
