Skip to main content

Recursive Language Models with DSPy + Modal and an integrated Web UI for secure long-context code execution

Project description

fleet-rlm

PyPI version License: MIT CI PyPI Downloads

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, and Settings
  • 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 chat is the default runtime in RLM Workspace.
  • Daytona pilot is experimental and uses the same websocket chat surface with runtime_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, and batch_concurrency.
  • Daytona websocket requests do not accept request-side max_depth; the CLI still carries --max-depth as a deprecated compatibility flag for fleet-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:

  • /health and /ready
  • GET /api/v1/auth/me
  • GET /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/file
  • POST /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:

  1. Set DAYTONA_API_KEY, DAYTONA_API_URL, and optional DAYTONA_TARGET.
  2. Run fleet-rlm daytona-smoke --repo <url> [--ref <branch-or-sha>].
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fleet_rlm-0.4.97.tar.gz (3.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fleet_rlm-0.4.97-py3-none-any.whl (3.8 MB view details)

Uploaded Python 3

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

Hashes for fleet_rlm-0.4.97.tar.gz
Algorithm Hash digest
SHA256 238e222ecc4e93798fb7ae080db8309c957fb2e9827c916ffac0d78fd39401bc
MD5 f3339ef526696265a402ec909d39d778
BLAKE2b-256 10b43eba241a17467553b7e722e9a4e1b1765d9709d8e9c756a2969bcbd78690

See more details on using hashes here.

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

Hashes for fleet_rlm-0.4.97-py3-none-any.whl
Algorithm Hash digest
SHA256 f9aa6078724356a60f2ecd1c22f0f403c94c5fea2c58a39c90e36978a4d8090f
MD5 3cf67e0ea0e12b0e46769569e317a669
BLAKE2b-256 bfd3f37e0ab9e33cd4e8ef0b09905ca9a2588771436bf58438af2ce1fa60e710

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page