Skip to main content

Knowlin – one mind, many bodies: the start page with Knowlin's neural network and the three embodiments

Knowlin

One mind, many bodies.
A self-learning companion that embodies small robots –
virtual in the simulator today, then physically in your real surroundings.

Checks License: Apache-2.0 Python 3.11 to 3.13 Accessibility goal: WCAG 2.2 AA

Quick start · Features · Bodies · Safety · Contributing · Deutsch

Just want a look? Pictures and an overview at knowlin.de.

The idea

Knowlin is one shared mind for several robots. It knows your surroundings, your everyday life and the things you have experienced together – and takes on a body depending on the task: the walking Microduck, the self-built Open Duck Mini, the desk robot Reachy Mini or the SO-101 gripper arm at its workbench. Each embodiment has its own name, voice and character; the knowledge is shared. You choose the language model freely – Claude, another model with your own key, or a local one on your PC.

Without a body, Knowlin is calm and matter-of-fact. When something needs movement – walking, dancing, showing you something – it suggests the right robot and asks whether to use it.

Animation: the start page with Knowlin's softly moving neural network, a short conversation (“Who are you?”), then Knowlin wakes Reachy

What Knowlin does

Cockpit with the Microduck in the simulator living room and the conversation next to it
Voice control
Free sentences, wake word or push-to-talk: the language model understands, plans sequences and rehearses new moves invisibly in the physics first – Claude, Gemini, OpenAI, Mistral, or local with Ollama and LM Studio. Simple commands also work without AI.
Memory: brain activity as a spatial network of places, things, times of day and feelings with glowing connections
Memory and experience network
Knowlin remembers places, things, tricks and what you tell it – and where it learned it: without a body or in which embodiment, in the simulator or on the real robot. Everything stays on your PC.
Personality of the embodiment: the character field between calm and lively, serious and silly, next to it the Microduck's colours
One character, many variations
Pick Knowlin's basic character on a field between calm and lively, serious and playful. Each embodiment has its own variation and the traits of its form – from beak clattering to antenna play.
Reachy Mini in the simulator
Dancing, games, everyday life
Dances on the beat, Pollen's emotions, camera games with Reachy (“Red light, green light”), timers, reminders and appointments – and a phone remote on your own Wi-Fi.

Images with Microduck and Reachy Mini: Knowlin with Pollen Robotics' 3D models – © Pollen Robotics, CC BY-NC-SA 4.0. These images are under the same licence; Knowlin does not ship the model files themselves.

Also: its own voice running locally (Piper, or a sound designed with Qwen3-TTS) · speech recognition and chatting · simulator with a living room, things to play with and optional real physics · tricks from the Hugging Face Hub, courses and training (free on your PC or on Kaggle) · Knowlets: share character, tricks and dances as a package – data only, never knowledge about people · interface in English and German.

A mind, not just a language model

