• Stars
    star
    2,503
  • Rank 18,340 (Top 0.4 %)
  • Language
    Java
  • License
    GNU Lesser Genera...
  • Created about 8 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SUSI.AI server backend - the Artificial Intelligence server for personal assistants https://susi.ai

SUSI.AI Server

Join the chat at https://gitter.im/fossasia/susi_server Docker Pulls Build Status Percentage of issues still open Average time to resolve an issue Twitter Twitter Follow

SUSI.AI is an intelligent Open Source personal assistant. It is capable of chat and voice interaction by using APIs to perform actions such as music playback, making to-do lists, setting alarms, streaming podcasts, playing audiobooks, and providing weather, traffic, and other real-time information. Additional functionalities can be added as console services using external APIs. SUSI.AI is able to answer questions and depending on the context will ask for additional information in order to perform the desired outcome. The core of the assistant is the SUSI.AI server that holds the "intelligence" and "personality" of SUSI.AI. The Android and web applications make use of the APIs to access information from a hosted server.

Deployments

Development: An automatic deployment from the development branch at GitHub is available for tests at https://susi-server.herokuapp.com

Master: The master branch is planned to be deployed on https://api.susi.ai. Currently, the deployment is taking place each hour at xx.45 using the development branch. We are planning to switch to the Master branch for production soon.

Deployment branches

There are two branches targetting deployment, "dev-dist" and "stable-dist". The former is intended to be used in conjunction with the development versions of "susi_linux", while the later with the stable (from the "master" branch). These two branches are currently updated manually from "susi_server_binary_latest.tar.gz" (see below), but future integration will update "dev-dist" regularly.

Communication

Please join our mailing list to discuss questions regarding the project: https://groups.google.com/forum/#!forum/opntec-dev/

Our chat channel is on gitter here: https://gitter.im/fossasia/susi_server

How do I install Susi: Download, Build, Run

Note

  • You must be logged in to Docker Cloud for the button to work correctly. If you are not logged in, you'll see a 404 error instead.

Deploy on Scalingo Deploy to Docker Cloud Deploy to Azure

At this time, SUSI.AI is not provided in the compiled form, you easily build it yourself. It's not difficult and done in one minute! The source code is hosted at https://github.com/fossasia/susi_server, you can download it and run SUSI.AI with (Before installation you must have "Java Development Kit" latest version at http://openjdk.java.net/install/ & "Gradle" latest version at https://gradle.org/install/):

Note

  • For Armv6 processors (e.g. Raspberry Pi Zero / Zero W/ Zero WH/ 1A / 1B), please make sure that your system is using Java 8 (Oracle or OpenJDK) as there are some compatibility issues for Armv6 processors.
  • You may use the following command to install OpenJDK's Java 8 JRE and JDK:
> sudo apt install openjdk-8-jdk-headless
> git clone https://github.com/fossasia/susi_server.git
> cd susi_server
> ./gradlew build
> bin/start.sh

For Windows Users (who are using GitBash/Cygwin or any terminal):

> git clone https://github.com/fossasia/susi_server.git
> cd susi_server
> git checkout master
> ant jar
> java -jar dist/susiserver.jar
> git checkout development
> ant jar
> java -jar dist/susiserver.jar
To stop:
> Press Ctrl+C

After all server processes are running, SUSI.AI tries to open a browser page itself. If that does not happen, just open http://localhost:4000; if you made the installation on a headless or remote server, then replace 'localhost' with your server name.

To stop SUSI.AI, run: (this will block until the server has actually terminated)

> bin/stop.sh

A self-upgrading process is available which must be triggered by a shell command. Just run:

> bin/upgrade.sh

Where can I download ready-built releases of SUSI.AI?

The latest binary built can be downloaded from http://download.susi.ai/susi_server/susi_server_binary_latest.tar.gz

To run susi, do: tar xfz susi_server_binary_latest.tar.gz cd susi_server_binary_latest java -server -Xmx200m -jar build/libs/susi_server-all.jar

How do I install SUSI.AI with Docker on Google Cloud?

