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, we strongly recommend using the ovos-installer to install OVOS and its dependencies. This tool simplifies installing everything in one go!

📦 For Raspberry Pi users, the RaspOVOS image is a perfect choice. It runs in a "headless" mode (no GUI) and is optimized for Raspberry Pi 3B or higher. 💨 Enjoy even better performance on newer devices!

🔧 For embedded systems, check out ovos-buildroot – a custom Linux distribution for minimal and efficient setups. Stay tuned for updates!

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

🎯 Developers can install ovos-core standalone via:

pip install ovos-core

This includes the core components, perfect for custom assistant development.


🎛️ Skills

🌟 OVOS is powered by skills!
While some skills come pre-installed, most need to be installed explicitly.

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

🤔 Did you know most classic Mycroft skills also work on OVOS?

🎉 Feel free to share your creative skills with the community!


🤖 Persona Support

ovos-persona can be used to generate responses when skills fail to handle user input

💡 With Persona you can connect a 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 (e.g., OpenAI plugin).
2️⃣ Created as user-defined JSON files in ~/.config/ovos_persona.

Personas rely on solver plugins, which attempt 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."
  }
}

Now the "Salamandra" persona should be available, the example above is using a demo server, please note no uptime is guaranteed

More details on how to create your personas here

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 thrives on community contributions. Whether you're a coder, designer, or translator, there's a way to contribute!

🌐 Translate! Help improve OVOS in your language through our Translation Portal.

🙋‍♂️ Have questions or need guidance? Say hi in the OpenVoiceOS Chat, and a team member will be happy to mentor you.

💡 Join our Discussions to ask questions, share ideas, and learn from the community!


🏆 Credits

The OpenVoiceOS team extends gratitude to 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.7a1.tar.gz (59.4 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.7a1-py3-none-any.whl (67.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ovos_core-2.5.7a1.tar.gz
Algorithm Hash digest
SHA256 09ee7f23666850d0c9eefedc6d62772441d8edd5f2def70286a24d848d77f0d0
MD5 cda88fd56f6127f5ce77c7db6e17a1e2
BLAKE2b-256 02866274ad8a51cb2b3a8cba388d5b75c9bcedb8de78820586d4cf8e4dea39be

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ovos_core-2.5.7a1-py3-none-any.whl
Algorithm Hash digest
SHA256 b2af6156735cbfdfdc10b80ae68df8b6189eb5b2cf5f1d8d8c9deb54dbc54d43
MD5 5c8fe1763f7ca01ad74576a993a21193
BLAKE2b-256 e5d730be927e53af42f6c2c1b738884a599904e86eb871581a763dfb3ff819d4

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