Skip to main content

Message Application for Neon AI

Project description

Neon Mana

Neon Mana (Messagebus Application for Neon AI) provides tools for interacting with the MessageBus.

Install the Mana utilities Python package with: pip install neon-mana-utils The mana entrypoint is available to interact with a bus via CLI. Help is available via mana --help.

Configuration

The default behavior of Mana is to connect to the default core bus (ws://0.0.0.0:8181/core). The connection can be configured for all mana commands via:

mana configure-messagebus --host "192.168.1.100" --port 18181
  • --host specifies the host URL or IP address
  • --port specifies the port the MessageBus is running on

Any unspecified arguments will use default values.

All configurations can be printed to the terminal with:

mana print-config

Monitoring

Mana can connect to a messagebus and log all Message objects sent on that bus.

mana tail-messagebus --format
  • --format flag formats serialized messages printed to the shell

Filtering Messages by type

--include and --exclude arguments may be passed to include or exclude messages with msg_type matching specified prefixes. Global filters may be specified in: ${XDG_CONFIG_HOME}/mana/filters.yml. An example filter file is included here:

include:
  - recognizer_loop
exclude:
  - "recognizer_loop:utterance"

The spec above would log any Messages that start with recognizer_loop, except messages with type recognizer_loop:utterance.

Monitoring other MessageBusses

--host, --port, --route, and --ssl may be specified to monitor a different messagebus without changing the configured bus that is used for other commands. A common use case would be to monitor the GUI bus while interacting with the core bus.

Sending Messages

There are several commands available to interact with a connected Core.

send-message

Send an arbitrary Message over the MessageBus. The specified file should be a json or yaml serialized message. --response may optionally define a response message type to wait for and print to the terminal.

Basic Commands

These are commands supported by Mycroft and all derivative cores; they replicate some of the commands originally found in mycroft-core/bin.

listen

Send a mycroft.mic.listen Message.

stop

Send a mycroft.stop Message.

say-to

Send a recognizer_loop:utterance Message to skills for processing. This sends a minimal message that is not sufficient for testing user profiles or multi-user cores.

speak

Send a speak Message to TTS for generation and playback

Messagebus API

These commands are currently specified for neon-core only and are not supported by other cores. Work is ongoing to standardize these entrypoints across projects.

get-stt

Send a neon.get_stt Message and print the returned Message with transcriptions. This will only work under NeonCore.

get-tts

Send a neon.get_tts Message and print the returned Message with a path to generated TTS. This will only work under NeonCore.

get-response

Send a recognizer_loop:utterance Message with the appropriate context to return a klat.shout response. This will only work under NeonCore and will likely be refactored to reflect NeonCore changes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neon-mana-utils-0.3.0.tar.gz (12.8 kB view hashes)

Uploaded Source

Built Distribution

neon_mana_utils-0.3.0-py3-none-any.whl (23.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page