Skip to main content

The spiritual successor to Mycroft AI, OVOS is flexible voice assistant software that can be run almost anywhere!

Project description

GitHub Discussions License PRs Welcome Unit Tests codecov

OVOS-core

OpenVoiceOS is an open-source platform for smart speakers and other voice-centric devices. ovos-core (this repo) is the central component.


Installing OVOS

If you have an existing system, use the ovos-installer to install OVOS and its dependencies in one step.

For Raspberry Pi users, the RaspOVOS image runs in headless mode (no GUI) and targets Raspberry Pi 3B or higher.

For embedded systems, ovos-buildroot builds a custom Linux distribution for minimal setups.

More detailed documentation is available in the ovos-technical-manual.

Developers can install ovos-core standalone:

pip install ovos-core

This includes the core components, for custom assistant development.


Skills

OVOS is powered by skills. Some skills come pre-installed; most need to be installed explicitly.

Browse OVOS-compatible skills on PyPI or in the OVOS GitHub organization.

Most classic Mycroft skills also work on OVOS.


Persona Support

ovos-persona generates responses when skills fail to handle user input. With Persona you can connect an LLM to ovos-core.

List Personas

  • "What personas are available?"
  • "Can you list the personas?"
  • "What personas can I use?"

Activate a Persona

  • "Connect me to {persona}"
  • "Enable {persona}"
  • "Start a conversation with {persona}"
  • "Let me chat with {persona}"

Stop Conversation

  • "Stop the interaction"
  • "Terminate persona"
  • "Deactivate Large Language Model"
Creating a Persona: Click to expand

Persona Files

Personas are configured using JSON files. These can be:

  1. Provided by plugins (for example, the OpenAI plugin).
  2. Created as user-defined JSON files in ~/.config/ovos_persona.

Personas rely on solver plugins, which try to answer queries in sequence until a response is found.

Example: using a local OpenAI-compatible server.

Save this in ~/.config/ovos_persona/salamandra.json:

{
  "name": "Salamandra",
  "solvers": [
    "ovos-solver-openai-persona-plugin"
  ],
  "ovos-solver-openai-persona-plugin": {
    "api_url": "https://ollama.uoi.io/v1",
    "model": "hdnh2006/salamandra-7b-instruct",
    "key": "sk-xxxx",
    "persona": "helpful, creative, clever, and very friendly."
  }
}

The "Salamandra" persona is now available. The example above uses a demo server; no uptime is guaranteed.

More details on how to create your personas are in the OVOS-persona README.

Pipeline Configuration: Click to expand

Persona Pipeline

Add the persona pipeline to your mycroft.conf after the _high pipeline matchers.

{
  "intents": {
      "persona": {"handle_fallback":  true},
      "pipeline": [
          "stop_high",
          "converse",
          "ocp_high",
          "padatious_high",
          "adapt_high",
          "ovos-persona-pipeline-plugin-high",
          "ocp_medium",
          "fallback_high",
          "stop_medium",
          "adapt_medium",
          "padatious_medium",
          "adapt_low",
          "common_qa",
          "fallback_medium",
          "ovos-persona-pipeline-plugin-low",
          "fallback_low"
    ]
  }
}

Getting Involved

OVOS is open source and depends on community contributions. There is a way to contribute as a coder, designer, or translator.

Help translate OVOS into your language through our Translation Portal.

Have questions or need guidance? Say hi in the OpenVoiceOS Chat, and a team member will help.

Join our Discussions to ask questions and share ideas.


Credits

The OpenVoiceOS team thanks the following organizations for their support in our early days:

  • Mycroft was a hackable, open-source voice assistant by the now-defunct MycroftAI. OpenVoiceOS continues that work.
  • NeonGecko
  • KDE / Blue Systems

Links

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ovos_core-2.5.10a1.tar.gz (58.8 kB view details)

Uploaded Source

Built Distribution

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

ovos_core-2.5.10a1-py3-none-any.whl (67.6 kB view details)

Uploaded Python 3

File details

Details for the file ovos_core-2.5.10a1.tar.gz.

File metadata

  • Download URL: ovos_core-2.5.10a1.tar.gz
  • Upload date:
  • Size: 58.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ovos_core-2.5.10a1.tar.gz
Algorithm Hash digest
SHA256 464eb65dd1b6663beefc585bc5fa78b06302673c17aa77ffcb99a924620ba7de
MD5 02d85ece0de5fda61cf3f927db7518b6
BLAKE2b-256 bb0aa8fa9a4c7081faa31596e059011be7b5fbcb51a800168113f0b2a1dc6732

See more details on using hashes here.

File details

Details for the file ovos_core-2.5.10a1-py3-none-any.whl.

File metadata

  • Download URL: ovos_core-2.5.10a1-py3-none-any.whl
  • Upload date:
  • Size: 67.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ovos_core-2.5.10a1-py3-none-any.whl
Algorithm Hash digest
SHA256 1a45eacc2f42608ecf699df0f3a6ccdfe5500458aa5b2f918cf85f0768931722
MD5 e7d387f0a9c1ed3dd5673dfda5fa3eb7
BLAKE2b-256 c547daeabc89a51a1ae9bf1008d087e608d91d24f197ab89c1661178b87b7b58

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