Skip to main content

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

Metadata

Release files for ovos-core 2.1.1

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-core 2.1.1
File Size Uploaded Provenance Actions
ovos_core-2.1.1.tar.gz 51.7 kB Without provenance Details for ovos_core-2.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ovos-core 2.1.1
File Interpreter ABI Platform Actions
ovos_core-2.1.1-py3-none-any.whl Python 3 none any Details for ovos_core-2.1.1-py3-none-any.whl

Total release size: 108.1 kB

Release files / ovos_core-2.1.1.tar.gz

Download URL ovos_core-2.1.1.tar.gz
Size 51.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4c7fe182c5e19ec8f6551bfc4f4d148c344bc9d9e407edc2586a7b20cc0e2a93
BLAKE2b-256 checksum
How to use checksums
5186d6f8a6973e3aff98d3451baa60749b458bd80067d6cb8d727b64e93ad7ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / ovos_core-2.1.1-py3-none-any.whl

Download URL ovos_core-2.1.1-py3-none-any.whl
Size 56.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
11e8203471e06e47157f575318b8bd85c7bccda5b7c11fa02ff647bb47222a4a
BLAKE2b-256 checksum
How to use checksums
d1d9a796eea693ed0fa9f913d04a2d1b1d1e62af0d817d037b8e434cc2d6c069
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for ovos-core 2.1.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.1.1 This release

2 release files No provenance

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