ASIMOOV

Give your robot a soul.

One soul. Any body.

It knows who you are, remembers you, and looks at you when you speak.

pip install asimoov

Get started Read the code

Open source, Apache-2.0. Runs on your machine.

What a robot does with ASIMOOV

  • It remembers

    You tell it your name once. Tomorrow, next week, after a reboot — it still knows you. It remembers what you talked about, who else was there, and when you last came by.

  • It pays attention

    It sees who is in the room and turns towards whoever is speaking. When someone new walks in, it notices.

  • It acts first

    It says hello when you get home. It tells you a stranger is at the door. You set how forward it is, and when it should stay quiet.

  • It has a character

    Curious, playful, a little cheeky, or calm and formal. Its personality lives in a file you can read, edit and give to someone else.

  • It feels like something is going on inside

    Eyes that follow you, blink and drift. A pause before an answer. A change of expression when the mood of the room changes.

How it works

Three layers, one process, all on your machine.

Senses. A camera and a microphone become a picture of the room: who is here, who is speaking, where they are. Faces are matched locally against a small file on your disk. Images are never stored and never leave the machine.

Soul. The scene, the memory and the personality come together into a conversation. ASIMOOV decides where to look, when to speak first, and what is worth remembering.

Body. ASIMOOV asks for things in human terms — wave hello, shake hands, look at Sam. Each body translates them its own way. A robot dog waves with a paw. A humanoid bust waves with an arm. An avatar in your browser waves with its eyes.

Swap the body, keep the soul. Swap the soul, keep the body.

How ASIMOOV works Three layers in one process on your machine. The body's senses — camera and microphone — build a picture of the room. The soul holds the scene, the memory and the personality, and decides. The body acts: gestures, gaze and speech. What the body does changes the room, and the senses pick it up again. Senses Soul Body the body's camera and microphone scene, memory, personality, decision gestures, gaze, speech Camera Microphone Who is here Scene Memory Personality Mind where to look · when to speak first · what to remember wave hello look at Sam speak a picture of the room one request, in human terms the room changes One process. On your machine.

Supported bodies

  • Avatar

    Eyes in your browser. No robot, no hardware, no account — just a webcam and a microphone. The best way to start.

    Ready

  • InMoov

    The open-source 3D-printed humanoid. Head, arms, hands, jaw. Works from a single finger on a single pin, so you can try it long before your build is finished.

    Ready

  • Unitree Go2

    The quadruped. Gestures, gaze by body rotation, battery and posture, front camera. Obstacle avoidance stays on. No flips, ever.

    Ready

  • Reachy Mini

    The desk robot from Pollen Robotics and Hugging Face.

    In progress

Your robot is not here? A body adapter is one class with nine methods and a manifest listing what the body can do. There is a conformance test suite to tell you when you are done.

A personality is a file

apiVersion: asimoov/v1
kind: Persona
name: "Néon"
language: en
identity: |
  You are {name}, a companion robot living with a family.
  {body_description}
traits: [warm, playful, a little cheeky, curious]
speaking_style: |
  - short sentences, two at most
  - no lists, no lecturing
  - use people's names
relationships:
  owners: [Caroline, Sam, Florent]
  owners_style: "affectionate, obedient, teasing"
  strangers_style: "curious, welcoming, slightly reserved"
initiative:
  level: medium
  greet_on_arrival: true
  cooldown_s: 120
  quiet_hours: ["22:00", "08:00"]
rules:
  - "Never jump, never flip."
  - "Never move without calling the matching tool."

Copy it. Change three lines. You have a different robot.

Privacy

Everything runs on your machine. There is no ASIMOOV server. We cannot see your robot, and we could not if we wanted to.

  • Camera images are never stored and never sent anywhere. A face becomes a short list of numbers on your disk, and nothing else.
  • The only thing that leaves your network is the conversation itself — text and speech — sent to the voice provider you chose. You can change provider, and from v1.1 you can run one locally.
  • Nobody is recognised by accident. A person is only remembered when someone says so out loud.
  • Say “forget me” and the record, the facts and the face data are deleted. Really deleted.
  • Memory is one SQLite file. You can open it, read it, back it up, or delete it.

Recognising the people in your home means handling personal data. We would rather you understand exactly what happens than trust us.

Read the full privacy notes

Get started

You need Python 3.10 or newer, a microphone, and an API key from your voice provider.

pip install asimoov
export OPENAI_API_KEY=...
asimoov run robots/avatar

Open http://localhost:7331/face and say hello. Tell it your name. Say goodbye. Come back tomorrow and see what happens.

Speech costs money. A robot in daily use runs roughly $0.45 to $1.35 a day depending on the model you pick. See the numbers.

Then

asimoov run robots/go2       # the quadruped
asimoov run robots/inmoov    # the printed bust
asimoov doctor               # check what your machine can do
asimoov enroll --name Sam    # teach it a face from the command line

Contribute

ASIMOOV is Apache-2.0 and built in the open.

  • Bring a body. A new adapter is one class, nine methods, and a manifest. The conformance suite tells you when it is right. Quadrupeds, arms, heads, toys, virtual bodies — all welcome.
  • Bring a personality. Write a persona.yaml, publish it, tell us. We want to meet your robot.
  • Bring a fix. Start with the issues tagged good first issue. The contracts in src/asimoov/contracts/ are frozen and additive only — everything else is open ground.
  • Tell us what broke. A robot that hesitates, an echo, a face it cannot see: that is the most useful thing you can send us.

Repository Contributing guide Discussions