First run
Quick Start¶
Install Raven, configure a model provider, and start using the WebUI.
Install Raven¶
Choose the installer for your operating system. It sets up a managed Raven
environment and adds the raven command to your shell.
Linux, macOS, or WSL2¶
curl -fsSL https://raven.evermind.ai/install.sh | bash
Windows PowerShell¶
irm https://raven.evermind.ai/install.ps1 | iex
Windows PowerShell 5.1, the version built into Windows, cannot follow that URL's
redirect and stops with (308) Permanent Redirect. If you see that error, use the
direct installer URL:
irm https://raw.githubusercontent.com/EverMind-AI/Raven/refs/heads/main/install.ps1 | iex
From a source checkout¶
To develop Raven or try unreleased changes, clone the repository and run the installer locally:
git clone https://github.com/EverMind-AI/Raven.git
cd Raven
./install.sh
Running the local install.sh installs Raven and its bundled plugins in
editable mode, so they use your working tree. The TUI and WebUI are also built
from that checkout. Piping the installer to a shell installs the published
wheel, even from inside a clone. To select a local source directory for a piped
installation, set RAVEN_LOCAL_SRC=<dir>.
When a download host cannot be reached¶
The installers, raven resources, raven upgrade, and the agents and MCP
servers Raven starts through uvx or npx fetch from their usual hosts first.
When a host cannot be reached at all, the download comes from a mirror in
mainland China instead: hf-mirror.com for Hugging Face, jsDelivr for files on
GitHub, the TUNA mirror for PyPI and LibreOffice, and npmmirror for Node.js,
npm, Playwright and the Python builds uv installs. An HTTP error from the
usual host does not switch hosts, and neither does a certificate that fails
verification. Behind a proxy, the proxy refusing to connect to the host (a 403
or a 407) does not switch hosts either; a proxy that answers with a 5xx, or a
SOCKS proxy that cannot connect, counts as a host that cannot be reached.
uv's own installer and Playwright's Chromium download do not say why they
failed, so the hosts they download from are asked, and the mirror stands in
only when none of them can be reached. The LibreOffice and font downloads,
checked against a pinned digest, try the mirror after their usual hosts.
A host you configured yourself is kept: HF_ENDPOINT, a uv index in
UV_DEFAULT_INDEX or uv.toml, a download source for uv's installer or for
the Pythons uv installs (such as UV_INSTALLER_GITHUB_BASE_URL or
UV_PYTHON_INSTALL_MIRROR), PLAYWRIGHT_DOWNLOAD_HOST, or an npm registry set
anywhere npm reads one. A uvx or npx launch switches only when the mirror
can be reached, so a package already in its cache still starts offline. For
uvx, the mirror goes on that launch's command line, where the tool it starts
never sees it. npx would hand a registry to everything it starts, where it
would replace the registry a project names for itself, so in that case Raven
does not run npx: it installs the package from the mirror into a directory of
its own (~/.raven/cache/npx; a Raven node keeps its own under the node's
directory) and starts the package's command from there, in the environment the
launch was given. A package your project or npm's global installs already
provide still starts through npx, and so does a launch in a project whose
.npmrc names a registry. Set RAVEN_NO_MIRROR=1 to keep every download on
its usual host. The switch is read in the environment a launch is given as
well as in Raven's own, and a Raven node is told the host's value, so an agent
that runs on another machine keeps its own host too. Raven's own release files
come from GitHub Releases, which has no mirror.
Update Raven¶
Update Raven the same way you installed it. Running an installer again stops
the running WebUI and finishes by starting a new one in the foreground: press
Ctrl-C to stop it, then run raven web to keep Raven running in the
background. Your settings and conversations in ~/.raven are kept.
Update from the page¶
When the bottom of the sidebar says a new version is available, click it and
confirm. Raven shows the download's progress, installs the new version,
restarts, and the page reloads by itself. Your settings and conversations are
kept. While a turn, a sub-agent or a question waiting for an answer is still
running, including in an IM channel, the page asks you to let it finish first.
A Raven started by hand with raven gateway or raven web --foreground has
nothing to restart it, so update that one from the command line below.
Update a one-line install¶
Run the same installer again. It installs the newest release over the current one and starts the WebUI again when it finishes.
To update from the command line instead:
raven web --stop
raven upgrade
On Linux and macOS raven upgrade runs the install in the foreground and
returns when it is done. On native Windows it hands the install to a separate
helper and returns at once; wait for the helper's completion message before
going on. Then start Raven again:
raven web
raven upgrade installs the newest release but does not restart a Raven that
is already running, so stop the WebUI before you upgrade and start it again
afterwards. To check whether a newer release exists without installing it, run
raven upgrade --check.
Update a source checkout¶
Pull the latest changes and run the local installer again. On Linux and macOS:
git pull && ./install.sh
On Windows, stop the page first, pull, then run the PowerShell installer. If
git pull fails, fix it before running the installer:
raven web --stop
git pull
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
The installer reinstalls the checkout in editable mode, rebuilds the TUI and
WebUI only when their sources have changed, and starts the WebUI again.
raven upgrade does not update a source checkout, because the code to update
is the checkout itself.
Configure the first provider¶
Run the guided setup after installation:
raven onboard
Follow the prompts to configure a model provider and choose which built-in agents to enable. You can later add or update providers in the WebUI under Settings > Model providers.
Behind a corporate proxy or private CA¶
Raven checks HTTPS certificates against your operating system's certificate
store, so a root certificate your IT department installed there is trusted
without extra settings. If a provider check reports certificate_untrusted,
add the root certificate that signs your gateway or proxy to that store.
For a gateway whose root you cannot import -- your own self-signed one, a
throwaway cert on a dev VM -- a provider section can skip the check instead:
set tls_verify: false on the section in ~/.raven/config.json. The section's
model calls, its /v1/models check in Settings > Model providers, and any
knowledge-base embedding through that provider then accept the gateway's
certificate without it sitting in any store. Leave it for one section only, on
a network you trust: a skipped check accepts whatever answers that host.
On WSL2 the Linux distribution keeps its own store and does not see the certificates installed in Windows. Import the root once inside WSL:
sudo cp corporate-ca.pem /usr/local/share/ca-certificates/corporate-ca.crt
sudo update-ca-certificates
The EverOS memory server and Node-based agents run as separate programs that read environment variables instead. Export these in your shell profile, not only in the current terminal, so every process Raven starts receives them:
export SSL_CERT_FILE=/path/to/ca-bundle.pem
export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem
SSL_CERT_FILE replaces the whole list of trusted roots, so point it at a
complete bundle that also holds your corporate root, and never at a path that
does not exist: httpx, which model calls and provider checks go through,
refuses to start with one. On Debian, Ubuntu and WSL,
/etc/ssl/certs/ca-certificates.crt is that bundle once
update-ca-certificates has run. On macOS, build one first:
cat /etc/ssl/cert.pem corporate-ca.pem > ~/ca-bundle.pem
On macOS and Windows the operating system also applies its own certificate
policy; macOS, for example, refuses a server certificate valid for more than
825 days, or one not marked for server authentication, even when it trusts the
root. To go back to each library's own certificate list, export
RAVEN_NO_SYSTEM_CA=1 in the same profile.
Start Raven¶
Launch the WebUI with the Raven engine running in the background:
raven web
The local page opens at http://127.0.0.1:18792. To stop the background
service, run:
raven web --stop
See Self-Hosting for Docker deployment and instructions for building and running the server from source.