Creating a Hive

Minds

When creating a Hive the first step is to add a Mind to it, this is "the brain" of the hive and is expected to handle natural language queries

  • hivemind-core -> connects to an existing ovos-core setup
  • hivemind-persona -> launch a OVOS persona behind a hivemind server, this can for example be ChatGPT
  • MultiMind -> launch a dedicated ovos-core per access key
  • LocalHive -> a mind that loads OVOS skills fully isolated, usable on localhost only
  • DuckDuckGo -> proof of concept of how to turn anything into a Mind

Once you have at least 1 Mind in your hive you can start connecting things to it!

imagem

Managing Clients

hivemind-core provides a command line interface to manage client permissions

$ hivemind-core add-client --help
Usage: hivemind-core add-client [OPTIONS] [NAME] [ACCESS_KEY] [PASSWORD]
                                [CRYPTO_KEY]

  add credentials for a client

Options:
  --help  Show this message and exit.
$ hivemind-core delete-client --help
Usage: hivemind-core delete-client [OPTIONS] NODE_ID

  remove credentials for a client

Options:
  --help  Show this message and exit.
$ hivemind-core list-clients --help
Usage: hivemind-core list-clients [OPTIONS]

  list clients and credentials

Options:
  --help  Show this message and exit.

$ hivemind-core allow-msg --help
Usage: hivemind-core allow-msg [OPTIONS] MSG_TYPE [NODE_ID]

  allow message types sent from a client

Options:
  --help  Show this message and exit.

Terminals / Satellites

A terminal is something that allows you to interact with your hive, it connects to a Mind setup in the previous step

  • Voice Satellite - processes audio on satellite and sends natural language queries to a mind
  • Webchat -> webchat to connect from browser directly to a mind
  • Flask Chatroom - reference implementation for a web application that connects to a mind backend side
  • Remote Cli - a command line application to chat with a Mind

See the pairing documentation for further details

Bridges

A bridge connects some existing service to a Mind, it is like a terminal but depends on some intermediate service