This document outlines the proposed user experience for v1.0 of the AI plugin for Mattermost.
AI Assistant RHS
The best way to access the AI assistant for general queries is to open it from the new apps bar icon at the top of the apps bar. Clicking here will open a new conversation with the assistant where you can begin asking the bot anything you’d like assistance with.
The underlying foundation of the AI assistant is really just the standard DM with the bot, it will just present differently and opens in the RHS rather than the main center panel.
Benefits of using the Apps bar RHS for this:
Allows for better multi-tasking with the AI bot. The RHS works well for multi-tasking and we anticipate the AI assistant to be used in this manner often
Offers a consistent way to display the various summarizations and tasks that the assistant can perform
Easy access to always get back to the assistant from anywhere in the app
Immediately displays the streaming responses in the RHS without having to first click into a collapsed thread with CRT. Feels more responsive this way.
Default State - New Thread View
By default, the AI Assistant RHS opens in a new blank thread view with an introduction and some prompts on how users can get started.
Chat history button
Switches the AI Assistant RHS view to the history view which shows all threads in a list format (similar to the threads inbox view)
New thread button
If you’re already in a new thread without any messages yet, this button is disabled. Once the thread you’re viewing has messages in it, this button then becomes enabled.
Intro and Suggested Prompts
When a new thread is started, and welcoming intro displays with an illustration, intro text and suggested prompts.
Clicking on any of the suggested prompts will auto-fill the message input. For example, clicking “Brainstorm ideas” will auto-fill the input with “Brainstorm ideas about”.
Message Input
Instead of the standard Reply to this thread
, the message input placeholder should show Ask AI Assistant anything
.
Blinking cursor for streaming response
While AI Assistant is streaming a response, there should be a blinking box cursor that displays at the end of the stream.
Typicing indicator
In addition, we can use the ‘User is typing’ indicator that we currently have on the thread view to indicate AI assistant is writing.
Stop generating button
While a response is streaming, users can stop the stream by pressing ‘Stop generating’. This button is only available while the response is streaming.
Regenerate button
When a stream has stopped, a ‘regenerate' button appears giving the option for the assistant. This button should only be available on the most recent response from the assistant.
When this button is pressed, the message is replaced with a new streaming response.
Thumbs-up/down feedback buttons
These buttons provide users with the ability to provide feedback back to the LLM about the quality of the responses. These buttons are available for all messages from the assistant.
Persisting the last state of the AI Assistant RHS view for 1 hr
Once the user has interacted with the assistant, we should remember the user’s last state when opening the RHS.
After 1hr elapses since the last activity with the assistant, RHS should reset to open a new thread state.
Chat History View
The chat history view behaves just like the threads inbox view.