To install SUSI.AI with Docker on Google Cloud please refer to the Susi Docker installation readme.

How do I install SUSI.AI with Docker on AWS?

To install SUSI.AI with Docker on AWS please refer to the Susi Docker installation readme.

How do I install SUSI.AI with Docker on Bluemix?

To install SUSI.AI with Docker on Bluemix please refer to the Susi Docker installation readme.

How do I install SUSI.AI with Docker on Microsoft Azure?

To install SUSI.AI with Docker on Azure please refer to the Susi Docker installation readme.

How do I install SUSI.AI with Docker on Digital Ocean?

To install SUSI.AI with Docker on Digital Ocean please refer to the Susi Docker installation readme.

How do I deploy SUSI.AI with Heroku?

You can easily deploy to Heroku by clicking the Deploy to Heroku button above. To install SUSI.AI using Heroku Toolbelt, please refer to the Susi Heroku installation readme.

How do I deploy SUSI.AI with cloud9?

To install SUSI.AI with cloud9 please refer to the Susi cloud9 installation readme.

How do I setup SUSI.AI on Eclipse?

To install SUSI.AI on Eclipse, please refer to the Susi Eclipse readme.

How to setup auto deployment to a VPS using travis

To auto deploy SUSI.AI to a VPS using travis, please refer to the readme file.

How do I run SUSI.AI?

  • build Susi (you need to do this only once, see above)
  • run bin/start.sh
  • open http://localhost:4000 in your browser
  • to shut down Susi, run bin/stop.sh

How do I configure SUSI.AI?

The basis configuration file is in conf/config.properties. To customize these settings place a file customized_config.properties to the path data/settings/

How to compile using Gradle?

  • To install Gradle on Ubuntu:

    $ sudo add-apt-repository ppa:cwchien/gradle
    $ sudo apt-get update
    $ sudo apt-get install gradle
    
  • To install Gradle on Mac OS X with homebrew

    brew install gradle
    
  • To compile, first, create dir necessary for Gradle

    ./gradle_init.sh
    

    Compile the source to classes and a jar file

    gradle assemble
    

    The compiled file can be found in build dir Last, clean up so that we can still build the project using Ant

    ./gradle_clean.sh
    

How do I develop Skills (AI Conversation Rules) for SUSI.AI?

The SUSI.AI skill language is described in the Skill Development Tutorial.

How to utilize Susi skill data in SUSI.AI server?

If you simply want to add your skill to the SUSI.AI online service, please go to https://skills.susi.ai and add your skill.

For your own deployments: The Susi skill data is the storage place for the Susi skills. To make Susi server utilize these skills, clone Susi skill data alongside Susi server.

git clone https://github.com/fossasia/susi_skill_data.git

If you want to create private skills in your local server, you should create a local git repository susi_private_skill_data alongside Susi server. Then you must create a local git host:

> cd <above susi home>
> mkdir susi_private_skill_data_host
> cd susi_private_skill_data_host
> git init โ€”bare
> cd ../susi_private_skill_data
> git remote add origin <path to susi_private_skill_data_host>
> git push --set-upstream origin master

Why should I use SUSI.AI?

If you like to create your own AI, then you may consider SUSI.AI.

Where can I find API documentation?

The Documentation can be found here.

Where do I find the javadocs?

You can build them via 'ant javadoc'

Where can I report bugs and make feature requests?

This project is considered a community work. The development team consists of you too. We are very thankful for the pull request. So if you discovered that something can be enhanced, please do it yourself and make a pull request. If you find a bug, please try to fix it. If you report a bug to us, We will possibly consider it but at the very end of a giant, always growing heap of work. The best chance for you to get things done is to try it yourself. Our issue tracker is here.

What is the Development Workflow?

Fixing issues

Step 1: Pick an issue to fix

After selecting the issue

  1. Comment on the issue saying you are working on the issue.
  2. We expect you to discuss the approach either by commenting or on Gitter Chat.
  3. Updates or progress on the issue would be nice.

Step 2: Branch policy

