quackd
One CLI for all your robots. Connect them, command them, and let them work together, each with an LLM for a brain (Claude, OpenAI, Gemini, Grok, or local via Ollama or vLLM), VLAs for arms and decision LLMs (Jev, Laya, Kev). Drives Microduck, Open Duck Mini, LeRobot, XLeRobot, AlohaMini, ToddlerBot, or any ROS 2 base from a laptop, offboard.
289 ★ on GitHub
What it is
One CLI for all your robots. Connect them, command them, and let them work together, each with an LLM for a brain. quackd, pronounced “quacked”, began as the brain daemon the Microduck was missing, named like that robot's own robotd , mediad , padd and tofd . That is where the ducks come from: a task is a .duck file and a group of robots is a flock. Seven robots today, one of them driven on real h
The homepage listed on the repository, quackd.org, puts it like this: One CLI for all your robots. Connect them, command them, let them work together, each with an LLM for a brain. Nine bodies, twelve providers, Apache-2.0.
Getting started
From the README:
uv venv --python 3.12
uv pip install "quackd[lerobot,openai]" # or anthropic, gemini, grok, and so onWhere the decision sits
quackd runs its own weights or its own runtime rather than calling a hosted API, so its decisions do not depend on a vendor being up or on a key being funded. The trade is that the model is now yours to keep current.
How active it is
Created 2026-08-28, last pushed 2026-11-02, 289 stars and 29 forks when we read it on 2026-11-02. Everything in this category is weeks old at most, so a stale push date means something different here than it would on a mature project. Check the repository before you depend on it.
Find out what your data actually supports
We turn your historical decisions into a frozen test set, then tell you which model, which threshold, and how much of it you can safely automate.