Conduit is the self-hostable agent that bridges your local hardware to the Infersec cloud. It downloads model files, manages the LLM engine lifecycle, and proxies inference requests. Conduit runs as a lightweight Node.js process or as a Docker container on your machine.

The quickest way to run Conduit is via npx:

npx @infersec/conduit inference start \
  --engine <engine> \
  --key <your-api-key> \
  --source <source-id>

On Linux (x64) and Apple Silicon Macs you can also install Conduit as a standalone binary - no NodeJS required:

curl -fsSL https://infersec.ai/conduit.sh | bash

The installer detects your platform, downloads the binary from files.infersec.ai, verifies its checksum, and runs models fit to check your hardware. Extra flags pass straight through to the command (e.g. bash -s -- --json). The binary is cached under ~/.cache/infersec/conduit/<version>/ and reused on later runs. Unsupported platforms (Intel Macs, Linux arm64) exit with an error directing you to npx @infersec/conduit instead.

For Docker use, see Docker below. For pre-built images that bundle Conduit with vLLM, see Engine Docker Images.

Commands

Conduit exposes four top-level commands:

Command Description
inference start Start the inference agent (downloads model, boots engine, connects to source)
tool connect <toolID> Connect a local tool (local-filesystem, local-mysql) to the API
models fit Detect local hardware and suggest models that will run
models list List cached models and their disk usage
models clear Remove cached models (all, or filtered by ID prefix)
benchmark run Run model benchmarks from a benchmarks.json config file

inference start

Starts the inference agent against a single Infersec source.

Flag Required Default Notes
--engine Yes - Engine type, e.g. llama.cpp, vllm, sglang.
--key Yes - Infersec API key.
--source Yes - Inference source ID.
--api-url No https://api.infersec.ai API base URL (use the self-hosted URL for self-hosted deployments).
--engine-port No 9700 Port the LLM engine listens on.
--port No 9600 Port Conduit listens on (for the engine control plane).
--root No $HOME/.cache/infersec/iagent Root directory for model files and engine state.
--start-mode No auto auto boots the engine immediately; idle leaves Conduit waiting.

tool connect <toolID>

Connects a local tool to Infersec so it can be invoked by server-side tool calling. The tool type is resolved from the server, so the same command connects either a Local Filesystem or Local MySQL tool. See Tools for the full list and what each tool exposes.

Flag / positional Required Default Notes
<toolID> Yes - Tool ID to connect.
--key Yes - Infersec API key.
--path No . (current directory) Filesystem base path. Access is confined within this path.
--read-only No false Expose only filesystem read operations.
--url No - MySQL connection URL (Local MySQL tool).
--host/--port/--user/--password/--database No - MySQL connection fields (Local MySQL tool).
--allow No read-only MySQL write operations to enable (csv) or all.
--api-url No https://api.infersec.ai API base URL.

models list / models clear

Manage cached model files on disk (the models/ directory under --root).

Flag Command Default Notes
--root both - Override root directory (or ROOT_DIRECTORY env).
--force models clear false Skip the interactive confirmation prompt.
--model models clear - Clear a specific model by ID prefix instead of all cached models.

models fit

Detects your hardware and suggests models that will run on it. This is the command behind the installer at https://infersec.ai/conduit.sh.

Flag Required Default Notes
--json No false Machine-readable output (exits after hardware detection).
--interactive With --key false Guided session that can deploy suggestions as sources.
--key With --interactive - Infersec API key.
--api-url With --interactive https://api.infersec.ai API base URL.
--probe-model No LiquidAI/LFM2.5-350M Small model used to calibrate the hardware probe.
--root No $HOME/.cache/infersec/iagent Root directory for model files and engine state.

benchmark run

Runs benchmarks from a benchmarks.json config file. Typically used by the Infersec team to populate Recommended Models; most users do not need this.

Flag Required Default Notes
--config Yes - Path to benchmarks.json.
--api-url No env API base URL (or API_URL env).
--api-key No env API key (or API_KEY env).
--account-id No env Account ID (or ACCOUNT_ID env).
--output-dir No config Override output directory.

Environment variables

Every CLI flag has a corresponding environment variable. Flags override env vars when both are provided.

Inference

Variable Required Default Notes
ENGINE Yes - Engine type (matches --engine).
API_KEY Yes - API key (matches --key).
SOURCE Yes - Inference source ID (matches --source).
API_URL No https://api.infersec.ai API base URL (matches --api-url).
ENGINE_PORT No 9700 Engine port (matches --engine-port).
PORT No 9600 Conduit listen port (matches --port).
ROOT_DIRECTORY No $HOME/.cache/infersec/iagent Root directory (matches --root).
START_MODE No auto Startup mode (matches --start-mode).
AUTO_PORTS No false Auto-allocate Conduit and engine ports. Conflicts with PORT/ENGINE_PORT.

Tool connect

Variable Required Default Notes
API_KEY Yes - API key (matches --key).
TOOL_ID Yes - Tool ID (matches <toolID> positional).
TOOL_PATH No . Filesystem base path (matches --path).
READ_ONLY No false Expose only read operations (matches --read-only).
MYSQL_* No - Local MySQL connection and limits (see Local MySQL).
API_URL No https://api.infersec.ai API base URL (matches --api-url).

Docker

When running Conduit in Docker, pass the same environment variables via -e flags (or an env file). The model cache and engine state should be mounted as a volume so they survive container restarts.

docker run -d \
  --name infersec-conduit \
  -p 9600:9600 \
  -v ~/.cache/infersec/iagent:/data/iagent \
  -e ENGINE=llama.cpp \
  -e API_KEY=your-api-key \
  -e SOURCE=your-source-id \
  -e ROOT_DIRECTORY=/data/iagent \
  node:24 \
  npx @infersec/conduit inference start

The relevant env vars in a container context are:

Variable Notes
ENGINE Engine type. For Docker-based engines (vllm), use a pre-built image — see Engine Docker Images.
API_KEY Infersec API key.
SOURCE Inference source ID.
API_URL Override the API base URL (e.g. for self-hosted deployments).
ROOT_DIRECTORY Path inside the container where model files are stored. Mount this as a volume.
ENGINE_PORT Port the LLM engine listens on (only relevant when Conduit launches the engine itself).
PORT Conduit listen port.
START_MODE auto (default) boots the engine; idle waits for an external engine.
HF_HOME HuggingFace cache location (set by the pre-built engine images to /data/hf-cache).

For pre-built images that bundle Conduit with vLLM for specific hardware (AMD ROCm, NVIDIA CUDA, NVIDIA DGX Spark), see Engine Docker Images.