This guide walks you through cloning Sherpa, starting the backing stores, registering a document folder as a knowledge base, and sending your first question. Everything runs locally on Linux or WSL2. The whole process takes about five minutes on a machine where Python 3 and Docker are already installed.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tudoumono/Sherpa/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you start, make sure the following are available on your machine:| Requirement | Check | Notes |
|---|---|---|
| Python 3 | python3 --version | Includes python3-venv and python3-pip |
| Docker Engine + Docker Compose | docker --version and docker compose version | Docker Desktop works too — start the app first |
Setup and first query
Clone the repository
Clone the Sherpa repository and enter the project directory:Alternatively, if you downloaded a release tarball from the GitHub Releases page:
Start Sherpa
Run the single startup script:You can also use the Makefile alias:On the first run,
start.sh does the following in order:- Creates a Python virtual environment at
.venv/ - Installs all Python dependencies from
requirements.txt - Starts the Docker containers for PostgreSQL, Neo4j, and Elasticsearch (
docker compose up -d) - Runs
scripts/bootstrap.shto create required local directories and prepare the.envfile - Launches the FastAPI application on port
8000
OPENAI_API_KEY in your .env is unset or still set to the placeholder sk-REPLACE_ME, the script prints an advisory message but does not block startup. You can still use the chat UI with the “No AI” or “Local LLM (Ollama)” model options.To use a different port, prefix the command with the The chat UI will then be at
SHERPA_PORT variable:http://127.0.0.1:8010/ui/chat.html.Open the chat UI
Once the terminal shows the startup URL, open your browser and navigate to:Without authentication enabled (the default for local use), you are automatically logged in as the
admin user. No separate login step is required.Register a document folder
Before you can search, you need to register a local folder as a world (Sherpa’s term for a knowledge base).
- In the UI, navigate to the Ingest screen (look for the folder / ingest icon in the sidebar).
- Enter a name for your world (e.g.
my-project). - Enter the absolute path to the folder on your local machine that contains the documents you want to index (e.g.
/home/you/projects/my-project/docs). - Click Register.
world_id. The folder itself is not copied — Sherpa reads from it in place.Each registered folder is exactly one world: one Neo4j graph and one Elasticsearch index. If you have multiple independent projects, register each as a separate world.
Run the first ingest
After registering the folder, trigger the initial ingest:
- Select the world you just registered.
- Click Run ingest (or Start ingestion).
Ask your first question
Return to the Chat screen (
http://127.0.0.1:8000/ui/chat.html).- In the model/settings bar, make sure Knowledge retrieval (ナレッジ参照) is toggled on. This instructs Sherpa to search the knowledge base and attach citations.
- Select your world from the world/scope selector.
-
Type a question in the input box, for example:
- Press Enter (or click Send).
If Knowledge retrieval is off, Sherpa answers using the AI model’s general knowledge only — no documents are searched and no citations are attached. Toggle it on whenever you want answers grounded in your registered folders.
Stopping and cleaning up
To stop the FastAPI application, pressCtrl+C in the terminal where start.sh is running.
To also stop the Docker stores (PostgreSQL, Neo4j, Elasticsearch):
Troubleshooting
'Python3 not found' error on startup
'Python3 not found' error on startup
Python 3 is not installed or not on your Confirm the installation:Then re-run
PATH. On Ubuntu / WSL2, install it with:./scripts/start.sh.'Docker not found' or 'Docker Compose unavailable' error
'Docker not found' or 'Docker Compose unavailable' error
Port 8000 is already in use
Port 8000 is already in use
Another process is listening on port 8000. Either stop that process, or start Sherpa on a different port:Then open the UI at
http://127.0.0.1:8010/ui/chat.html instead.Startup is stuck at 'waiting for stores...'
Startup is stuck at 'waiting for stores...'
The Docker stores (PostgreSQL, Neo4j, or Elasticsearch) are still starting up, or Docker is not running. On first run, Docker needs to pull the container images, which can take a few minutes depending on your internet connection.Check the container status:Stream the container logs to see what is happening:If Docker is not running at all, start Docker Desktop or the Docker daemon, then re-run
./scripts/start.sh.The UI loads but AI answers are not appearing, or quality is very low
The UI loads but AI answers are not appearing, or quality is very low
The most likely cause is that Save the file and restart Sherpa with
OPENAI_API_KEY is not configured. Open .env (copy from .env.example if it does not exist yet) and set a real key:./scripts/start.sh.If you do not have an OpenAI key, you can still explore the UI:- Select “No AI” (簡易) in the model picker to see search results without an AI summary.
- Select “Local LLM (Ollama)” if you have Ollama running locally (set
OLLAMA_URLin.env).