Start off from your development branch and make sure it is up-to-date with the latest version of the committer repo's development branch. Make sure you are working in development branch only. git pull upstream development

If you have not added upstream follow the steps given here.

Step 3: Coding Policy

  • Please help us follow the best practice to make it easy for the reviewer as well as the contributor. We want to focus on the code quality more than on managing pull request ethics.
  • Single commit per pull request
  • For writing commit messages please adhere to the Commit style guidelines.
  • Follow uniform design practices. The design language must be consistent throughout the app.
  • The pull request will not get merged until and unless the commits are squashed. In case there are multiple commits on the PR, the commit author needs to squash them and not the maintainers cherry-picking and merging squashes.
  • If you don't know what does squashing of commits is read from here.
  • If the PR is related to any front end change, please attach relevant screenshots in the pull request description

Step 4: Submitting a PR

Once a PR is opened, try and complete it within 2 weeks, or at least stay actively working on it. Inactivity for a long period may necessitate a closure of the PR. As mentioned earlier updates would be nice.

Step 5: Code Review

Your code will be reviewed, in this sequence, by:

  • Travis CI: by building and running tests. If there are failed tests, the build will be marked as a failure. You can consult the CI log to find which tests. Ensure that all tests pass before triggering another build.
  • The CI log will also contain the command that will enable running the failed tests locally.
  • Reviewer: A core team member will be assigned to the PR as its reviewer, who will approve your PR or he will suggest changes.

What is the software license?

LGPL 2.1

More Repositories

1

visdom

A flexible tool for creating, organizing, and sharing visualizations of live, rich data. Supports Torch and Numpy.
Python
10,012
star
2

open-event-server

The Open Event Organizer Server to Manage Events https://test-api.eventyay.com
Python
2,906
star
3

phimpme-android

Phimp.me Photo Imaging and Picture Editor https://play.google.com/store/apps/details?id=org.fossasia.phimpme
Java
2,576
star
4

susi_android

SUSI.AI Android App https://play.google.com/apps/testing/ai.susi
Kotlin
2,419
star
5

open-event-frontend

The frontend for the Open Event API Server https://test.eventyay.com
JavaScript
2,335
star
6

open-event-droidgen

Open Event Android App Generator https://github.com/fossasia/open-event-android/raw/apk/sample-apk-fossasia17-development.apk
Java
2,048
star
7

pslab-android

PSLab Android App https://play.google.com/store/apps/details?id=io.pslab
Java
2,046
star
8

susi.ai

SUSI.AI Web Client https://susi.ai
JavaScript
2,033
star
9

open-event-wsgen

Open Event Website App Generator https://sched.eventyay.com
JavaScript
2,013
star
10

open-event-attendee-android

Open Event Attendee Android General App https://github.com/fossasia/open-event-android/blob/apk/open-event-dev-app-playStore-debug.apk
Kotlin
1,947
star
11

star-me

Star FOSSASIA Repositories on Github and Support the Community
JavaScript
1,905
star
12

fossasia.org

FOSSASIA Website https://fossasia.org
Less
1,883
star
13

susi_iOS

SUSI AI iOS app http://susi.ai
Swift
1,869
star
14

loklak_search

Frontend Search for loklak server https://loklak.org
TypeScript
1,831
star
15

badgemagic-android

Badge Magic with LEDs - Android App https://play.google.com/apps/testing/org.fossasia.badgemagic
Dart
1,828
star
16

badgeyay

Attendee Badge Generator for Conferences
JavaScript
1,787
star
17

open-event-organizer-android

Open Event Mobile App for Organizers and Entry Managers https://play.google.com/store/apps/details?id=com.eventyay.organizer
Java
1,784
star
18

meilix

Beautiful Linux System https://meilix.org | APT Repo: http://meilix.fossasia.org
Python
1,772
star
19

pslab-desktop

PSLab Desktop Application https://pslab.io
JavaScript
1,763
star
20

susper.com

Susper Decentralised Search Engine https://susper.com
TypeScript
1,734
star
21

open-event

Open Event Project, Samples, Documentation and Artwork http://open-event-dev.herokuapp.com
Python
1,701
star
22

