Doc Sailor is a browser extension built to search and explore documentation across entire sites using advanced hybrid search, not just the page you are on. Enter what you need and it uses semantic understanding to scan linked pages, subpages and related resources to uncover exact matches or closely related information. Doc Sailor helps you quickly discover where the answers live, saving you from tedious manual navigation through dense content.
Follow these steps to set up and run the project locally.
Clone the repository:
git clone <repository-url>
cd projectcd backendCopy the example .env file:
cp .env.example .envOpen the .env file in a text editor and fill in the required values:
MISTRAL_API_KEY=your_mistral_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here
# default
QDRANT_URL=http://qdrant:6333
COLLECTION_NAME=knowledge_base
EMBEDDING_MODEL=BAAI/bge-small-en-v1.5
DENSE_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
BM25_EMBEDDING_MODEL=Qdrant/bm25
LATE_INTERACTION_EMBEDDING_MODEL=colbert-ir/colbertv2.0
Run the backend using Docker:
docker-compose up --buildcd ../frontendCopy the example .env file:
cp .env.example .envOpen the .env file in a text editor and set the API URL:
VITE_API_URL=http://localhost:8000
npm installnpm run buildAfter building, you will find the /dist folder in the root of the frontend directory.
To load your built frontend as an unpacked extension:
- Go to the Extensions page in Chrome by entering
chrome://extensionsin a new tab. (Note: Chrome'schrome://URLs aren’t linkable.) - Alternatively, you can click the Extensions puzzle icon → select Manage Extensions, or open the Chrome menu → More Tools → Extensions.
- Enable Developer mode using the toggle switch at the top-right.
- Click Load unpacked and select the
distfolder from your frontend directory.
For more detailed guidance and context, check out the official Chrome Developers tutorial “Hello World” here: https://developer.chrome.com/docs/extensions/get-started/tutorial/hello-world
You're all set!
Backend is running via Docker, and the frontend is built and ready to use.
If something here could be improved, please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
