Early access preview — some features are still being completed. Details may change prior to launch.
Developer Docs
Voxtop Extensions Config

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",
			...
		}
	]
}