/Kara

Open Source Voice Assistant

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Kara

Kara Logo

Description

Simply put, Kara is a voice assistant that steals 0% of your data so you stay free! She is a actively maintained, modular, and designed to customize.

The bones of this project was built in 4 days as a challenge (Jun 15, 2020 - Jun 19, 2020), however I have decided to continue production while also maintaining other projects. Currently Kara does not have many "abilities" though many are planned for release within the next weeks!

If you're interested in supporting, adding to, or using the project check out our official server! I'm always online and happy to help people.

Installation

To install Kara onto a system there are two approaches.

  1. Pip: python -m pip install Kara
  2. GitHub: Firstly clone the repo onto your system, then navigate into the root directory and use python setup.py install

Both of these approaches make Kara accessible anywhere on your machine by simply running Kara. This does also cause some issues with the integration system, more upgrades will be coming in v1.1.1-beta!

Integrations

Sometimes you don't want Kara to control everything and instead want to control how she acts that little bit more, this is why integrations exist. Integrations allow you to quickly and efficiently control Kara's functionality through any of your projects.

Initializing a new integration is as simple as: python kara.py -i

Integrations are different from abilities. Imagine it like it this, abilities give Kara functionality and allow her to perform and control new commands. Integrations allow Kara to work inside of your project and hand the controller over to it too. This means you can have greater control of how she performs tasks.

For more on working integrating Kara check out it's documentation!

Abilities

Kara is designed specifically to be modified by the community and given additional functionality or "abilities". By default she has no features program directly into her, all her capabilities come from stored abilities.

Initializing an ability is as simple as: python kara.py -a YOUR_ABILITY_NAME

For more on working with abilities check out it's documentation!

Arguements

  • -h or --help: show Kara's usage
  • -a or --ability: initialize new ability
  • -r or --recompile: recompile abilities
  • -c or --cached: remove all cached data (abilities.json, link.py)
  • -v or --version: display current version of Kara
  • -m or --manual: pass text to Kara, temporarily disables STT
  • -t or --time: show the time taken for Kara to complete a command (only works for manual entries)
  • -i or --init: initialize a new integration

Change Log

Detailed breakdown of important changes and new features can be found here

All Links

General

Technical