Skip to content

Installation

Three commands and you’re live — under five minutes from install to running agents.

  1. Install the package — one self-contained wheel with the compiled UI and agent gateway bundled in.

    Terminal window
    pipx install snippbot
  2. Run the setup wizard — opens http://localhost:18781/setup for first-time configuration.

    Terminal window
    snippbot setup
  3. Start the daemon — launches the daemon and its agent gateway on port 18781.

    Terminal window
    snippbot start

RequirementMinimumInstall
Python3.11+python.org
pipxlatestpipx.pypa.io

We recommend pipx, which installs Snippbot into its own isolated environment and puts the snippbot command on your PATH. This works the same on macOS, Linux, and Windows:

Terminal window
pipx install snippbot

Then run the setup wizard and start the daemon:

Terminal window
snippbot setup # interactive browser wizard (opens http://localhost:18781/setup)
snippbot start # start the daemon

One pipx install snippbot gives you the full feature set. There are no extras to pick:

FeatureIncluded
Local voice — speech-to-text (faster-whisper) and text-to-speech (piper)Yes
Semantic memory recall and search (on-device embeddings, no PyTorch)Yes
Agent browser tool (Playwright)Yes. Chromium downloads separately, see below
Gmail tool, web search (DuckDuckGo), image OCR (macOS / Windows)Yes
Remote-session TOTP, JSONPath hook filters, automatic ngrok tunnelYes

The download is about 200–270 MB, depending on the platform. Two large pieces download separately, and only when you ask for them. Snippbot shows exactly what each one installs, with sizes, and asks first:

  • Chromium (~280 MB, the browser plus its headless shell) for the browser tool. You don’t need it if you point the browser at your own Chrome.
  • Memory visualization pack (scikit-learn + UMAP, ~70–110 MB) for the Memory Nebula map. Agents’ memory recall works without it.

Install either one from Settings → Features. The voice and embedding models download on first use too, and are then cached.

To see which features this install has, open Settings → Features or run snippbot doctor. Optional features covers the in-app installs, the terminal-only extras, and repairing a missing feature.

Snippbot installs on macOS, Linux and Windows with Python 3.11–3.14. Everything installs from prebuilt packages, so no compiler is needed. A few features depend on how recent the OS is:

PlatformLocal voice + semantic memoryMemory Nebula pack
Apple silicon, macOS 14+Python 3.11–3.14Yes
Apple silicon, macOS 13Python 3.11–3.13Yes
Apple silicon, macOS 11–12Python 3.11–3.12macOS 12 only
Intel Mac, macOS 13+Python 3.11–3.13Yes (PCA layout on Python 3.14)
Intel Mac, macOS 11–12Python 3.11–3.12Yes
Intel Mac, macOS 10.15No (the browser tool needs Python 3.11–3.12 here)Yes
Linux (glibc 2.28+: Ubuntu 20.04+, Debian 10+, RHEL 8+), x86_64 and arm64Python 3.11–3.14Yes
Windows 10/11 (x64)Python 3.11–3.14Yes

Outside these combinations those features are simply absent; the rest of Snippbot still installs and runs. snippbot doctor shows what applies on your machine. To get them, run Snippbot on a supported Python, for example pipx reinstall --python python3.13 snippbot.

A few niche features stay opt-in: wallet, ocr (Linux), archives, visualization, embeddings and all. Add one to a pipx install with pipx runpip snippbot install 'snippbot[<extra>]==<version>' (use the version snippbot --version prints). Settings → Features and snippbot doctor show the exact command for your install. See Optional features → Optional extras for what each one adds.


To run Snippbot on a remote server or VM and reach it from other machines, bind to 0.0.0.0 instead of the default 127.0.0.1:

Terminal window
snippbot setup --host 0.0.0.0 # run the wizard bound to all interfaces
snippbot start --host 0.0.0.0 # start the daemon bound to all interfaces

Open ports 18781 (API + UI) and 8787 (agent gateway) in your firewall.


After installation, the 8-step setup wizard runs automatically:

StepNameWhat it does
1GenesisSystem checks (Python, ports, disk space, databases)
2PermissionsGrant microphone and notification access (optional)
3IdentityYour display name, email, and avatar
4AccountCreate login credentials (username/password or API key)
5VoiceConfigure text-to-speech provider (optional)
6ModelSelect AI provider and enter API keys
7MarketplaceInstall starter packages (optional)
8IgnitionVerify servers are running, enter the Awakening experience

Manage the daemon with the CLI:

Terminal window
snippbot start # Start daemon
snippbot stop # Stop daemon
snippbot status # Check status

snippbot start runs the server in the foreground — it stops when you close the terminal or reboot. To keep it running, register it as a service (next section).


To start Snippbot on login and restart it automatically if it crashes, install it as a user-level service — no sudo required. One command picks the right mechanism for your OS (systemd on Linux, launchd on macOS, Task Scheduler on Windows):

Terminal window
snippbot service install # install + start
snippbot service status # check it
snippbot service uninstall # stop + remove

Options: --host, --port, and --data-dir are pinned into the unit (e.g. snippbot service install --host 0.0.0.0 to expose it on a network). See snippbot service for details.

Headless Linux servers (no logged-in user) want a system service instead, so it runs at boot independent of login. Either run loginctl enable-linger $USER after the command above, or use the installer’s system-unit path: ./scripts/install-vps.sh --service.


To remove Snippbot, use the CLI. It stops the daemon (its agent gateway child stops with it), removes the systemd service if one was installed, and prints the final package-removal command:

Terminal window
snippbot uninstall # stop daemon + remove service; keep your data
snippbot uninstall --purge # also delete ALL data in ~/.snippbot (prompts first)
snippbot uninstall --purge --yes # ...without the confirmation prompt

Your data in ~/.snippbot/ is kept unless you pass --purge. Because a running process can’t reliably delete the environment it’s executing from, uninstall finishes by printing the exact command to remove the package itself (pipx uninstall snippbot or pip uninstall). See setup / doctor / reset / uninstall for details.


All user data is stored in ~/.snippbot/:

~/.snippbot/
├── config.toml # System config (ports, log level, API keys)
├── setup.json # Setup wizard state
├── auth.db # Users, sessions, API keys
├── profile_settings.db # User profile and preferences
├── snippbot.db # Main application database
├── avatar.* # User avatar
├── logs/ # Daemon + gateway logs
└── backups/ # Automatic backup snapshots

Open http://localhost:18781 in your browser. You should see the Snippbot dashboard — the compiled UI is served directly from the daemon.

You can also verify from the command line:

Terminal window
curl http://localhost:18781/health
# {"status": "ok", "service": "snippbot", "uptime_seconds": 3600.5}

Server won’t start:

Terminal window
tail -f ~/.snippbot/logs/daemon.log # Check daemon logs
tail -f ~/.snippbot/logs/gateway.log # Check agent gateway logs
lsof -i :18781 # Check if the port is in use

Port conflict:

Terminal window
snippbot stop # Stop the running daemon
snippbot stop --force # Force kill if it won't stop

Database issues:

Terminal window
ls -la ~/.snippbot/*.db # Check databases exist
snippbot doctor # Run health checks
snippbot reset --soft # Re-run setup wizard

For more, see Troubleshooting → Common Errors.