Installing SearchOS

July 12, 2026 · View on GitHub

English | 简体中文

For macOS and Linux, the recommended path is the one-command installer in the repository root. It creates an isolated .venv, installs SearchOS and the bundled Access Skill dependencies, downloads Playwright Chromium, and installs the locked Web frontend dependencies with npm ci.

Requirements

  • Python 3.11 or later
  • Node.js 20.9 or later when using the Web frontend
  • npm

The installer prefers python3.13, python3.12, and then python3.11, so it does not accidentally select the older python3 bundled with macOS.

One-command installation

./install.sh
source .venv/bin/activate

After installation, start either interface directly:

searchos
./web/start.sh

On the first SearchOS launch, the setup wizard asks you to select a model provider and saves the required credentials to .env.

Installation modes

./install.sh --core          # Core Python dependencies for the CLI/TUI and Web API only
./install.sh                 # Default: core + all Access Skills + Chromium + Web frontend
./install.sh --all           # Also install evaluation, optional search/browser, and observability dependencies
./install.sh --dev           # Add pytest and Ruff to the default installation
./install.sh --all --dev     # Complete development environment
./install.sh --no-web        # Skip Web frontend dependencies
./install.sh --no-browser    # Skip the Chromium download

Select a Python interpreter or virtual-environment path with an environment variable or command-line option:

PYTHON=/path/to/python3.12 ./install.sh
./install.sh --python /path/to/python3.12 --venv .venv-searchos

Manual installation

If you do not use the installer, install only the dependency groups you need:

python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .             # CLI/TUI and Web API
python -m pip install -e ".[access]"  # Bundled Access Skills
python -m pip install -e ".[dev]"     # Tests and linting
python -m pip install -e ".[all]"     # All optional runtime dependencies

After manually installing the Access Skill dependencies, install Chromium if you intend to use browser-backed Skills:

python -m playwright install chromium

Install the Web frontend from its lockfile:

npm ci --prefix web/frontend

Verify the installation

The one-command installer automatically runs these checks:

python -m pip check
searchos --help

If ./web/start.sh reports an unsupported Python version or cannot find SearchOS, run ./install.sh first. The startup script prefers the repository's own .venv.

The searchos command points to another checkout

If python -m searchos works but the searchos traceback points to another directory, your shell found a command installed in a different environment. Check the executable first:

command -v searchos
head -n 5 "$(command -v searchos)"

Activate this repository's environment and refresh the shell command cache:

source .venv/bin/activate
hash -r
command -v searchos

The final command should point to .venv/bin/searchos inside this repository. You can also run the executable directly without activating the environment:

./.venv/bin/searchos

Do not work around this problem by adding an API key requested by the foreign traceback. That would continue running code from the wrong checkout.