Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ovos-tui-client

A split-pane terminal UI for talking to, debugging and testing OpenVoiceOS without a microphone or speaker - type what you'd say, read what OVOS says back, and watch exactly what's happening on the message bus while it happens.

📖 Manual: https://andlo.github.io/ovos-tui-client/ - with screenshots and examples.

Tests Docs PyPI version

ovos-tui-client screenshot

Actively maintained, and a working replacement for the old CLI clients - see below.

Install

pip install ovos-tui-client
ovos-tui                                  # connects to 127.0.0.1:8181
ovos-tui --host 192.168.1.50 --lang da-dk

A container image is published on every release: docker run -it --rm --network host ghcr.io/andlo/ovos-tui-client:latest. pip install ovos-tui-client[web] and ovos-tui --web serve it in a browser. See Web and Docker.

What it does

  • Logs - every OVOS service log it can find, colour-coded, filterable by source, level, skill and free text, live.
  • Conversation - what you typed and what OVOS said, plus what anyone else said to OVOS: the microphone, HiveMind clients, other ovos-tui-clients - including their test runs.
  • Activity - a readable feed of what happens behind the scenes: which skill is handling it, which fallback caught it, which answers came back.
  • Command palette (Ctrl+P) - restart services, activate/deactivate skills, show the intent pipeline, send example phrases, filter logs, clear panes - all searchable by typing.
  • Scripted test runs - replay a skill's own golden test utterances (Test: <Skill> - All, or pick some with - Choose), or your own scripts, against your live OVOS, with a ✓/✗ per step and a summary. Catches the intent collisions an isolated skill test never sees. Testing skills
  • Headless runs and reports - ovos-tui --run all|<skill>|<script> runs the same tests from the command line (cron, CI) and can write a shareable, store-agnostic JSON report of exactly what was tested against. Headless runs
  • About windows - a skill's description, examples, version, source and test coverage, with test and activate/deactivate buttons; a checklist of all installed skills.

Everything is in the manual: getting started, testing, scripts, skills, troubleshooting.

Why this is worth having

Testing OVOS by voice means dealing with wake-word misfires, STT mistakes, and no visibility into why something did or didn't happen. Typing directly and watching the activity feed skips all of that: see which skill actually answered and which ones gave up, catch vocabulary gaps as you find them, understand fallback behaviour, check the pipeline order without digging through config files, and re-run the same tests after every change.

Contributing

Tests: pip install -r requirements-test.txt && pytest. The manual lives in docs/ and is built with MkDocs; screenshots are generated, not hand-made - see Maintaining these docs.

Why not just fix ovos-cli-client / neon-cli-client?

ovos-cli-client (last released March 2022) installs cleanly via pip, but crashes immediately on launch on a fresh install: ModuleNotFoundError: No module named 'ovos_utils.configuration' - its ovos_utils dependency is unpinned, and the module it imports from has since been removed/relocated in current ovos_utils releases. It was never updated to match. Confirmed directly (pip install ovos-cli-client && ovos-cli-client) rather than assumed.

neon-cli-client pulls in neon-utils, which pins pyyaml~=5.4 - a version with no prebuilt wheel for modern Python and a build script incompatible with current setuptools (workaround: pin setuptools<58 first).

Building this tool instead avoids both dependency chains, and adds genuinely useful features - toggleable/filterable logs, service restart, a simplified activity feed - neither of the above has.

No existing project fills this specific niche as of writing (checked the OpenVoiceOS GitHub org's repositories and general TUI project listings) - if that's changed by the time you're reading this, please open an issue and point at it.

Category

Development Tools

Tags

#ovos #tui #testing #cli #development

Metadata

Release files for ovos-tui-client 0.2.0a13

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

Source distribution (sdist)

Source distribution for ovos-tui-client 0.2.0a13
File Size Uploaded
ovos_tui_client-0.2.0a13.tar.gz 155.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ovos-tui-client 0.2.0a13
File Interpreter ABI Platform
ovos_tui_client-0.2.0a13-py3-none-any.whl Python 3 none any Details

Total release size: 266.0 kB

Release files / ovos_tui_client-0.2.0a13.tar.gz

Download URL ovos_tui_client-0.2.0a13.tar.gz
Size 155.2 kB
Tags Source
SHA-256 checksum
How to use checksums
edc9d415d7b985fd5be6c75197f3678523de5a36adfce1689f5e7c7373d3a841
BLAKE2b-256 checksum
How to use checksums
056325377580735cec30c6d52e48ae781e4ed05e96fcfeeeb6bf35467391d16f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / ovos_tui_client-0.2.0a13-py3-none-any.whl

Download URL ovos_tui_client-0.2.0a13-py3-none-any.whl
Size 110.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ddd18689ee0477bb9a41c35490b5f15d13f151f69763f706f5972ef2f801cbea
BLAKE2b-256 checksum
How to use checksums
65b59fb519a059e19d9e3098766d09e4af2103c00c769e2a5cba2abf76f698de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log
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