Optional Files and Settings
Files and Directories
The following is an example of what a sample Plugin directory looks like.
The /manifest.json
, readme.md
, and /static/icon.png
files are your points of interest here.
handler.py
manifest.json <-- HERE
requirements.txt
readme.md <-- HERE
/template
panel.html
thread.html
message.html
/static
icon.png <-- HERE
...
manifest.json
Your manifest.json
contains a description of your Plugin as well as the options that for you plugin.
It will use these option definitions to populate the settings found on the Create Panel
and Edit Panel
pages when the plugin is selected.
An example of the simplest manifest would be:
{
"name": "My First Plugin",
}
The options for manifests are available below:
{
"name": "string", # Name of the agent plugin
"category": "string", # Grouping in agent plugin list in UI
"capabilities": { # Capabilities are key:value context passed to front-end
"vision": true,
"actions": [ # (Alpha) Front-end modifier, brings up the `/action` panel
{
"command": "string",
"parameters": "string",
"description": "string"
}
]
},
"settings": [
{
"name": "string",
"description": "string",
"default": "string",
"type": "text | number | float",
"selections": [ # Auto-complete selections
{
"group": "string",
"values": [ "string", "string" ]
}, # Selections can be grouped or ungrouped
"string"
],
"private": true | false, # Make field private (set-only)?
"required": true | false, # Make required field?
"advanced": true | false # Show in advanced settings dropdown?
}
]
}
readme.md
A markdown description of your Plugin.
It will be rendered on the Create Panel
and Edit Panel
pages when the Plugin is selected.
/static/icon.png
/static/icon.png
is a reserved asset. It will be the icon which is shown in the sidebar and header when using your Plugin / Panel.
We recommend a PNG which is at least 120px x 120px.