Skip to content

Latest commit

 

History

History
126 lines (88 loc) · 4.35 KB

developer_docs.md

File metadata and controls

126 lines (88 loc) · 4.35 KB

Mattermost OpenAI Plugin

Table of Contents

License

See the LICENSE file for license rights and limitations.

Overview

This plugin integrates the services of OpenAI in Mattermost. For a stable production release, please download the latest version from the Github Releases and follow the instructions to install and setup the plugin.

Features

This plugin contains the following features:

  • Chat with OpenAI in RHS: You can interact with OpenAI by texting via the input field present in RHS. image

  • Generate images from text prompts in RHS: You can generate images using the slash command below in RHS.

    /image [x256 | x512 | x1024] [text prompt]
    

    image

  • Summarize post threads in any channel: You can summarize any post threads of a channel by clicking on the option "Summarize" under "Message actions". image

Installation

  1. Go to the releases page of this GitHub repository and download the latest release for your Mattermost server.

    Note:: The minimum supported version of the Mattermost server for this plugin to run is v7.8.2.

  2. Upload this file to the Mattermost System Console > Plugins > Management page to install the plugin. To learn more about how to upload a plugin, see the documentation.

  3. Enable the plugin from System Console > Plugins > OpenAI.

Setup

References

You can read the below mentioned documents to get knowledge about OpenAI services.

Development

Setup

Make sure you have the following components installed:

Building the plugin

Run the following command in the plugin repo to prepare a compiled, distributable plugin zip:

make dist

After a successful build, a .tar.gz file in /dist folder will be created which can be uploaded to Mattermost. To avoid having to manually install your plugin, deploy your plugin using one of the following options.

Deploying with Local Mode

If your Mattermost server is running locally, you can enable local mode to streamline deploying your plugin. Edit your server configuration as follows:

{
    "ServiceSettings": {
        ...
        "EnableLocalMode": true,
        "LocalModeSocketLocation": "/var/tmp/mattermost_local.socket"
    },
}

and then deploy your plugin:

make deploy

You may also customize the Unix socket path:

export MM_LOCALSOCKETPATH=/var/tmp/alternate_local.socket
make deploy

If developing a plugin with a web app, watch for changes and deploy those automatically:

export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_TOKEN=j44acwd8obn78cdcx7koid4jkr
make watch

Deploying with credentials

Alternatively, you can authenticate with the server's API with credentials:

export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_USERNAME=admin
export MM_ADMIN_PASSWORD=password
make deploy

or with a personal access token:

export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_TOKEN=j44acwd8obn78cdcx7koid4jkr
make deploy

Made with ♥ by Brightscout