neurolab-android

NeuroLab Android https://github.com/fossasia/neurolab-android/raw/apk/neurolab-dev-debug.apk
Java
1,700
star
23

labs.fossasia.org

Projects Website for FOSSASIA http://labs.fossasia.org
CSS
1,669
star
24

query-server

Query Server Search Engines
Python
1,659
star
25

gci16.fossasia.org

FOSSASIA Google Code-In Website 2016/17 http://gci16.fossasia.org
HTML
1,652
star
26

pslab-hardware

PSLab Hardware Design and Schematics https://pslab.io
Prolog
1,642
star
27

codeheat.org

Codeheat Coding Contest Website https://codeheat.org
Less
1,628
star
28

pslab-python

Python Library for PSLab Desktop: https://pslab.io
Python
1,624
star
29

pslab-scripts

Pocket Science Lab - Scripts for Sensor Experiments
Python
1,604
star
30

susi_linux

Hardware for SUSI AI https://susi.ai
Python
1,604
star
31

flappy-svg

Flappy Bird in SVG. Play it at http://fossasia.github.io/flappy-svg/
JavaScript
1,604
star
32

gci17.fossasia.org

FOSSASIA Google Code-In Website 2017/18 https://gci17.fossasia.org
CSS
1,598
star
33

gci15.fossasia.org

FOSSASIA Google Code-In Website 2015/16 http://gci15.fossasia.org
HTML
1,596
star
34

2017.fossasia.org

FOSSASIA Summit 2017 https://2017.fossasia.org
HTML
1,580
star
35

2018.fossasia.org

FOSSASIA Summit 2018 https://2018.fossasia.org
HTML
1,577
star
36

fossasia-communities

FOSSASIA API Files of Communities in Asia
1,576
star
37

susi_skill_cms

A web application framework to edit susi skills http://skills.susi.ai
JavaScript
1,572
star
38

open-event-attendee-ios

iOS app for open event
Swift
1,570
star
39

gci14.fossasia.org

FOSSASIA Google Code-In Website 2014/15 http://gci14.fossasia.org
JavaScript
1,569
star
40

2016.fossasia.org

FOSSASIA Summit 2016 https://2016.fossasia.org
CSS
1,564
star
41

2012.fossasia.org

FOSSASIA Summit 2012 Event Site https://2012.fossasia.org
CSS
1,563
star
42

knittingpattern

A Python Library for Knitting Patterns
Python
1,562
star
43

loklak_webclient

loklak web application
JavaScript
1,553
star
44

pslab-firmware

Firmware for PSLab Open Hardware Platform https://pslab.io
C
1,550
star
45

loklak_wok_android

"loklak wok" is a harvesting peer for the loklak_server https://github.com/fossasia/loklak_wok_android/raw/apk/loklak_wok_1.2_20160201.apk
Java
1,549
star
46

directory.api.fossasia.net

Python
1,547
star
47

neurolab-hardware

Neurolab Hardware
1,541
star
48

yaydoc

Docs! Yay! http://yaydoc.org
JavaScript
1,540
star
49

2015.fossasia.org

FOSSASIA Summit 2015 Event Site https://2015.fossasia.org
CSS
1,539
star
50

susi_chromebot

SUSI.AI Chrome Extension
JavaScript
1,538
star
51

meilix-systemlock

Meilix system lock
Python
1,537
star
52

2014.fossasia.org

FOSSASIA Summit 2014 Event Site http://2014.fossasia.org
HTML
1,537
star
53

x-mario

x-mario, the gaming distro
Shell
1,534
star
54

phimpme-drupal

Phimp.me - Photo App on Drupal
PHP
1,534
star
55

knitlib

Knitting backend library for knitting machines
Python
1,532
star
56

yaydoc-artwork

Open Source Books
1,532
star
57

phimpme-wordpress

Phimp.me - Photo App on Wordpress
PHP
1,532
star
58

sg18.sciencehack.asia

