Note: The widget requires a Danswer API key, which is a paid (cloud/enterprise) feature.
This is a code example for how you can use Danswer's APIs to build a chat bot widget for a website! The main code to look at can be found in src/app/widget/Widget.tsx
.
To get the widget working on your webpage, follow these steps:
Ensure you have the necessary dependencies installed. From the examples/widget/README.md
file:
npm i
Make sure to set the environment variables NEXT_PUBLIC_API_URL
and NEXT_PUBLIC_API_KEY
in a .env
file at the root of your project:
NEXT_PUBLIC_API_URL=
NEXT_PUBLIC_API_KEY=
Start the development server to see the widget in action.
npm run dev
Open http://localhost:3000 with your browser to see the result.
To integrate the widget into your webpage, you can use the ChatWidget
component. Here’s an example of how to include it in a page component:
import ChatWidget from 'path/to/ChatWidget';
function MyPage() {
return (
<div>
<h1>My Webpage</h1>
<ChatWidget />
</div>
);
}
export default MyPage;
Once you are satisfied with the widget, you can build and start the application for production:
npm run build
npm run start
If you need to customize the widget, you can modify the ChatWidget
component in the examples/widget/src/app/widget/Widget.tsx
file.
By following these steps, you should be able to get the chat widget working on your webpage.
If you want to get fancier, then take a peek at the Chat implementation within Danswer itself here.