Quick install (prebuilt)
~/.agentx/bin
(override with AGENTX_INSTALL_DIR). Once it’s up:
--dev opens the dashboard in your browser; omit it to run headless (behind a process manager,
for example) - the API comes up identically either way.
Docker
docker logs is what your SDK/scripts use as AGENTX_API_KEY; it prints on every start. For
multi-user or network-exposed deployments set -e AGENTX_AUTH=enabled, which requires sign-in
and never hands the key out.
/dataholds the SQLite database and config (AGENTX_HOME) - mount a named volume so state survives recreation, or setAGENTX_DB_URLto your Postgres and skip the volume.- Pass provider keys with
-e OPENAI_API_KEY=...(or set them later in Platform Settings). - The image has a
/healthHEALTHCHECK. - The build pulls the latest dashboard bundle and revalidates it on every rebuild (ETag-checked
ADDlayer), so a newly published dashboard is picked up with no--no-cache. Pin one with--build-arg AGENTX_WEB_URL=.../releases/download/vX.Y.Z/agentx-web.tar.gz.
docker-compose.yml (engine + Postgres) and
docker-compose.enterprise.yml (engine + Postgres + ClickHouse - the
enterprise tier), plus a Helm chart at
deploy/helm/agentx.
Build from source
Prerequisites: Node.js + Yarn; Go and Bun only for the compiled single-binary distribution, not day-to-day dev.yarn dev builds the @agentx/judge-core workspace package
automatically (a ~1s step), .env is optional, and if the repo-root web/ is missing dev mode
downloads the prebuilt dashboard bundle from the repo’s releases on first boot. An existing
web/ is never touched on a normal boot - see Upgrading for refreshing it.
Offline, fetch it manually (into the repo root, not engine/ - the repo-root web/ is the
one canonical bundle location for a checkout, and a copy under engine/web is ignored):
Upgrading
The engine and the dashboard version independently (Platform Settings shows both in its lower-right corner, e.g.Engine v0.3.8 · UI v0.3.6; a source checkout reports dev).
Dashboard. A downloaded dashboard bundle is never touched on a normal boot - without this,
a source host quietly serves whatever it downloaded first, forever. Pass --upgrade to
re-download the latest dashboard release before serving; it works the same in every layout:
--upgrade can
never break a working UI. The boot log states what happened either way
(Upgrading the dashboard bundle in ... (currently built ...)).
Engine. Re-run the installer for your path: curl | bash again (installs the latest
release into ~/.agentx/bin; pin a release with AGENTX_VERSION=vX.Y.Z), or
agentx-trace-eval --update for the SDK launcher (its own flag, consumed before the handoff:
re-downloads the engine release). A source checkout upgrades with git pull.
Both at once, on the launcher: agentx-trace-eval --update --upgrade refreshes the engine and
then the dashboard.
Connect
The dashboard connects itself: in the default auth-disabled mode the engine hands the browser theDefault project API key on first visit, so you land straight on a working screen. (A
connect screen only appears against an older engine that doesn’t hand the key out.) Because
anyone who can reach the port gets the key, disabled mode is for local/trusted use - for a
shared, multi-user, or network-exposed instance, use
AGENTX_AUTH=enabled, which requires
sign-in and never hands the key out.
Point the SDK at the engine with the same key - no separate SDK, no code changes:
The agentx-trace-eval launcher
agentx-trace-eval (bundled with agentx-python) is a thin launcher, not a reimplementation:
the first run downloads the engine/CLI release into ~/.agentx/bin and hands off to it, so
installing the Python SDK stays light for the common hosted-API case.
- Each SDK release pins the engine release it was tested against, and the launcher converges the install to that pin - upgrading the SDK upgrades the engine to the matching pair.
AGENTX_TRACE_EVAL_VERSIONoverrides the pin with a specific tag, orlatest(which trusts whatever is installed and prints a notice when a newer release exists).--updateis the launcher’s own flag (force-reinstall the resolved engine release); every other flag ---dev,--upgrade,--port,--db-url- passes through toagentx-serveruntouched. See Upgrading.AGENTX_TRACE_EVAL_SKIP_WEBskips downloading the dashboard bundle for headless use (CI, for example).
curl | bash, the SDK launcher, and Docker are the supported
paths.
