AmyAssist / Amy

Personal Assistance System
Apache License 2.0
12 stars 1 forks source link
amy chatbot docker java personal-assistant personal-assistant-framework

Amy

Build Status Coverage Status Coverage Status Lines of Code Bugs Reliability

Docker

THIS PROJECT IS DEPRECATED AND WILL NO LONGER BE MAINTAINED

Personal Assistance System

This is a research project from students of the University of Stuttgart. No functionality is tested. There may be harmful errors.

In parallel, we are working on a web interface for Amy, which you can find here

Maven: io.github.amyassist.amy

Getting Started

To get started with Amy, download the latest release or build it yourself.

Prerequisites

We handle our dependencies within the project with Apache Maven so to build the project you have to have Maven installed. You can find the archive to download on this website.

Additionaly we need a running MQTT Broker on the system. See the wiki for more information.

Build Amy

Clone or download the project from GitHub. To build the project, you need to run maven install on the root directory of the project, so the path you are in should look something like this: C:/...folder(s).../Amy/. Execute mvn install, this command will build and test the whole project. The build artifacts are amy-master-node/target/amy-master-node.jar and build/plugins/.

Running Amy

Create a directory named config and place all configs in there. More information about the configuration can be found in the Wiki. In the plugin.config set the plugin path acordingly, the default is to load all plugins form plugins/. Executing java -jar amy-master-node.jar will run Amy in the current working directory. Use the option -h to get help java -jar amy-master-node.jar -h.

As soon as the confirmation Sphinx listening pops up in your console you are good to go.

Waking her up and setting her to sleep

Before giving Amy any commands, she first has to be woken up.
This is accomplished by saying Amy wake up - if the command was spoken and heard properly you will receive an acoustic confirmation that she is awake.
You may now give Amy speech commands.

If you wish that Amy stops listening, simply say Amy sleep and she will not react to any commands that are given to her - until you wake her up again

Using the console to give Amy commands

There are commands which can be typed into the console that do not trigger any plugin actions. An example would be ?list.
This command lists all of the possible commands that you can give Amy.

If you wish to trigger a plugin action with a command, be careful that you put the word say in front of your command, otherwise the errors will haunt you even in your dreams.
A valid command looks like this: say how many emails do i have

Running the tests

If you wish to run the automated tests, run mvn test in your console while being in the root folder of the project (the same as the one you installed in)

Development

Documentation is in the Wiki of GitHub.

Direct links:

Deployment

Best use our docker compose project. Otherwise take the steps described in Getting Started.

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

This project uses Semantic Versioning.

Authors

See the list of contributors who participated in this project.

License

This project is licensed under the Apache 2.0 License - see the LICENSE Document for details

Acknowledgments