Skip to content

reachy-jev

Typed Jev decision primitives for Reachy Mini robot apps that turn observations into state and return abstract motion targets.

Modelprototype

Overview

reachy-jev is a development-preview library for Reachy Mini applications. Perception stays in the app; the library turns observations into compact, bucketed Jev state, expands a versioned question bank, applies deterministic policy to the typed answers, and returns abstract motion targets such as a pose. It never drives motors and never treats a model answer as a safety interlock.

It includes a TypeScript core with a Python counterpart, a question-bank linter that rejects unknown types, misspelled fields, empty or duplicate options and bad person IDs, and a JevClient that briefly caches identical state, retries one transient failure, and marks fallback answers stale so apps do not actuate on them. A browser signal panel and optional React wrapper visualise probabilities (for example whether the robot is being addressed and who it should attend to). Trace export defaults to timing metadata only for privacy. The README makes no live accuracy, latency or hardware claims.

What the decision model decides

TypeQuestionAnswers
Yes / noIs the robot being addressed?—
ChoiceWhich person should the robot attend to?—

How it works

  1. App perceives the room and builds bucketed state
  2. Expand a linted question bank and send it via your own TypeSafe client
  3. Gate the typed answers in deterministic code; skip stale answers
  4. Return an abstract pose or motion target for the app to execute

Strengths

  • Model answers never directly drive motors
  • Structural lint catches bad question banks before calls
  • Privacy-conscious tracing defaults

Caveats

  • Development preview; not on npm or PyPI
  • No live Jev, latency or hardware results claimed
  • Apps must supply their own authenticated client

Getting started

npm install 'github:AbdelStark/reachy-jev#v0.0.1' then npm run example to run the fixture with no key or robot.

At a glance

Type
Model
Status
prototype
Language
TypeScript
Runtime
Node 20+, browser panel, Python core
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide here?

Social judgments such as whether the robot is addressed and whom to attend to; code maps them to abstract poses.

Does it control the motors?

No; it returns abstract targets and never treats a model answer as a safety interlock.

Can I try it without a robot or key?

Yes, npm run example uses a fixture and fake answer.

Related projects

  • Simulated Franka arm that follows plain-English goals by having Jev chain about 30 hardcoded motion primitives, one per step.

    Agent skillprototypePython
  • Camera-only MuJoCo quadrotor where Jev makes 2.5 Hz tactical judgments while code keeps flight control and a safety veto.

    ProjectprototypePython
  • Multi-drone simulation where Jev makes fast reflex decisions per drone and an optional slower LLM may advise but never takes control.

    AppprototypeTypeScript
  • SO-101 robot-arm workbench where a Jev decision runner picks bounded joint steps from typed candidates under a spend cap.

    ProjectprototypeTypeScript
  • Open 4B System I driving model that scores behaviours like cruise, stop, yield and brake from three camera frames each decision.

    ProjectresearchPython
  • Experimental robot loop where Jev chooses the next verified action from perception-generated options for a language goal.

    ProjectresearchPython