Skip to content

Volto addon that integrates Danswer chatbot assistants

License

Notifications You must be signed in to change notification settings

eea/volto-chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Volto Chatbot

Releases

Pipeline Lines of Code Coverage Bugs Duplicated Lines (%)

Pipeline Lines of Code Coverage Bugs Duplicated Lines (%)

Volto add-on that integrates an AI-powered chatbot with a customizable interface and advanced settings to tailor its behavior and enhance user interactions.

Features

screen-capture-12-1nwiykox_h6VKRbhW.mp4

The Volto Chatbot block allows the integration of an AI-powered chatbot into your Volto project. It offers a customizable interface and advanced settings to tailor the chatbot's behavior to your needs. Below is an overview of its features and configuration options.


Functionalities

Property Description Type Default
assistant Choose from the list of available assistants configured in the application. Dropdown -
qgenAsistantId Select an assistant for generating related questions. Dropdown -
enableQgen Toggle the generation of related questions. Boolean false
placeholderPrompt Set placeholder text for the chat input field. String Ask a question
showAssistantTitle Display or hide the assistant's title in the chat interface. Boolean true
showAssistantDescription Display or hide the assistant's description in the chat interface. Boolean true
showAssistantPrompts Show or hide predefined prompts provided by the assistant. Boolean true
chatTitle Title assigned to saved chats, visible only in Danswer or analytics. String Online public chat
height Set the height of the chat window using CSS dimensions (e.g., 500px, 70vh). String -
scrollToInput Automatically scroll the page to focus on the chat input when interacting. Boolean false

Getting started

Try volto-chatbot with Docker

  git clone https://github.com/eea/volto-chatbot.git
  cd volto-chatbot
  make
  make start

Go to http://localhost:3000

Add volto-chatbot to your Volto project

  1. Make sure you have a Plone backend up-and-running at http://localhost:8080/Plone

    docker compose up backend
  2. Start Volto frontend

  • If you already have a volto project, just update package.json:

    "addons": [
        "@eeacms/volto-chatbot"
    ],
    
    "dependencies": {
        "@eeacms/volto-chatbot": "*"
    }
  • If not, create one:

    npm install -g yo @plone/generator-volto
    yo @plone/volto my-volto-project --canary --addon @eeacms/volto-chatbot
    cd my-volto-project
    
  1. Install new add-ons and restart Volto:

    yarn
    yarn start
    

Environment Configuration

To properly configure the middleware and authenticate with the Danswer service, ensure that the following environment variables are set:

Environment Variable Description
DANSWER_URL The base URL of the Danswer service (e.g., https://api.danswer.com).
DANSWER_USERNAME Username for authenticating with the Danswer service.
DANSWER_PASSWORD Password for authenticating with the Danswer service.

Example .env File

Create a .env file in your project root with the following content:

DANSWER_URL=https://api.danswer.com
DANSWER_USERNAME=your_username
DANSWER_PASSWORD=your_password

If you encounter issues, double-check your .env configuration and ensure the Danswer service is accessible at the URL you’ve provided.

Release

See RELEASE.md.

How to contribute

See DEVELOP.md.

Copyright and license

The Initial Owner of the Original Code is European Environment Agency (EEA). All Rights Reserved.

See LICENSE.md for details.

Funding

European Environment Agency (EU) de is European Environment Agency (EEA). All Rights Reserved.

See LICENSE.md for details.

Funding

European Environment Agency (EU)