Knowlin stays the same, whichever model is thinking and whichever body is attached:

  • Values and limits: every language model gets the same values (be honest, safety before curiosity, don't manipulate …). The limits – emergency stop, lock, no moving around on its own on the real robot – live in the code, each backed by a test. See Character → Personality.
  • Intention, not movement: the model says what it means ("greet", "be happy"); the body works out how to show it – the duck nods, Reachy uses head and antennas, the arm waves. What it can't do, Knowlin says honestly.
  • Self-image: "How are you?" is answered from the body's data, not made up.
  • Drive and trail of thought: curiosity, closeness, rest and skill help decide what it does on its own – subtle, never pushy. Every action it takes on its own is listed with a reason.
  • Looking back: in quiet phases it notes small lessons ("likes practising tricks"). It doesn't bring them up; you can correct or delete each one.

Bodies and modules

The modules have code names by kind of body: duckpilot for the walking ducks, deskpilot for stationary desk robots. Every body shows only what it can do – what it lacks (legs, depth sensor, beak …) simply isn't there.

Embodiment Body Module Maker In the simulator Real robot
Quacki Microduck duckpilot Pollen Robotics and Hugging Face simple and with real physics via robotd (Pollen's daemon)
Odi Open Duck Mini v2 duckpilot Antoine Pirrone and community open model: walking, head, antennas, avoids obstacles with its camera planned
Reachy Reachy Mini deskpilot Pollen Robotics and Hugging Face Pollen's model, emotions, dances, games via Pollen's daemon (untested)
Ari SO-101 (gripper arm) so101 TheRobotStudio and Hugging Face open model at its own workbench: gestures, picking up cubes and putting them in boxes via LeRobot (untested)
– more LeRobot robots (LeKiwi, Koch …) lerobot Hugging Face LeRobot – via LeRobot (arm, gripper, wheels; untested)

Your own robot: With the body interface any robot can get Knowlin – as its own Python package, without changing Knowlin. It describes what it can do in a profile and passes the safety checks (python -m duckpilot.koerper_pruefung). Template: examples/knowlin-koerper-vorlage.

flowchart LR
  Human(["You – voice, text, phone"]) --> Mind
  subgraph Mind["Knowlin – one mind"]
    direction TB
    Brain["Brain<br/>Claude · other models · local · simple commands"]
    Values["Values, self-image, drive, looking back"]
    Memory["Memory and experience network<br/>surroundings · everyday life · experiences"]
    Character["Basic character and voice"]
  end
  Mind --> Safety{{"Safety<br/>emergency stop always wins"}}
  Safety --> D["duckpilot<br/>Microduck · Open Duck"]
  Safety --> R["deskpilot<br/>Reachy Mini"]
  Safety --> A["Arm<br/>SO-101"]
  D --> Sim[("Simulator<br/>with physics")]
  R --> Sim
  A --> Sim
  D -. "switchable" .-> Real[("Real robot")]
  R -. "switchable" .-> Real

Quick start

Windows – with the installer (recommended)

  1. Download Knowlin-Setup – under “Assets”, the file Knowlin-Setup-….exe.
  2. Double-click it. Python is included, no administrator rights needed. If Windows says “Windows protected your PC”, click More info → Run anyway – the installer isn't signed yet.
  3. Start Knowlin from Knowlin in the start menu or on the desktop. The First steps assistant walks you through language, body, brain and the safety rules. For Claude, paste your Anthropic API key (platform.claude.com → Settings → API keys). It is stored in the operating system's vault, never in a file. Without a key, simple commands work (“walk forward”, “dance”, “stop”).

Updates: just install the new installer on top – memory and settings stay. Uninstall via Windows Settings → Apps.

With Python (Windows, macOS, Linux): pipx install knowlin, then knowlin --app (own window) or knowlin (console and browser). On Windows, knowlin --verknuepfung adds the start menu and desktop entries. Update with pipx upgrade knowlin.

From source: clone the repository, then on Windows double-click start.bat. The first time it creates a Python environment under %LOCALAPPDATA%\duckpilot (not in your OneDrive folder) and installs the packages and shortcuts.

On macOS and Linux from source: ./start.sh (console and browser) or ./start.sh --app (own window with Chrome/Edge). Needs Python 3.11 or newer; on Debian/Ubuntu also python3-venv. The browser's speech recognition only exists in Chrome and Edge – on Linux, use local recognition instead (Settings → Conversation → Speech recognition “Local”, after a one-time .venv/bin/pip install faster-whisper).

More about starting: window, console, updates
  • The window is Microsoft Edge in app mode with its own profile under %LOCALAPPDATA%\duckpilot\fenster – an embedded window couldn't use the browser's speech recognition. Without Edge, Knowlin uses Chrome, otherwise your default browser.
  • Console instead of window: start.bat with arguments, e.g. start.bat --backend robotd --robot tcp:127.0.0.1:7900. Logs in window mode are in %LOCALAPPDATA%\duckpilot\duckpilot.log.
  • Updates from source: run start.bat again – it only installs what changed. Closing the window ends Knowlin after a few seconds.
  • For developers: pip install -e ".[dev]", then python -m duckpilot (the Python package is called duckpilot for historical reasons).

Safety and privacy

Emergency stop wins Esc, the red button or “Stop” halt everything at once – with or without AI. Afterwards nothing stands up or sits down by itself for a while – two minutes by default, adjustable from 15 seconds to 10 minutes.
Keys only in the operating system's vault, never in files, logs or reports.
People and camera faces and names only on the PC, only when enrolled and with consent. Camera games analyse the image only in the browser – no image leaves the PC.
Data map, sightings and memory stay on this PC and never go into a Knowlet.
Costs paid cloud training only starts after two clicks.
Updates Once a day a request to GitHub to see whether there is a new version (can be turned off). Knowlin only updates when you click, with a checksum, and never while the real robot is connected.

Please report security issues privately: SECURITY.md.

Accessibility

The goal is WCAG 2.2 AA: fully usable by keyboard, contrast checked, “reduce motion” respected. Every view is checked automatically with axe-core; testing with real screen readers (NVDA, VoiceOver) is still to do – feedback is very welcome. Details (German): docs/barrierefreiheit.md.

Documentation

Contributing

Contributions are welcome – code, translations, dances, tests or reports from a real robot. Start with CONTRIBUTING.md and the issues labelled good first issue. Questions and show & tell are welcome in Discussions. Please follow the Code of Conduct.

Knowlin is a free, non-commercial hobby project for small robots. It is not affiliated with, endorsed or reviewed by Pollen Robotics or Hugging Face. Knowlin is licensed under the Apache License 2.0 (LICENSE), © 2026 The Knowlin Authors; built with Claude (Anthropic). “Microduck” and “Reachy Mini” are names of Pollen Robotics; “Open Duck Mini” is a project by Antoine Pirrone. Contributions and their licences are listed in NOTICE and in the app under System → Settings → About. On GitHub: knowlin-ai/knowlin – maintainer @knowlin-dev.

What Source Licence In Knowlin
3D parts (STL) pollen-robotics/microduck_rl CC BY-NC-SA 4.0, © Pollen Robotics not included – downloaded on first start and prepared on your PC
Robot model (MJCF) pollen-robotics/microduck_rl Apache-2.0 not included – as above
Policies pollen-robotics/microduck-policies see there not included – loaded on request
14 emotions, sounds pollen-robotics/microduck_emotions Apache-2.0 converted (tools/import_emotions.py)
Duck voice, gesture sounds microduck_emotions, microduck Apache-2.0 rendered with Pollen's synthesiser
three.js mrdoob/three.js MIT static/vendor/
IBM Plex Sans and Mono IBM/plex SIL OFL 1.1 static/vendor/plex/
Design IBM Carbon Design System Apache-2.0 rebuilt in static/ds/
Reachy Mini: 3D parts, kinematics pollen-robotics/reachy_mini hardware CC BY-NC-SA 4.0, software Apache-2.0 not included – downloaded on request and prepared on your PC
Reachy Mini: emotions and dances Pollen's datasets on Hugging Face see there not included – downloaded on request
Hand detection (camera games) MediaPipe Hand Landmarker: @mediapipe/tasks-vision 0.10.21 and the model hand_landmarker.task (float16/1) by Google Apache-2.0 not included – downloaded only on click (fixed version, checksums in modell/hand_quellen.json), runs only in the browser
Open Duck Mini v2: 3D model apirrone/Open_Duck_Mini Apache-2.0 prepared and included (static/model/open_duck_mini.dpm, see LIZENZ-open-duck-mini.md)

All changes per version: CHANGELOG.md (German).

Metadata

Release files for knowlin 0.38.50

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for knowlin 0.38.50
File Size Uploaded Provenance Actions
knowlin-0.38.50.tar.gz 7.6 MB With provenance Details for knowlin-0.38.50.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for knowlin 0.38.50
File Interpreter ABI Platform Actions
knowlin-0.38.50-py3-none-any.whl Python 3 none any Details for knowlin-0.38.50-py3-none-any.whl

Total release size: 15.2 MB

Release files / knowlin-0.38.50.tar.gz

Download URL knowlin-0.38.50.tar.gz
Size 7.6 MB
Tags Source
SHA-256 checksum
How to use checksums
c46a82696ad744efef6dc424cdc7ab0ffe54f0c88c48666d43265bb502502165
BLAKE2b-256 checksum
How to use checksums
e62a2216ed82eb7f67bd92c6170f11624e3116298759092ea6aa72cf724e4fbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

Release files / knowlin-0.38.50-py3-none-any.whl

Download URL knowlin-0.38.50-py3-none-any.whl
Size 7.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8fb5ec8e1ea45bef589d07971e717cca689c31fb8ce06a67b07f9c2c0b4cf385
BLAKE2b-256 checksum
How to use checksums
ab4dc7c8ea886749b774700c7c9ee6dc4f4acb79c8135e36ab777c8ab4374091
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

Security for knowlin 0.38.50

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for knowlin-0.38.50.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page