Quick Start Guide

This guide will help you get started quickly with the HiveMind platform, allowing you to extend your OpenVoiceOS (OVOS) ecosystem across multiple devices, even with low-resource hardware. HiveMind lets you connect lightweight devices as satellites to a central OVOS hub, offering centralized control and fine-grained permissions.

imagem

🚀 Installation

To begin using HiveMind Core, you need to install the hivemind-core package in your OVOS device. This can be done via pip:

pip install hivemind-core

🛰️ Adding a Satellite Device

Once the server is running, you'll need to add client credentials for each satellite device you want to connect.

Run the following command to add a satellite device:

hivemind-core add-client

The output wi*ll show you important details like:

  • Node ID
  • Friendly Name
  • Access Key
  • Password
  • Encryption Key (deprecated, only used for legacy clients)

Provide these credentials on the client devices to enable the connection.

🖥️ Running the HiveMind Server

Start the HiveMind server to accept client connections on a specified port:

hivemind-core listen --port 5678

The server will now listen for incoming satellite connections.

💡 hivemind-core needs to be running in the same device as OVOS

🔑 Permissions

HiveMind Core uses a flexible permissions system, where each client's permissions are customizable. By default:

  • Only essential bus messages are allowed.

  • Skills and intents are accessible but can be blacklisted or restricted.

You can manage permissions for clients by using commands like allow-msg, blacklist-msg, allow-skill, and blacklist-skill.

Example Use Cases:

  • Basic AI Integration: Enable a simple client to send natural language instructions.
  • Custom Permissions: Restrict an IoT device to only communicate with specific message types, such as temperature.set.

HiveMind Core Commands Overview

Here are the basic commands for managing clients and their permissions:

  • Add a new client:
hivemind-core add-client --name "satellite_1" --access-key "mykey123" --password "mypass"
  • List all registered clients:
hivemind-core list-clients
  • Start listening for client connections:
hivemind-core listen --port 5678

For detailed help on each command, use --help (e.g., hivemind-core add-client --help).