Search Widget
Introduction
The DocsGPT Search Bar Widget offers a simple yet powerful way to embed AI-powered document search directly into your web applications. This widget allows users to perform searches across your documents or pages, enabling them to quickly find the information they need. This guide will walk you through embedding the Search Bar Widget into your projects, whether youโre using React or plain HTML.
Try out the interactive widget showcase and customize its parameters at the DocsGPT Widget Demoย .
Setup
React
React Setup
Installation
Make sure you have Node.js and npm (or yarn, pnpm) installed in your project. Navigate to your project directory in the terminal and install the docsgpt package:
npm install docsgptUsage
In your React component file, import the SearchBar component:
import { SearchBar } from "docsgpt";Now, you can embed the widget within your React componentโs JSX:
<SearchBar
apiKey="your-agent-api-key"
apiHost="https://gptcloud.arc53.com"
theme="light"
placeholder="Search or Ask AI..."
width="300px"
/>Properties Table
The DocsGPT Search Bar Widget offers a range of customizable properties that allow you to tailor its appearance and behavior to perfectly match your web application. These parameters can be modified directly when embedding the widget in your React components or HTML code. Below is a detailed overview of each available prop:
| Prop | Type | Default Value | Description |
|---|---|---|---|
apiKey | string | a DocsGPT demo agentโs key | Required. The API key of your published agent (see Agent API keys). Search runs over that agentโs knowledge. An empty key gets 400 api_key is required, and an omitted key searches a public DocsGPT demo agent. |
apiHost | string | "https://gptcloud.arc53.com" | The URL of your DocsGPT API backend (DocsGPT Cloud by default). Self-hosted: your API URL, e.g. http://localhost:7091. |
theme | "dark" | "light" | "dark" | Color theme of the search bar and of the chat it opens. Options: "dark" or "light". Defaults to "dark". |
placeholder | string | "Search or Ask AI..." | Placeholder text displayed in the search input field. |
width | string | "256px" | Width of the search bar. Accepts any valid CSS width value (e.g., "300px", "100%", "20rem"). |
buttonText | string | "Search here" | Label of the button that opens the search panel. |
allowedFileExtensions | string[] | unset | Passed to the chat opened from โAsk the AIโ. File extensions its composer accepts, e.g. ['.pdf', '.md']; attachments stay off while unset. See the chat widget page. |
showMicButton | boolean | false | Adds a microphone to the search field for dictating a query, and passes the same option to the chat opened from โAsk the AIโ. Uses the browserโs Web Speech API. See the chat widget page. |
Notes on Widget Properties
- Full Customization: Every property listed in the table can be customized. Override the defaults to create a Search Bar Widget that perfectly matches your branding and application context.
- API Key Handling: The search bar needs the API key of a published agent;
/api/searchrejects requests without one. See Agent API keys. If you leaveapiKeyout, the search bar falls back to a built-in key for a public DocsGPT demo agent: on DocsGPT Cloud it searches that demo agentโs knowledge instead of yours, and on a self-hosted instance the key is invalid and searches fail.apiHostfor DocsGPT Cloud ishttps://gptcloud.arc53.com.
Explore and Customize Further
The DocsGPT Search Bar Widget is fully open-source, allowing for deep customization and extension beyond the readily available props.
The complete source code for the React-based widget is available in the extensions/react-widget directory within the main DocsGPT GitHub Repositoryย . Feel free to explore the code, fork the repository, and tailor the widget to your exact requirements.