ScienceDiscovery
中文 GitHub

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
SHA256348fbf2aeb2d38062ccbf4b2bdf0bfd99517eba0cc48370d9351b7482f758bb6
Download Linux aarch64
SHA2561b8b64335a9846721c9bf39448c07f4265d373ce4e4bc088b9149107b66576b3
  1. Install Bubblewrap with the command for your Linux distribution (use only one).

    Debian / Ubuntu

    sudo apt-get install -y bubblewrap

    Fedora / RHEL / openEuler

    sudo dnf install -y bubblewrap
  2. 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 ./ScienceDiscovery

    aarch64

    mv ScienceDiscovery-0.2.0-linux-aarch64 ScienceDiscovery
    chmod +x ./ScienceDiscovery
  3. Start the stack and keep this terminal open.
    ./ScienceDiscovery serve
  4. In a second terminal in the same Linux environment, check the service response. Its top-level status should be ok.
    curl -fsS http://127.0.0.1:4310/health
Binary deployment in the full guide →
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
  1. Clone the repository and enter it.
    git clone https://github.com/openJiuwen-ai/sciencediscovery.git
    cd sciencediscovery
  2. Prepare .env and data/. On Linux / macOS, set SCIENCE_AGENT_UID and SCIENCE_AGENT_GID in .env if your ids differ from 1000. On Windows, start with the default ids; if data/ is unwritable, see the troubleshooting guide below.

    Linux / macOS · Unix shell

    cp .env.docker.example .env
    mkdir -p data
    id -u
    id -g

    Windows · PowerShell

    Copy-Item .env.docker.example .env
    New-Item -ItemType Directory -Force data
  3. Build and start.
    docker compose build
    docker compose up -d
  4. 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
Docker deployment and troubleshooting →
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)
  1. 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
  2. Set up JiuwenSwarm once.
    scripts/jiuwenswarm.sh setup
  3. Install, build and start every service. Keep this terminal open.
    ./scripts/start-stack.sh --mode local
  4. On later starts, use this command to skip the build.
    ./scripts/start-stack.sh --mode local --no-build
Local mode in the full guide →

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)

Read the full deployment guide All releases on GitHub →