This is a clean distribution of Zoe, the GUL UC3M assistant. It contains the basic agents on which you can build your own assistant.
See the gul-zoe repository at Github for more information.
What do I need
- OS X or Linux (BSD should be fine too, but I haven't tested it)
- Java 1.7
- Python 3
- Perl 5
- Core components (server, natural, broadcast, log, relay, users)
- Jabber (read and write)
- Mail (read and write)
- Twitter (write only)
- An example agent (agests/test)
How do I start
Clone the repository with git. DO NOT download a zip file.
Check the configuration files at etc/ folder.
Load the Zoe configuration:
$ . etc/environment.sh
$ ./zoe.sh start
Check the Zoe status:
$ ./zoe.sh status
If there are dead agents, check their log files (at the log/ directory) to figure out the error. It is probably a misconfiguration.
How do I add my own features
There are two basic parts in Zoe: agents and commands.
An agent is a process responsible of a single feature. To communicate, agents use messages, that are simple key-value pairs. This document describes the message format and the set of messages already defined. Please note that this document contains messages for agents that are not available in this repository, like the banking agent or the activities one.
In order to write an agent, take a look at agents/test and this article.
Add your agent to the agents/ directory and Zoe will automatically run and configure it.
You can easily send a message to an agent from the shell:
$ echo -n "message" | nc localhost 30000
But sometimes you would like to send these messages using a more simple interface. Take a look at the cmdproc/ folder and this article to learn how to write your own commands.
I don't want mail or twitter or whatever. How can I disable that agent?
Just remove it from the agents/ folder.