This document describes the CLI surfaces for fleet-rlm.
There are two command entrypoints:
fleet-rlm: Typer-based command group with subcommands for server modes, optimization, and terminal chatfleet: Lightweight launcher for terminal chat and Web UI startup
The fleet-rlm command provides the primary CLI interface.
Usage: fleet-rlm [OPTIONS] COMMAND [ARGS]...
Run fleet-rlm demos and experimental runtimes.
Commands:
serve-api Run the FastAPI server surface (used by `fleet web`).
optimize Run DSPy optimization workflows.
chat Start standalone in-process interactive terminal chat.
daytona-smoke Run a native Daytona smoke validation without invoking an LM.
daytona-snapshot Create or refresh the reusable Daytona base snapshot.
Run GEPA offline optimization for a registered DSPy module.
Usage: fleet-rlm optimize [OPTIONS] MODULE [DATASET]
Arguments:
MODULE Registered module slug to optimize (use 'list' to see available modules). [required]
DATASET Path to JSON or JSONL dataset. [optional]
Options:
--output-path, -o PATH Where to save the optimized DSPy module artifact.
--train-ratio FLOAT Training split ratio for GEPA compilation. [default: 0.8]
--auto TEXT GEPA optimization intensity: light, medium, or heavy. [default: light]
--report Print a markdown report summary after optimization.
--help, -h Show this message and exit.
Examples:
# Optimize a module with default settings
uv run fleet-rlm optimize my-module dataset.jsonl
# Run heavy optimization with a custom output path
uv run fleet-rlm optimize my-module dataset.jsonl --auto heavy --output-path ./artifacts/optimized.pkl
# Generate an optimization report
uv run fleet-rlm optimize my-module dataset.jsonl --reportRun the FastAPI HTTP/WebSocket server. This is the backend for the Web UI and is invoked by fleet web.
Usage: fleet-rlm serve-api [OPTIONS]
Options:
--host TEXT Bind host [default: 127.0.0.1]
--port INTEGER Bind port [default: 8000]
--help Show this message and exit.
Examples:
# Start server on default host:port (127.0.0.1:8000)
uv run fleet-rlm serve-api
# Bind to all interfaces on custom port
uv run fleet-rlm serve-api --host 0.0.0.0 --port 8080Start standalone in-process interactive terminal chat with the RLM agent.
Usage: fleet-rlm chat [OPTIONS]
Options:
--docs-path PATH Optional document path to preload as active context
--trace / --no-trace Enable verbose thought/status display
--trace-mode TEXT Trace display mode: compact, verbose, or off
--volume-name TEXT Optional Daytona volume name for persistent storage
--help Show this message and exit.
Trace Modes:
compact: Condensed trace outputverbose: Detailed thought/status displayoff: Disable trace output
Examples:
# Start interactive chat
uv run fleet-rlm chat
# Preload a document as context
uv run fleet-rlm chat --docs-path ./docs/architecture.md
# Enable verbose trace output
uv run fleet-rlm chat --trace --trace-mode verbose
# Persist chat state to a specific Daytona volume
uv run fleet-rlm chat --volume-name my-volumeRun a native Daytona smoke validation without invoking an LM.
Usage: fleet-rlm daytona-smoke [OPTIONS]
Options:
--repo TEXT Repository URL to clone into the Daytona sandbox. [required]
--ref TEXT Optional branch or commit SHA to checkout after clone.
--help Show this message and exit.
Examples:
# Validate the experimental Daytona setup against a repository
uv run fleet-rlm daytona-smoke --repo https://github.com/qredence/fleet-rlm.git --ref mainCreate or refresh the reusable Daytona base snapshot used by fleet-rlm.
The default snapshot name is fleet-rlm-base. Normal sandbox creation prefers
this snapshot for faster startup and falls back to a declarative image build when
the snapshot is absent or not active.
Usage: fleet-rlm daytona-snapshot [OPTIONS]
Options:
--name TEXT Name of the reusable Daytona base snapshot to bootstrap.
[default: fleet-rlm-base]
--base-image TEXT Base OCI image used when creating or refreshing the
snapshot. [default: python:3.12-slim]
--refresh Delete an existing snapshot with this name/id before
recreating it.
--help Show this message and exit.
Examples:
# Ensure the default reusable Daytona base snapshot exists
uv run fleet-rlm daytona-snapshot
# Rebuild the default base snapshot from the configured default image
uv run fleet-rlm daytona-snapshot --refresh
# Bootstrap a custom snapshot name
uv run fleet-rlm daytona-snapshot --name fleet-rlm-base-experimentalThe fleet command is a lightweight launcher that provides quick access to terminal chat and the Web UI.
usage: fleet [-h] [--docs-path DOCS_PATH] [--trace-mode {compact,verbose,off}]
[--volume-name VOLUME_NAME]
[{web}]
Start standalone fleet interactive chat. Hydra overrides are supported as
key=value tokens. Use 'fleet web' to launch the Web UI server.
positional arguments:
{web} Optional subcommand (e.g., 'web' to launch the Web UI).
options:
-h, --help show this help message and exit
--docs-path DOCS_PATH
Optional document path to preload into the chat session.
--trace-mode {compact,verbose,off}
Trace display mode.
--volume-name VOLUME_NAME
Daytona volume name for persistent storage.
When run without arguments, fleet starts standalone terminal chat.
# Start terminal chat
uv run fleet
# Start with document context
uv run fleet --docs-path ./README.md
# Start with verbose tracing
uv run fleet --trace-mode verbose
# Start with a custom Daytona volume
uv run fleet --volume-name my-volumeThe web subcommand launches the Web UI server.
# Start Web UI on default port (127.0.0.1:8000)
uv run fleet webThe Web UI will be available at http://127.0.0.1:8000. The launcher delegates to fleet-rlm serve-api --host 0.0.0.0 --port 8000 while preserving Hydra overrides.
Both fleet and fleet-rlm serve-api support Hydra-style configuration overrides as trailing key=value tokens. This allows runtime configuration changes:
# Example: override runtime settings
uv run fleet web dspy_lm_model=gpt-4
# Example: override runtime settings
uv run fleet volume_name=my-custom-volume- Installation — Setup and dependency installation
- Runtime Settings — Configuring LLM models and runtime behavior