Skip to main content

Docker

Open http://localhost:4700 - the dashboard connects itself (in the default auth-disabled mode the engine hands the browser the Default project’s API key, nothing to paste). The key from 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.
  • /data holds the SQLite database and config (AGENTX_HOME) - mount a named volume so state survives recreation, or set AGENTX_DB_URL to 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 /health HEALTHCHECK.
  • The build pulls the latest dashboard bundle and revalidates it on every rebuild (ETag-checked ADD layer), 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.

Install from source

Both download the same prebuilt release (engine, CLI, dashboard) for macOS/Linux on arm64/amd64 - no Go, Node, or Bun needed. 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.

Connect

The dashboard connects itself: in the default auth-disabled mode the engine hands the browser the Default 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:
Everything under Tracing, Monitor, and Evaluations works the same against self-host as against the hosted API.

From source

Prerequisites: Node.js + Yarn; Go and Bun only for the compiled single-binary distribution, not day-to-day dev.
That’s the whole dev loop: yarn dev builds the @agentx/judge-core workspace package automatically (a ~1s step), .env is optional, and if web/ is missing dev mode downloads the prebuilt dashboard bundle from the repo’s releases on first boot. Offline, fetch it manually:
For the full packaged layout (compiled engine binary + Go CLI, exactly what a release install looks like):

The agentx-trace-eval launcher

agentx-trace-eval (bundled with agentx-python) is a thin launcher, not a reimplementation: the first run downloads the matching engine/CLI release into ~/.agentx/bin and hands off to it, so installing the Python SDK stays light for the common hosted-API case. AGENTX_TRACE_EVAL_VERSION pins a release; AGENTX_TRACE_EVAL_SKIP_WEB skips the dashboard for headless use. There is no Homebrew formula - curl | bash, the SDK launcher, and Docker are the supported paths.