Fleet RLM is a terminal-based assistant for work that needs reasoning, Python, and files. Ask a question, watch its work stream into the terminal, and return to a saved Session later. Fleet uses DSPy for the RLM reasoning loop, Daytona for isolated execution, and FastAPI for its backend.
- See the work as it happens. The terminal shows reasoning, generated Python, tool activity, and results in one timeline.
- Continue a Session. With a configured database, committed conversation history survives a restart.
- Work with files. Attach local files to a Turn, inspect workspace files, and download committed Artifacts.
- Choose how much delegation to use. The configuration enables DSPy's
native semantic calls and bounded, isolated child RLMs for independent
investigations. Set
rlm.recursion_enabled = falsefor native-only operation.
You need Python 3.11–3.13, uv, Node 22.19+, pnpm, a Daytona account, and a key for the model provider in the shipped configuration. The repository includes a local SQLite configuration; a separate PostgreSQL setup is not needed to try Fleet.
git clone https://github.com/Qredence/fleet-rlm.git
cd fleet-rlm
uv sync --dev
pnpm --dir tools/fleet-tui install --frozen-lockfilecp .env.example .envOpen .env and fill in DATABRICKS_TOKEN, FLEET_LLM_BASE_URL,
FLEET_DAYTONA_API_KEY, and FLEET_DAYTONA_ORG_ID. The example supplies an
explicit local SQLite URL; replace the gateway placeholder with your Databricks
workspace /ai-gateway/mlflow/v1 base. Keep secrets out of Git. To configure
another provider, use the configuration guide
and environment reference.
uv run python scripts/database.py upgrade
uv run fleet cliFleet does not migrate the database on startup. fleet cli starts the backend
and opens the terminal client. Try a prompt such as “Use Python to calculate
the first 20 Fibonacci numbers and explain the result.” /help shows the
available commands. Fleet prints the Session ID so you can return later:
uv run fleet cli -- --session <session-uuid>The first live Turn uses the configured model provider and Daytona Sandbox.
uv run fleet doctor daytona is an optional, disposable connectivity and
mount probe when setup fails. See the CLI guide for
diagnostics and launch options.
| Command | Use it to |
|---|---|
/help |
Find commands and keyboard shortcuts. |
/attach <path> |
Add a local file to the next Turn. |
/files |
Browse the Workspace files/ area. |
/artifacts |
List Artifacts from the conversation. |
/sessions |
Switch between saved Sessions. |
/settings |
Edit the single runtime configuration; restart to apply. |
The terminal guide covers file downloads, themes, Skills, cancellation, and other controls.
Terminal client → FastAPI/SSE backend → DSPy RLM → Daytona Sandbox
↘ durable Sessions and committed results
The backend prepares each request, runs model-authored Python in Daytona, and
streams progress to the terminal. It commits an answer and any Artifacts only
after the Run settles. Bounded child RLMs are enabled by the shipped
configuration. Runtime policy lives in config/fleet.toml, and changes take
effect after a restart.
Fleet also exposes the backend without the terminal through uv run fleet web
or uv run fleet-rlm serve-api --port 8000. The API binds to loopback by
default and has no caller authentication. See the HTTP API reference
and generated OpenAPI contract.
- Documentation home — guides and reference pages.
- Architecture — component ownership and trust boundaries.
- Contributing — development setup, tests, and change workflow.
MIT — see LICENSE.