Skip to main content

Terminal client for HiveMind — send utterances and inspect the bus from the command line

Project description

HiveMind CLI

Terminal client for HiveMind.

Connect to a HiveMind node from the command line, type utterances, and watch bus responses — no audio hardware required. This is the simplest way to talk to a hive: the "hello world" of HiveMind clients.

The curses UI shows a split-pane conversation view. --no-curses streams plain output, which is useful for scripting or SSH sessions with minimal terminal support.

HiveMind CLI terminal

Where it fits — the satellite spectrum

Client Local processing Remote processing
HiveMind-cli (this) nothing STT · TTS · intent · skills
hivemind-mic-satellite microphone · VAD STT · TTS · intent · skills
HiveMind-voice-relay mic · VAD · wake-word STT · TTS · intent · skills
HiveMind-voice-sat mic · VAD · wake-word · STT · TTS intent · skills

HiveMind-cli requires only a keyboard — no microphone, no speaker, no wake-word engine. Every other satellite adds layers on top of this foundation.

Install

pip install HiveMind-cli

From source:

git clone https://github.com/JarbasHiveMind/HiveMind-cli
cd HiveMind-cli
pip install -e .

HiveMind CLI tracks the HiveMind bus-client 2.x stack (ovos-bus-client>=2.0). pyproject.toml is the single source of truth for dependencies — there is no requirements.txt.

Quickstart

1. Pair — issue credentials on the server:

hivemind-core add-client
# → Access Key: <key>   Password: <password>

2. Connect — start the terminal:

hivemind-cli --access-key <key> --password <password> --host wss://192.168.1.10

3. Type — enter any utterance and press Enter. Responses appear in the conversation pane (Mycroft > …).

CLI flags

Flag Default Description
--access-key (required) Client access key issued by hivemind-core add-client.
--password None Optional client password.
--host (scan) HiveMind host URI, including protocol: ws://… or wss://….
--port 5678 WebSocket port.
--no-curses off Disable the curses UI; use plain stdout/stdin instead.
--self-signed off Accept self-signed SSL certificates.

--host is technically optional: if omitted, the CLI scans the local network for a HiveMind node via UDP broadcast and asks before connecting.

The host must include the protocol prefix (ws:// or wss://). The CLI exits with an error and a hint if it is missing.

Modes

Curses interface (default)

A split-pane terminal UI with a scrollable message history and an Input > prompt. Responses appear as Mycroft > <utterance>. Requires a terminal that supports curses (most modern terminals do). Falls back automatically to plain mode if curses is unavailable at import time.

Plain mode (--no-curses)

Line-by-line stdin/stdout. Responses are printed as Mycroft: <utterance>. Suitable for SSH sessions with limited terminal support, piped input, or headless scripting.

Related

Project Role
HiveMind-core The hive server — runs OVOS and manages satellites.
hivemind-mic-satellite Thinnest audio satellite (mic + VAD local).
HiveMind-voice-relay Voice relay (mic + VAD + wake-word local, STT/TTS remote).
HiveMind-voice-sat Full local stack (STT + TTS on-device).

Docs

Full documentation lives in docs/. Contributors should read docs/development.md for the dependency stack and how to run the end-to-end test suite.

Testing

The end-to-end suite boots a real hivemind-core master in-process (via hivescope) and drives the real terminal client over a real bus — only stdin/stdout is mocked:

pip install -e ".[e2e]"
pytest tests/

See docs/development.md for details.

License

Apache-2.0

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

hivemind_cli-1.0.0a1.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hivemind_cli-1.0.0a1-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file hivemind_cli-1.0.0a1.tar.gz.

File metadata

  • Download URL: hivemind_cli-1.0.0a1.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hivemind_cli-1.0.0a1.tar.gz
Algorithm Hash digest
SHA256 bfe5d46a5e7260aba5ce30cef3849a6350e37acd98b5731d005a40c7cbf0a43e
MD5 b35219d4df5aef3031fe4b2cb81ff6af
BLAKE2b-256 4ee7aa90c8ebcf0e9ea36f3b73db47aa1f16e1b0529b54345f2fc3f89790137e

See more details on using hashes here.

File details

Details for the file hivemind_cli-1.0.0a1-py3-none-any.whl.

File metadata

  • Download URL: hivemind_cli-1.0.0a1-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hivemind_cli-1.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 a28d7d911fc879e78b45da52367bd9bd4d15958bbef5d9f52e4c81545e4198b6
MD5 761f34e09ddeaa62ee28b07c4f895dc7
BLAKE2b-256 b6df81db6de0f2bfd0e05d8b5ecd2c8dcf45eed33fcbd0063629614c24b4952e

See more details on using hashes here.

Supported by

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