reachy-jev
Typed Jev decision primitives for Reachy Mini robot apps that turn observations into state and return abstract motion targets.
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
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is the robot being addressed? | — |
| Choice | Which person should the robot attend to? | — |
How it works
- App perceives the room and builds bucketed state
- Expand a linted question bank and send it via your own TypeSafe client
- Gate the typed answers in deterministic code; skip stale answers
- 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
Typed Jev decision primitives for Reachy Mini applications.
wh000wh000/awesome-jev-live
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 skillprototypePythonCamera-only MuJoCo quadrotor where Jev makes 2.5 Hz tactical judgments while code keeps flight control and a safety veto.
ProjectprototypePythonMulti-drone simulation where Jev makes fast reflex decisions per drone and an optional slower LLM may advise but never takes control.
AppprototypeTypeScriptSO-101 robot-arm workbench where a Jev decision runner picks bounded joint steps from typed candidates under a spend cap.
ProjectprototypeTypeScriptOpen 4B System I driving model that scores behaviours like cruise, stop, yield and brake from three camera frames each decision.
ProjectresearchPythonExperimental robot loop where Jev chooses the next verified action from perception-generated options for a language goal.
ProjectresearchPython