Coder Social home page Coder Social logo

susi_firefoxbot's Introduction

susi_firefoxbot

SUSI.AI Firefox Extension

Join the chat at https://gitter.im/fossasia/susi_server Build Status Codacy Badge Browser Status Twitter Follow

SUSI_FIREFOXBOT_GIF

Our Project Objectives

The central objective of this project is to develop a firefox addon for interacting with SUSI AI chatbot using WebExtension APIs.

What is SUSI

Susi is an artificial intelligence combining pattern matching, internet data, data flow principles and inference engine principles. It has reflection abilities and it will be able to remember the user's input to produce deductions and a personalized feedback. Its purpose is to explore the abilities of an artificial companion and to answer the remaining unanswered questions.

Why susi_firefoxbot

We noticed that users don't want to open susi web chat every time and would prefer to interact with SUSI while staying on the current tab. So, we figured that a web extension will solve this problem.

Installation

$ git clone https://github.com/fossasia/susi_firefoxbot
$ cd susi_firefoxbot
$ cd src
  1. Clone this repository.
  2. Open about:debugging on Mozilla firefox.
  3. Enable add-on debugging.
  4. Load temporary-addon from src folder.
  5. You will see an icon on the firefox's toolbar.
  6. Click on the icon and start interacting with SUSI.

