Install

Install yothere from PyPI, pick the optional extras you need, and verify it works.

Beta · access required

yothere is in invite-only beta. The commands below work once you have access.Request access and we'll get you set up.

yothere ships as a single package on public PyPI. The core install gives you the fleet runner, the board, and the remote-brain client, everything you need to drive a headless fleet. The heavier surfaces (voice, the hosted web cockpit, the MCP server) are opt-in extras, so you only pull the dependencies you actually use.

Requirements

  • Python 3.11 or newer (3.11 and 3.12 are tested).
  • macOS or Linux.
  • A virtualenv is recommended so yothere and its extras stay isolated from your system Python.
python3 -m venv .venv
source .venv/bin/activate

Install from PyPI

pip install yothere

The core install includes the fleet runner, the fleet board, and the remote-brain client (the Brain Protocol v1 WebSocket client). That is enough to spawn threads, advance them against a brain, and glance at the board. No API keys are required to start.

Note yothere keeps all of its state under ~/.yothere (override with YOTHERE_HOME). The legacy RELAY_HOME variable and an existing ~/.relay directory are still honored as fallbacks, so an older install is picked up automatically.

Optional extras

Install extras with the bracket syntax. Quote the argument so your shell does not interpret the brackets.

Extra Install What it adds
voice pip install 'yothere[voice]' The live voice surface (Gemini Live plus WebRTC/Twilio). Not needed for the headless runner, the board, or a remote-brain client.
web pip install 'yothere[web]' The hosted web cockpit without the voice media stack (FastAPI/uvicorn only). Boots yothere.web for the overview, signup, and onboarding pages.
mcp pip install 'yothere[mcp]' The MCP server surface, so any MCP client can drive a fleet. See the yothere-mcp note below.
llm pip install 'yothere[llm]' An optional LLM tiebreak for routing and scope classification. A deterministic fallback is used otherwise.
postgres pip install 'yothere[postgres]' A Postgres-backed AuthStore for hosted, multi-tenant deploys. Local and off-mode use fall back to SQLite and never install this.

You can combine extras in one command:

pip install 'yothere[voice,mcp]'
Note The yothere-mcp console script is installed by the core package, but it needs the mcp extra's dependency to actually run. The tool logic lives in SDK-free helpers, so it imports and tests without the extra; the extra is what lets the server serve.

Verify

There is no --version flag on the CLI, so confirm the installed version with pip:

pip show yothere
Name: yothere
Version: 1.5.2
...

Then check that the CLI resolves and prints its command surface:

yothere --help

For an end-to-end check, run the bundled zero-key demo. It spawns a thread and drives it through the real runner to completion in about 30 seconds, no API keys needed:

yothere init --demo

See the Quickstart for a walkthrough of what the demo does.

Install from source

A source install requires access to the private repository (github.com/phios-ai/yothere). pip install yothere from PyPI is the primary, public path; use a source install only when you are developing yothere itself.

git clone https://github.com/phios-ai/yothere.git
cd yothere
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Add extras to an editable install the same way, for example pip install -e '.[voice]'.

Upgrading

pip install --upgrade yothere

Re-run any extras you depend on if a new release adds dependencies, for example pip install --upgrade 'yothere[voice]'. Your state under ~/.yothere is untouched by an upgrade.

Next steps

  • Quickstart: from install to a working fleet in a few minutes.
  • Configuration: every environment seam (each YOTHERE_* name also accepts its RELAY_* legacy sibling).
  • CLI reference: every command and flag.
  • Self-hosting: running the hosted, multi-tenant cockpit.