Skip to content

Firefox Voice is an experiment in a voice-controlled web user agent

License

Notifications You must be signed in to change notification settings

maloney8/firefox-voice

 
 

Firefox Voice

Firefox Voice is an experiment from Mozilla Research.

Firefox Voice is a browser extension that allows you to give voice commands to your browser, such as "what is the weather?" or "find the gmail tab". Ultimately the goal is to see if we can facilitate meaningful user interactions with the web using just voice-based interactions. Initially the goal is to provide any useful interactions.

Developing

There is some documentation in the docs/ directory, notably writing an intent.

If you are using Windows, please install WSL, as the installation won't work from a normal Windows command prompt.

The developer installation is:

npm install
npm start

This will launch a new Firefox browser with the extension installed. You should probably have Nightly or Developer Edition installed.

By default this will use Firefox Nightly, but you can override this with the environmental variable $FIREFOX (you can point it to a release version, but some things may not work; also you can use a localized Firefox or an unbranded Firefox). You can also set $PROFILE to a directory where the profile information is kept (it defaults to ./Profile/).

By default messaging-related logging messages aren't shown, you can turn logging up slightly with $LOG_LEVEL=messaging (or like LOG_LEVEL=messaging npm start).

JSX changes

The .jsx files (used for the popup UI) are not automatically regenerated when you use npm start. If you want to watch for changes to these files and rebuild them, in a separate console rule:

npm run watch

Debugging the popup

The popup can be hard to debug, since it disappears and there's no debugging tools. But the popup can also run in a tab. The easiest way to do this is to run:

OPEN_POPUP_ON_START=1 npm start

This will open the popup in a tab and reopen it whenever the extension restarts. Reloading the tab is equivalent to reopening the popup.

Writing a new command / intent

Please see Writing An Intent.

Using in-development versions

It's possible to install and use in-development versions of the extension. Every commit to master is built into the dev build, and when we prepare for a release and merge to stage is used to create the stage build.

NOTE THAT THESE VERSIONS INCLUDE EXTRA DATA COLLECTION

We are using these builds for internal testing with more-than-normal data collection. We have not yet implemented data collection controls.

The version numbers are increased for each release and each commit, but are not sequential.

Viewing Intent Information

There is an index of intents (commands) that is viewable if you open the panel, click on the gear/settings, and follow the "Intent Viewer" link.

Contributing

See the guidelines for contributing to this project.

This project is governed by a Code Of Conduct.

To disclose potential a security vulnerability please see our security documentation.

This module is licensed under the Mozilla Public License, version 2.0.

About

Firefox Voice is an experiment in a voice-controlled web user agent

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 84.2%
  • HTML 8.5%
  • CSS 4.7%
  • Shell 1.4%
  • Python 1.2%