UNESCO Hackathon Website at the FOSSASIA Summit Singapore https://sg18.sciencehack.asia
CSS
1,532
star
59

searss

Search to RSS tool
Python
1,531
star
60

CommonsNet

Sharing and Transparency for WiFi Networks
JavaScript
1,531
star
61

knitweb

knitting web app frontend and backend
JavaScript
1,530
star
62

meilix-generator

WebApp for generating a custom ISO image based on Meilix http://meilix.org
HTML
1,530
star
63

pslab-case

PSLab Case https://pslab.io
1,530
star
64

fossasia.net

FOSSASIA.net Website https://fossasia.net
HTML
1,530
star
65

2011.fossasia.org

FOSSASIA Summit 2011 Event Site http://2011.fossasia.org
HTML
1,530
star
66

unesco.sciencehack.asia

UNESCO Hackathon Website https://unesco.sciencehack.asia
CSS
1,530
star
67

pslab-expeyes

PSLab for ExpEYES - Science Experiments and Data Acquisition for Physics Education https://pslab.io
Python
1,529
star
68

api.fossasia.net

FOSSASIA API
JavaScript
1,529
star
69

xmario_buildscript

x-mario build script
Shell
1,529
star
70

fossasia-nodemailer

JavaScript
1,529
star
71

2023.fossasia.org

HTML
1,528
star
72

hotelxoai.com

The Open Source Hotel in the Mekong Delta in Vietnam
HTML
1,527
star
73

2010.fossasia.org

FOSSASIA Summit 2010 Event Site http://2010.fossasia.org
HTML
1,527
star
74

fossasia11-drupal

FOSSASIA 2011 Drupal Site
PHP
1,526
star
75

blog.fossasia.org

Issue Tracker for https://blog.fossasia.org
1,526
star
76

susi_smart_box

SUSI.AI Smart Box https://susi.ai
1,526
star
77

fossasia10-drupal

FOSSASIA 2010 Drupal Site
PHP
1,525
star
78

perspektive89.com

Open Source Journal Perspektive89.com
1,525
star
79

cmap.api.fossasia.net

FOSSASIA Community Map
JavaScript
1,523
star
80

feed.api.fossasia.net

PHP
1,522
star
81

loklak-webtweets

FOSSASIA Tweets with loklak http://fossasia.github.io/loklak-webtweets/
Less
1,522
star
82

foss.vn

FOSS.vn Website http://foss.vn
HTML
1,522
star
83

labyrinth

FOSSASIA Labyrinth
JavaScript
1,519
star
84

pslab-test-jig

PSLab Test Jig - Boards to test PSLab hardware https://pslab.io
1,518
star
85

jugaadfest.com

Jugaadfest in India https://jugaadfest.com
HTML
1,518
star
86

knitpat

Knitting Pattern Format
Python
1,518
star
87

susi_tweetbot

Twitter Bot for Susi http://susi.ai
JavaScript
1,517
star
88

open-event-scraper

Google spreadsheet parsing for Open Event JSON
Python
1,516
star
89

fossasia.github.io

FOSSASIA.GitHub.io
HTML
1,516
star
90

knitserver

JavaScript
1,515
star
91

open-event-next

Open Event Frontend "Next Version" with Vue.js
TypeScript
1,515
star
92

susi_skill_data

A storage place for SUSI.AI skills https://susi.ai
1,514
star
93

loklak_tweetheatmap

Heat map with tweets by search query using Loklak API and OpenLayers 3
JavaScript
1,513
star
94

sciencehack.asia

Science Hack Website http://sciencehack.asia
CSS
1,512
star
95

fossasia-artwork

Artwork related to FOSSASIA
1,512
star
96

susi_telegrambot

Susi Telegram Bot http://susi.ai
JavaScript
1,511
star
97

timeline.api.fossasia.net

JavaScript
1,511
star
98

susi_fbbot

Susi Facebook Bot http://susi.ai
JavaScript
1,510
star
99

susi_slackbot

Ask Susi Messengers http://susi.ai
JavaScript
1,510
star
100

kniteditor

Kniteditor
Inno Setup
1,509
star