
Voxtop Extension Config
When installing an extension into Voxtop there are some configuration options available to you. These control how the extension appears in the Voxtop App to the user and also the runtime of the extension.
Extensions can be installed in Voxtop by importing configuration or manually using a form in the interface.
Main Properties
| Property | Type | |
|---|---|---|
| extensionId | string (required) | A unique identifier for your extension. The identifier is can be any string but the convention we suggest is ‘ For example, ‘voxtop-examples.i164.ai:speechToText’ |
| url | string (required) | The full url for the extension |
| name | string (required) | The name of the extension. Used to display a human readable name for the user. |
| description | string | Description of what the extensions does. For extra information for the user to see when browsing their installed extensions. |
| mdIcon | string (required) | Material design icon name https://fonts.google.com/icons |
| runtime | object (required) | Various runtime settings see table below |
| allowedOrigins | string[] (required) | The origins that this extension can access. These are in the form of a url. This prevents the browser component that the extension runs in from accessing any urls that are not in this list. |
| navbar | object (optional) | The configuration for the navbar of the main Voxtop app. |
Runtime Properties
| runtime | Type | |
|---|---|---|
| autoStart | boolean | Whether the extension will be started when Voxtop starts |
| alwaysRunning | boolean | Whether the extension requires to always to be running. This effectively prevents the extension being stopped. When an extension has a Window, closing a window will effectively background or hide that window. |
| background | boolean | If the extension only runs in the background. This also meaning that the extension is windowless. |
Navbar Properties
If navbar properties are provided in the config then the left menu of the main Voxtop screen will include a launch icon for this extension.
| navbar | Type | |
|---|---|---|
| mdIcon | string | Material design icon name https://fonts.google.com/icons |
| label | string | The tooltip label for the link |
Example Individual Extension Config
This is an example configuration for an individual extension.
{
"extensionId": "voxtop-examples.i164.ai:speechToText",
"url": "https://voxtop-examples.i164.ai/speechToText.html",
"mdIcon": "speech_to_text",
"name": "Speech to Text Extension",
"description": "A speech to text extension served from a local web server.",
"runtime": {
"autoStart": true,
"background": false,
"alwaysRunning": true
},
"navbar": {
"mdIcon": "speech_to_text",
"label": "Speech to Text"
},
"allowedOrigins": [
"https://voxtop-examples.i164.ai"
]
}
Example Extension Import Config
When creating a file to import one of more extensions into Voxtop using the import function in the app settings, the following format must be used.
Inside the array of extensions, you have one or more individual extension config objects as in the example above.
{
"extensions": [
{
"extensionId": "voxtop-examples.i164.ai:speechToText",
"url": "https://voxtop-examples.i164.ai/speechToText.html",
...
},
{
"extensionId": "voxtop-examples.i164.ai:herenow",
"url": "https://voxtop-examples.i164.ai/herenow.html",
...
}
]
}