Skip to content

About

Local-first SO-101 control plane and agent-safe robotics dashboard

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

Hashtag Robotics SO-101 Dashboard

A local-first control plane and web dashboard for operating, inspecting, and developing SO-101 robot workflows. The dashboard is a standalone project: it does not require the Hashtag Robotics tic-tac-toe repository.

The application combines a FastAPI backend, a React/TypeScript dashboard, persistent jobs and audit records, deterministic safety checks, Strands agent workflows, LeRobot adapters, dataset management, and MuJoCo contract simulation.

Hardware actuation is disabled by default. Keep HASHTAG_ENABLE_PHYSICAL=false until the robot, calibration, limits, cameras, emergency stop, and workspace have been checked by an operator.

What it provides

  • Local SO-101 device discovery and stable device profiles
  • Robot, teleoperator, camera, calibration, dataset, and policy manifests
  • Deterministic jobs, resource leases, approvals, audit history, and E-STOP latch
  • Teleoperation, recording, replay, training, evaluation, and policy workflows
  • Strands Agents planning behind a permissioned command gateway
  • Software-only and MuJoCo validation paths
  • A production dashboard embedded in the Python wheel

The deterministic control plane owns execution and safety guarantees. Strands Agents reason and plan only through explicitly permitted actions; they never receive raw shell, serial, servo, or unrestricted robot access.

Example project

The end-to-end SO-101 Tic-Tac-Toe project is a concrete example of how this dashboard can support a robotics workflow: 3D-printed hardware, data collection, Hugging Face datasets, SmolVLA training, policy evaluation, and a guarded Strands-powered game agent.

The example is optional. Dashboard users can configure their own robots, datasets, tasks, and policies without cloning the tic-tac-toe repository.

Architecture

Layer Responsibility
Strands Agents Reasoning, structured planning, and bounded workflows
Strands Robots Robot, policy, and simulation integration surface
LeRobot SO-101 drivers, calibration, datasets, training, and rollouts
Hashtag Robotics Profiles, jobs, leases, safety gates, audit, API, and UX

Quick start

Requirements:

  • Python 3.12 or 3.13
  • uv
  • Node.js 22 or newer

Install the software-only development environment:

uv sync --extra dev --extra agents --extra sim
npm install --prefix frontend

Install the native Strands Robots integration when robot, policy, or MuJoCo adapters are needed:

uv sync --extra dev --extra agents --extra strands-robots

Build the dashboard:

npm --prefix frontend run build

Start the local application with physical adapters disabled:

HASHTAG_DATA_DIR=.local-data \
HASHTAG_OPEN_BROWSER=false \
HASHTAG_ENABLE_PHYSICAL=false \
uv run hashtag-robotics serve

Use the address printed by the server startup log. The configured default is http://127.0.0.1:8765; another local port may be selected in your environment.

Run read-only system checks:

HASHTAG_DATA_DIR=.local-data uv run hashtag-robotics doctor
HASHTAG_DATA_DIR=.local-data uv run hashtag-robotics capabilities
uv run hashtag-robotics hil-checklist

Validation

Run every software-only release gate:

bash scripts/verify.sh

This checks Python linting and formatting, backend/API contracts, frontend typechecking and production build, the source distribution, and wheel contents. It also enforces the repository's English-only text gate. It does not prove physical hardware compatibility.

Physical safety boundary

Before enabling a real robot, verify at minimum:

  1. Correct leader/follower roles and serial ports
  2. Calibration identity and revision for both arms
  3. Joint units, dimensions, limits, and relative-target clamps
  4. Camera device identity and dataset feature-key mapping
  5. Control frequency, latency, and policy action horizon
  6. A reachable physical emergency stop
  7. A clear workspace and explicit operator approval

Start with software-only checks, then simulation, then supervised hardware-in-the-loop validation. Never treat a passing software test as proof that physical motion is safe.

Security

  • The server binds to loopback by default.
  • Host, origin, and session-token checks protect the local API.
  • Provider credentials belong in the provider SDK credential chain or an OS secret store, never in repository files or command history.
  • Client-supplied paths and hardware targets must not bypass server-owned resolution and safety checks.

License

Software and documentation are licensed under the Apache License 2.0. Hashtag Robotics names and logos are trademarks and are not licensed as product branding.

About

Local-first SO-101 control plane and agent-safe robotics dashboard

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages