Giter VIP home page Giter VIP logo

neon-mana-utils's Introduction

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.

neon-mana-utils's People

Contributors

neondaniel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.