How to publish or submit your add-on to AMO(https://addons.mozilla.org/)

  1. before we publish our add-on, we need to pack our add-on as a file, please check (https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext) to install web-ext, or simply type on your terminal or command line: npm install --global web-ext

  2. go to the folder of your add-on with manifest.json, in this case, we should go to "susi_firefoxbot/src/", test our add-on by typing: web-ext run

  3. if succeeded, firefox will be opened, and your add-on is shown on the tray of add-on, you can test all function of your add-on in real Firefox.

  4. to pack your add-on as a file, try to type: web-ext build

  5. when "Your web extension is ready: " show up, your add-on is worked and ready to use. the file name and version of "susi_chatbot-1.0.zip" is determined by manifest.json, remember to modify manifest.json when version changed

  6. go to https://addons.mozilla.org/en-US/firefox/ and register your AMO account.

  7. click "Developer Hub" at up-right, then select "Summit your first Add-on" or "Summit a New Add-on"

  8. at "How to Distribute this Version", choose "On this site" to make your Firefox Add-on to the public, or choose "On your own" to make this add-on private. now we choose "On your own" for our test project.

  9. at "Upload Version", select the packed file at "susi_firefoxbot/src/web-ext-artifacts/susi_chatbot-1.0.zip" to upload. originally, firefox's add-on support *.xpi, but now AMO can support *.xpi and *.zip.

  10. AMO will check and verify your add-on, it will tell you when the error happened. otherwise, you should get the success message like: "Your add-on was validated with no errors and xx warnings. Your submission will be automatically signed."

  11. if no problem, check support platform at "which platforms are this file compatible with", the default is All Platforms.

  12. click [Sign Add-on], your add-on will be signed, and you can download your add-on: "susi_chatbot-1.0-an+fx.xpi" to backup or send it to your friends,

  13. if you select "On this site" at step 8. , please describe your add-on with more detail information, and click [Sumbmit Version], your add-on will publish to global immediately, everyone can search your addon at AMO search bar

susi_firefoxbot's People

Contributors

adityasrivast avatar akshat-jain avatar aswinchand97 avatar championpaddler avatar divyam3897 avatar hpdang avatar im-gozmit avatar mariobehling avatar marvin08 avatar ms10398 avatar neeraj3029 avatar nifey avatar noahcse avatar parths007 avatar pipe-runner avatar rcya1 avatar rupav avatar samagragupta avatar sid911 avatar sudostatus200 avatar tstreamdoth avatar xeon-zolt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

susi_firefoxbot's Issues

Add feature which allows user to directly copy a selected word into susi and open susi

Presently there is only one context menu that directly searches a selected word. Although it is a great utility, still user might want to simply automatically copy a selected word into susi input field and then edit and finalise the query. This saves the user from typing large words and also editing the query before asking susi to get answer. For example if there is a word on the page 'neural-networks', user might want to search creator of neural networks, in that case using this feature he/she will be able to copy the word into susi (using context option), susi panel would automatically open and then he/she could type in the remaining query.

Add clear message history option

Actual Behaviour
No option to clear message history.

Expected Behaviour
Button in settings to clear history

Would you like to work on the issue?
Yes

Link to Addon Manager

Actual Behaviour
To access addon setting page the user needs to go the addon manager.

Expected Behaviour
Some users are not aware of addon manager. Provide helper button to redirect the user to addon manager.

Would you like to work on the issue?
Yes

Add "Change Password" option

Actual Behaviour
No option for changing the password after logging in.

Expected Behaviour
Show change password option

Would you like to work on the issue?
Yes

Option for custom server

Actual Behaviour

No option for setting custom server

Expected Behaviour

Add custom server option

Steps to reproduce it

Would you like to work on the issue?

Yes.

Show the correct response from the server

Actual Behaviour
Shows the incorrect response. It uses the answers parameter received from the server

Expected Behaviour
Show the correct response. Use the actions parameter received from the server

Screenshots of the issue
screenshot from 2017-09-27 16-05-39

Would you like to work on the issue?

Yes

Sync theme settings if user is logged in

Actual Behaviour
Currently, if the user is logged in and changes the theme setting the theme settings is not saved on the server.

Expected Behaviour
If the user is logged in and changes the theme setting the theme settings must be saved on the server.

Would you like to work on the issue?
Yes

To add a Susi-styled dropdown-menu

Since many features are being added on a daily basis.We need to add them under a drop-down menu.
Hence organising every thing.
Expected Behaviour
To add a dropdown menu combining all the features.

Steps to reproduce it
I would like to create it using jQuery in it.
Would you like to work on the issue?
Yes

Add context menu on right click

Actual Behaviour
While browsing, on selecting text and right-clicking on it, no option is shown for 'Ask Susi'

Expected Behaviour
Show option for 'Ask Susi'

Would you like to work on the issue?
Yes

Issue with the settings icon.

Actual Behaviour

The settings icon is static when hovered upon.

Expected Behaviour

The cursor can be changed into a pointer when hovered upon.
The settings icon can also be changed when hovered to create the illusion of a button.

Please suggest if this change is necessary...

Screenshots of the issue

icon-issue

Would you like to work on the issue?

Yes

Make map zoomable only after clicking

Actual Behaviour

When we are scrolling the messages, if there is a map message in between then the map starts zooming in when the mouse hovers over the map instead of the messages.

Expected Behaviour

It would be better if the map zooms only after clicking on the map and stops zooming when the mouse cursor moves out of the map.

Would you like to work on the issue?

Yes

How am I planning to implement this?

I am planning to implement this using event handling functions of leaflet.js.

Fix the lag when the popup is opened

Actual Behaviour

When we press the addon button, it takes sometime to load previous messages. This lag becomes noticable after using the chat for sometime.

Expected Behaviour

I suggest limiting the number of messages restored initially to a finite number (say 10). The older messages can be loaded on demand when the user scrolls up.

Please share your thoughts on this issue.

Would you like to work on the issue?

Yes

Change marker text in maps

Actual Behaviour

When we ask "where is America" the add on responds with a map of America and a marker that says "I am here".

Expected Behaviour

I think the marker text could be changed to "Here" instead of "I am here" to be more apt to the query.

Screenshots of the issue

screenshot

Would you like to work on the issue?

No

Make send icon attractive.

Actual Behaviour

Send button icon is black.

Expected Behaviour

It's colour should match with button in https://chat.susi.ai/

Steps to reproduce it

Check button icon.

Screenshots of the issue
3

Would you like to work on the issue?

Yes.

No option to choose language

Actual Behaviour

Currently, the default language is set English. No option to choose other languages.

Expected Behaviour

Give user option to change the language.

Would you like to work on the issue?

Yes

Support for map type of response from server

Actual Behaviour

When the server sends a response to display a map, no map is shown.

Expected Behaviour

Read and show the map response from the server

Would you like to work on the issue?

Yes.
(Any suggestions on how to implement this would be great)

Support for different types of responses from server

Actual Behaviour
Only text response from the server is shown

Expected Behaviour
Support different types of responses like images, links, rss etc. Also select the correct response type from the server.

Would you like to work on the issue ?
Yes

Login feature

Actual Behaviour

Currently, No Login feature is available.

Expected Behaviour

The user shall be able to login.

Would you like to work on the issue?

Yes.

Support for theme preferences

Actual Behaviour
Currently, only the light theme is being used by default.

Expected Behaviour
Give the option to choose a theme.

Would you like to work on it?
Yes

It does not shows any link or image with message "I found this on the web".

Actual Behaviour

whenever susi gives response after searching on the web ,it does not shows any image or link with message with message "I found this on the web".

Expected Behaviour
whenever susi gives response after searching on the web ,there should be a link or image with message "I found this on the web".

Steps to reproduce it

  1.Type any celebrity name .
  2.There won't be any image or link in response.

Screenshots of the issue
fire

Would you like to work on the issue?

Yes.

Prevent the theme from getting cleared

Actual Behaviour

When we press the clear history button the theme is also cleared and is set to light theme.

Expected Behaviour

The clear history button should only clear the messages and mapdata. The theme should not be cleared.

Steps to reproduce it

  • set the theme to dark
  • click on the clear history button
  • now check the theme

Screenshots of the issue

Before
before

After
after

Would you like to work on the issue?

Yes . Please suggest if this is necessary.

Create keyboard shortcut for quicker access

Actual Behaviour

There is no keyboard shortcut to access the add on.

Expected Behaviour

A keyboard shortcut can make it easier and quicker to access SUSI.AI add on. Please suggest if this is necessary.

Would you like to work on the issue?

Yes

Update .gif in readme

Actual Behaviour
Outdated .gif in documentation.

Expected Behaviour
Make a new .gif of the addon and update it.

Would you like to work on the issue?
No

Add hyperlink to the search result

Actual Behaviour

Any link coming from the server is in plain text
image

Expected Behaviour
Identify any hyperlink in the response and put anchor tag around it.
image

Steps to reproduce it

Ask Susi - "Search for fire"

Would you like to work on the issue?

No

Show Indication for logged in user

Actual Behaviour

No way of knowing whether the user is logged in or not.

Expected Behaviour

Show the email address of the logged in user and show the option for logout

Would you like to work on the issue?
Yes

Add "select language" option

Actual Behaviour

Currently, the default language is English.

Expected Behaviour

Avail "Select language" option for the user.

Would you like to work on the issue?

Yes

Support for different icon sizes

Actual Behaviour
Currently, only one variant of the icon is being used. (Check the manifest file)

Expected behaviour
Add icons of different size to support

Would you like to work on the issue?
No

Option to connect to SUSI Hardware

Actual Behaviour
No option for connecting to SUSI Hardware

Expected Behaviour
Option for connecting to SUSI Hardware

Would you like to work on the issue?
Yes

Issue & Pull Request Template

Actual Behaviour
No templates for issue & pull request

Expected Behaviour
Must have templates for issue & pull request to promote fossasia best practices. Refer to other repos of fossasia for reference.

Would you like to work on the issue
No

Add Speech to text

Actual Behaviour

Till now Speech to text is not implemented in the extended

Expected Behaviour

After this speech to text option will be there in the extension

Would you like to work on the issue?

Yes I would like to work on the issue

Theme change toggle/icon

Actual Behaviour

No icon for theme change.

Expected Behaviour
There has to be setting icon in the popup for theme change

Steps to reproduce it
Just like in readme
Screenshots of the issue
I loaded manifest.json
2017-10-03

Would you like to work on the issue?
Yes

Add selection text in context menu title

Actual Behaviour

Currently, the context menu title is Ask SUSI

Expected Behaviour

The context menu title must be like google search option with the selected text
screen shot 2017-10-25 at 8 29 57 pm

Would you like to work on the issue?

Yes

Cache messages in browser data

Actual Behaviour
Currently when the user clicks away from the popup and opens the chatbot the previous messages get deleted.

Expected Behaviour
The conversation history must be retained by caching.

Would you like to work on the issue?
Yes

Images are not showing in the extension

Actual Behaviour

It shows the link of the image intead of displaying image.

Expected Behaviour

It should show the image.

Steps to reproduce it

Type Show me a dog in the chat.

Screenshots of the issue

firefox

Would you like to work on the issue?

Yes

UI improvements in Settings page

Changes proposed

  • Show loading icon while logging in
  • Show indication while retrieving chat after logging in
  • Have a horizontal line after main headings
  • Change text and functionality to "Clear message history"
  • Autosave theme on changing

Screenshots of the issue
image

Would you like to work on the issue?
Yes

Issue with the dark theme when the server is down.

Actual Behaviour

The dark theme is not applied to the most recent message when the server is down.

Expected Behaviour

Dark theme can be applied to that response so that the chat UI remains uniform.Please,suggest if this change is necessary.Shall I proceed with it?

Steps to reproduce it

Providing a wrong URL in the Ajax request can simulate a down server.

Screenshots of the issue

issue_dark

Would you like to work on the issue?

Yes.

Time formatting for retrieved messages

Actual Behaviour
Currently, the time format for retrieved messages is HH:MM:SS

Expected Behaviour
Time format must be HH:MM

Would you like to work on the issue?
Yes

Enhance settings page login and change password option

Actual Behaviour

All the setting options which contain form is listed on one single page.

Expected Behaviour

Make the forms appear on click of button instead of displaying all the fields

Screenshots of the issue
screen shot 2017-10-26 at 8 26 36 pm

screen shot 2017-10-26 at 8 23 12 pm

Would you like to work on the issue?

Yes

Retrieve chat history if logged in

Actual Behaviour
No chat history retrieval after log in

Expected Behaviour
Recover chat history after log in

Would you like to work on the issue?
Yes

After login, use access token for the api calls

Actual Behaviour

After user logs in the api calls made to the server are without the access token

Expected Behaviour

After user logs in the api calls made to the server using access token so that the chat history is recorded for the user.

Would you like to work on the issue?
Yes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.