Robot being walked on a leash by the specdog mascot

leash

Safe robot control from the CLI, HTTP, and MCP.

Open-source Rust runtime for simulation, replay, agents, navigation, ROS 2, CUDA, and real robots — with one safety boundary before motion.

Get started GitHub
Rust workspace MCP stdio and HTTP Simulation by default GitHub stars

Quick start

cargo install leash-harness
leash run sim-http
leash health --url http://127.0.0.1:8000
curl -s http://127.0.0.1:8000/telemetry | jq

This runs entirely in simulation. No robot required.

Features

CLI, HTTP, and MCPOne runtime across human, app, and agent clients.
Simulation and replayDevelop without hardware and replay recorded runs deterministically.
Agent workflowsPersistent sessions, browser console, scoped capabilities, and supervised tasks.
Bounded navigationGoals, patrols, status, cancellation, deadlines, and verified stop.
CPU and CUDABounded sensor processing with CPU-authoritative GPU qualification and fallback.
ROS 2 and hardwareMapping and planning inputs plus feature-gated robot adapters; Waveshare UGV included.

Demo

Geek on a Leash
A full Rust Tuesdays walkthrough of Leash: runtime, safety boundary, ROS 2, CUDA, and a bounded UGV demo. Includes editable deck source, PDF, PowerPoint, speaker notes, preflight tooling, and a recorded fallback.
Open slides Source + notes

Safety boundary

Leash owns the final command sent to the robot. Agents, planners, ROS 2 nodes, CUDA jobs, and apps can request work or provide evidence; they do not become another motor writer.

Physical motion is off by default and passes authorization, approval, freshness, deadman, collision, distance, Stop, and E-stop checks. Simulation and replay never actuate hardware.

Explore

AgentsRun durable sessions and bounded capability calls.
Agent workflows →
NavigationSubmit and supervise bounded goals.
Navigation API →
ComputeUse authenticated CPU/CUDA spatial jobs.
Compute API →
HardwareWaveshare UGV, calibration, ROS 2, deployment, and field proof.
Waveshare stack →

Open source

git clone https://github.com/specdog/leash.git
cd leash
npm ci
cargo build
cargo run -- run sim-http

MIT licensed. Human contributors start with CONTRIBUTING.md; coding agents start with AGENTS.md.