Recursive Language Models with DSPy + Modal and an integrated Web UI for secure long-context code execution
Project description
fleet-rlm
Secure Recursive Language Models with DSPy, Modal sandbox execution, an integrated Web UI, and an experimental Daytona workbench runtime.
fleet-rlm is built around a Web UI-first workflow for long-context code and document reasoning. The default runtime stays Modal-backed and chat-oriented. The Daytona path is experimental, but it now plugs into the same shared websocket workspace and dedicated run-workbench experience instead of living as a completely separate product surface.
Docs | Contributing | Changelog
Quick Start
Install the published package and launch the Web UI:
# Option 1: install the tool
uv tool install fleet-rlm
fleet web
Or run it in your current environment:
# Option 2: install in the active environment
uv pip install fleet-rlm
fleet web
Open http://localhost:8000.
Published installs already include built frontend assets, so end users do not need pnpm, vp, or a separate frontend build step.
What You Get
- A focused Web UI with
RLM Workspace,Volumes, andSettings - A default Modal-backed chat/runtime path over
/api/v1/ws/chat - An experimental Daytona workbench path exposed through the same workspace and websocket contract
- Runtime settings and diagnostics APIs for model, Modal, and Daytona configuration
- Optional FastMCP server support for external tool clients
- PostHog and MLflow integration for runtime telemetry, tracing, feedback, and evaluation workflows
Legacy taxonomy, skills, memory, and analytics routes are no longer first-class product surfaces; the current app redirects those URLs to supported pages.
Core Commands
# Primary local Web UI + API server
fleet web
# Standalone terminal chat
fleet-rlm chat --trace-mode compact
# Explicit FastAPI server
fleet-rlm serve-api --port 8000
# Optional MCP server
fleet-rlm serve-mcp --transport stdio
# Experimental Daytona setup validation
fleet-rlm daytona-smoke --repo https://github.com/qredence/fleet-rlm.git --ref main
# Experimental Daytona rollout runner
fleet-rlm daytona-rlm \
--repo https://github.com/qredence/fleet-rlm.git \
--task "Summarize the tracing architecture" \
--batch-concurrency 4
# Scaffold bundled Claude Code assets
fleet-rlm init --list
Runtime Model
Modal chatis the default runtime inRLM Workspace.Daytona pilotis experimental and uses the same websocket chat surface withruntime_mode="daytona_pilot".- In Modal mode, the chat composer can send
execution_mode. - In Daytona mode, the chat flow can send optional
repo_url,repo_ref,context_paths, andbatch_concurrency. - Daytona websocket requests do not accept request-side
max_depth; the CLI still carries--max-depthas a deprecated compatibility flag forfleet-rlm daytona-rlm. - The right rail stays mode-aware: standard sessions use the message inspector, while Daytona sessions hydrate the dedicated run workbench for iterations, callbacks, prompts, evidence, and final output.
Auth and Runtime APIs
The current frontend/backend contract centers on:
/healthand/readyGET /api/v1/auth/meGET /api/v1/sessions/state/api/v1/runtime/settings/api/v1/runtime/status/api/v1/runtime/tests/modal/api/v1/runtime/tests/lm/api/v1/runtime/volume/tree/api/v1/runtime/volume/filePOST /api/v1/traces/feedback/api/v1/ws/chat/api/v1/ws/execution
When AUTH_MODE=entra, HTTP and WebSocket access use real Entra bearer token validation plus Neon-backed tenant admission. Runtime settings writes are intentionally limited to APP_ENV=local.
Running From Source
From the repo root:
uv sync --all-extras --dev
uv run fleet web
Frontend contributors should use pnpm scripts from src/frontend:
cd src/frontend
pnpm install --frozen-lockfile
pnpm run dev
pnpm run build
pnpm run check
The frontend uses Vite+ internally through the vp toolchain, but the canonical contributor workflow in this repo is pnpm run ....
Contributor Checks
Common repo-level validation commands:
make test-fast
make quality-gate
make release-check
Focused docs validation:
uv run python scripts/check_docs_quality.py
uv run python scripts/check_release_hygiene.py
uv run python scripts/check_release_metadata.py
Experimental Daytona Notes
The Daytona runtime is analysis-first and remains opt-in. Use this order:
- Set
DAYTONA_API_KEY,DAYTONA_API_URL, and optionalDAYTONA_TARGET. - Run
fleet-rlm daytona-smoke --repo <url> [--ref <branch-or-sha>]. - Only then run
fleet-rlm daytona-rlm [--repo <url>] [--context-path <path> ...] --task <text> ....
This repo treats DAYTONA_API_BASE_URL as a misconfiguration. Use DAYTONA_API_URL instead.
More Docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fleet_rlm-0.4.97.tar.gz.
File metadata
- Download URL: fleet_rlm-0.4.97.tar.gz
- Upload date:
- Size: 3.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
238e222ecc4e93798fb7ae080db8309c957fb2e9827c916ffac0d78fd39401bc
|
|
| MD5 |
f3339ef526696265a402ec909d39d778
|
|
| BLAKE2b-256 |
10b43eba241a17467553b7e722e9a4e1b1765d9709d8e9c756a2969bcbd78690
|
File details
Details for the file fleet_rlm-0.4.97-py3-none-any.whl.
File metadata
- Download URL: fleet_rlm-0.4.97-py3-none-any.whl
- Upload date:
- Size: 3.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9aa6078724356a60f2ecd1c22f0f403c94c5fea2c58a39c90e36978a4d8090f
|
|
| MD5 |
3cf67e0ea0e12b0e46769569e317a669
|
|
| BLAKE2b-256 |
bfd3f37e0ab9e33cd4e8ef0b09905ca9a2588771436bf58438af2ce1fa60e710
|