Install ScienceDiscovery
Choose your system, then jump to the install method that fits your machine.
Prebuilt single-file binary Recommended on native LinuxFor glibc-based Linux x86_64 and aarch64, including a Linux distro in WSL 2 on Windows. It embeds Node, Python, the web UI and micromamba. The Linux environment still needs Bubblewrap and unprivileged user namespaces. On macOS, consider Local source mode or the Docker path below.
OSglibc-based Linux x86_64 or aarch64, including WSL 2; glibc 2.28+ and compatible libstdc++ (not Alpine/musl)
LINUX DEPENDENCYbubblewrap 0.6+ (unprivileged user namespaces); Debian 11 packages an older version
NETWORKfirst launch installs uv and Python deps from a PyPI mirror
Download Linux x86_64
SHA256
348fbf2aeb2d38062ccbf4b2bdf0bfd99517eba0cc48370d9351b7482f758bb6Download Linux aarch64
SHA256
1b8b64335a9846721c9bf39448c07f4265d373ce4e4bc088b9149107b66576b3- Install Bubblewrap with the command for your Linux distribution (use only one).
Debian / Ubuntu
sudo apt-get install -y bubblewrapFedora / RHEL / openEuler
sudo dnf install -y bubblewrap - Download the binary for your architecture, then use its matching command below. On Windows, open your WSL 2 Linux terminal (for example, Ubuntu) and run
cd ~ && explorer.exe .there. Windows File Explorer opens your Linux home directory. Copy the download into it first.x86_64
mv ScienceDiscovery-0.2.0-linux-x86_64 ScienceDiscovery chmod +x ./ScienceDiscoveryaarch64
mv ScienceDiscovery-0.2.0-linux-aarch64 ScienceDiscovery chmod +x ./ScienceDiscovery - Start the stack and keep this terminal open.
./ScienceDiscovery serve - In a second terminal in the same Linux environment, check the service response. Its top-level
statusshould beok.curl -fsS http://127.0.0.1:4310/health
Docker ComposeRun the complete stack in a Linux container.
HOSTLinux, macOS with Docker Desktop (check OS support) or a working Docker engine, or Windows with Docker Desktop
SOFTWAREDocker Engine 24+ with Compose v2.15+, or Docker Desktop. On Windows, select Linux containers.
SANDBOXLinux container must allow unprivileged user namespaces for Bubblewrap
- Clone the repository and enter it.
git clone https://github.com/openJiuwen-ai/sciencediscovery.git cd sciencediscovery - Prepare
.envanddata/. On Linux / macOS, setSCIENCE_AGENT_UIDandSCIENCE_AGENT_GIDin.envif your ids differ from 1000. On Windows, start with the default ids; ifdata/is unwritable, see the troubleshooting guide below.Linux / macOS · Unix shell
cp .env.docker.example .env mkdir -p data id -u id -gWindows · PowerShell
Copy-Item .env.docker.example .env New-Item -ItemType Directory -Force data - Build and start.
docker compose build docker compose up -d - Check the service response and find the “Open to sign in” URL in the logs.
docker compose ps docker compose exec sciencediscovery curl -fsS http://127.0.0.1:4310/health docker compose logs --tail=100 sciencediscovery
Local source modeRuns services directly from a checkout. Best for development and debugging on Linux or macOS 13+. On Windows, run the Linux steps inside WSL 2.
TOOLCHAINNode.js 22.19+, pnpm 11.1.2, python3 3.9+, uv 0.9+, Git, curl
LINUX / WSL 2 SANDBOXBubblewrap 0.6+ (0.8+ recommended) and unprivileged user namespaces; Debian 11 packages an older version
MACOS13+ with the built-in Seatbelt sandbox (/usr/bin/sandbox-exec)
- Clone the repository. On Windows, run
cd ~inside WSL 2 first and keep the checkout out of/mnt/c.git clone https://github.com/openJiuwen-ai/sciencediscovery.git cd sciencediscovery - Set up JiuwenSwarm once.
scripts/jiuwenswarm.sh setup - Install, build and start every service. Keep this terminal open.
./scripts/start-stack.sh --mode local - On later starts, use this command to skip the build.
./scripts/start-stack.sh --mode local --no-build
After it starts
Sign in
Open the “Open to sign in” URL from the startup output. The browser saves the local service token automatically. Keep the URL private.
Configure a model
Open System settings → Model registry, connect a model provider, then choose a global default task model. ScienceDiscovery embeds no model of its own.
Run a first task
Run a task that executes code, then check its result. Quick Start provides a Python example and a checklist.
Default ports
4310Control API and Web UI
4311Runner (loopback only)