Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

HiveMind Fallback Skill

When in doubt, ask a smarter OVOS install

NOTE: this repository eventually will be converted from a FallbackSkill into a pipeline plugin

Configuration

Under skill settings (~/.config/mycroft/skills/skill-ovos-fallback-hivemind.openvoiceos/settings.json) you can tweak some parameters for HiveMind Skill.

{
  "name": "HiveMind",
  "confirmation": true,
  "slave_mode": false,
  "allow_selfsigned": false
}
Option Value Description
name HiveMind Name to give to the HiveMind AI assistant in the confirmation dialog
confirmation true Spoken confirmation will be triggered when a request is sent HiveMind
allow_selfsigned false Allow self signed SSL certificates ofr HiveMind connection
slave_mode false In slave mode HiveMind master receives all bus messages for passive monitoring and will be able to inject arbitrary messages into the OVOS bus

HiveMind Setup

You need to register the skill in the HiveMind server

$ hivemind-core add-client
Credentials added to database!

Node ID: 2
Friendly Name: HiveMind-Node-2
Access Key: 5a9e580a2773a262cbb23fe9759881ff
Password: 9b247ca66c7cd2b6388ad49ca504279d
Encryption Key: 4185240103de0770
WARNING: Encryption Key is deprecated, only use if your client does not support password

And then set the identity file in the satellite device (where the skill will run)

$ hivemind-client set-identity --key 5a9e580a2773a262cbb23fe9759881ff --password 9b247ca66c7cd2b6388ad49ca504279d --host 0.0.0.0 --port 5678 --siteid test
identity saved: /home/miro/.config/hivemind/_identity.json

check the created identity file if you like

$ cat ~/.config/hivemind/_identity.json
{
    "password": "9b247ca66c7cd2b6388ad49ca504279d",
    "access_key": "5a9e580a2773a262cbb23fe9759881ff",
    "site_id": "test",
    "default_port": 5678,
    "default_master": "ws://0.0.0.0"
}

test that a connection is possible using the identity file

$ hivemind-client test-identity
(...)
2024-05-20 21:22:28.003 - OVOS - hivemind_bus_client.client:__init__:112 - INFO - Session ID: 34d75c93-4e65-4ea9-b5f4-87169dcfda01
(...)
== Identity successfully connected to HiveMind!

If this step fails, your skill will also fail to connect to HiveMind

Slave Mode

If running in slave mode skills can emit serialized HiveMessages via the regular bus

This can be used to inject bus messages from one device messagebus to the other

from slave -> master: (might be rejected by hivemind-core)

  • emit "hive.send.upstream" with message.data, {"msg_type": "bus", "payload": message.serialize()}

from master -> slave:

  • emit "hive.send.downstream" with message.data, {"msg_type": "bus", "payload": message.serialize()}

see the hivemind protocol for more details on valid payloads

NOTE: this is what enables nested hives, a device can be both a master (by running hivemind-core) and a slave (by running this repo)

Metadata

Release files for ovos-skill-fallback-hivemind 0.0.0a10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for ovos-skill-fallback-hivemind 0.0.0a10
File Interpreter ABI Platform
ovos_skill_fallback_hivemind-0.0.0a10-py3-none-any.whl Python 3 none any Details

Release files / ovos_skill_fallback_hivemind-0.0.0a10-py3-none-any.whl

Download URL ovos_skill_fallback_hivemind-0.0.0a10-py3-none-any.whl
Size 21.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc265f24a479dcb2b73f069f1f64e7db007a8a8d73653f1c0cebe6b8b600dd9f
BLAKE2b-256 checksum
How to use checksums
d142dd8be39a95c0cc5787419824071924960ad371b547101916bfd70f8bb221
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page