Skip to content
Tune is a Chrome extension that allows users set the "volume" of comment threads online by choosing what comments to read based on Toxicity scores provided by the Perspective API.
Branch: master
Clone or download
Latest commit ce3f614 Mar 5, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci initial commit Jan 24, 2019
src Merge pull request #7 from conversationai/rachelrosen_analytics Mar 5, 2019
third_party/@types initial commit Jan 24, 2019
.travis.yml Use build:all in Travis CI to avoid dependency on credentials file. Jan 28, 2019 initial commit Jan 24, 2019
LICENSE initial commit Jan 24, 2019
angular.json initial commit Jan 24, 2019 initial commit Jan 24, 2019
fuse.background.js initial commit Jan 24, 2019
manifest_creds_template.json initial commit Jan 24, 2019
manifest_generate.js version bump Mar 5, 2019
package.json Add updated icon to manifest. Mar 5, 2019


Tune is a Chrome Extension that lets the user choose the 'volume' of the conversation they wish to read. It uses the Perspective API to score comments, and lets the user specify what kinds types of comments they would like to see less of. To help improve the machine learning behind the API, the user can also provide feedback, and send suggested corrections.


Creating new credentials

The extension needs credentials to score comments with Perspective API.

Copy the manifest_creds_template.json file to manifest_creds_dev.json and edit it. Replace the client_id and key fields with the appropriate values. See the Chrome documentation for how to set this up. The client_id typically looks like <cloud-project-number>-<hexadecimal-string>

Note that the Google Cloud project associated with the extension will need to have Perspective API enabled (see the first 2 steps from the Perspective API quickstart guide for how to enable the API for your Cloud project).


Run npm install then npm run build to build a development version of the extension. The build artifacts will be stored in the dist/ directory.

You can install the extension from Chrome's extensions page chrome://extensions/: click on the "Load Unpacked", and select the directory dist/.

Note: to build a working extension, you'll need to have a correctly configured manifest_creds_dev.json file from either the previous step, or a copy of the official credentials.

Build details

There are 4 build targets:

  1. The popup (chrome extension UI). This is an Angular project.
  2. Background script.
  3. Content script (the DOM modifying script injected onto sites).
  4. Custom elements script. This is an Angular project script with custom angular elements to use in DOM manipulation. It is built with angular devkit as an app and then the output js files are injected into the document like the content script.

Unit tests and linting

Run npm test to execute the unit tests via Karma.

Run npm lint to lint.


This is not an official Google product; it is example code to illustrate how to develop a Chrome extension that uses the Perspective API.

You can’t perform that action at this time.