Tools reference·
28 tools in 16 modules, generated from the @tool functions in tools/ at every docs build (scripts/tooldoc.py): signatures come from the AST, descriptions from the docstrings the model itself reads. If a page here disagrees with the robot, the docstring is wrong — fix it there.
| module | tools | what it covers |
|---|---|---|
| Motion | reachy_look reachy_antennas reachy_body_turn reachy_home reachy_wake |
head pose, antennas, body yaw, home, wake/sleep — every angle clamped before it reaches the daemon |
| Expression | reachy_express reachy_list_emotions |
the recorded-move library (emotions, dances) the personas fire while they talk |
| State | reachy_get_state reachy_motors |
read the live pose and switch motor modes |
| Camera | reachy_camera reachy_look_at capture_camera |
grab a frame, look at a pixel, ask the vision model a question about what TINY sees |
| Audio | reachy_play_sound reachy_say reachy_volume |
speak (Piper TTS on the CM4), play a sound, set the speaker volume — “silent” means 0 |
| Head tracking | head_tracking head_tracking_status |
toggle the daemon's face tracker (reachy-mini ≥ 1.10) through the dashboard's tracking controller |
| Turn to sound | turn_to_sound turn_to_sound_status |
turn toward whoever is talking (ReSpeaker direction of arrival) when face tracking has no lock — the dashboard's DoA turner |
| Vision | take_photo |
take_photo — a frame plus a question for the multimodal model, shared by every persona |
| Voice bridge | voice_say |
text → the voice persona's mouth (say/mute) from the text personas |
| Dispatch | dispatch |
hand a task to another persona (voice/telegram/thinker) through the shared brain |
| Memory | memory |
the cross-persona SQLite brain: remember, recall, forget |
| Telegram | telegram |
send text and photos to the owner's chat from any persona |
| Prompts | prompts |
read and override each persona's system prompt (override = personality note appended; FULL: replaces) |
| Manage messages | manage_messages |
inspect and compact the running agent's own conversation |
| Manage tools | manage_tools |
list, create and hot-load new tools at runtime |
| Fleet (tiny.technology MCP) | use_device |
use_device and the other fleet tools, mounted only when TINY_MCP=1 — with the self-refusal guard |
Who gets what·
Two builders in tiny.py decide which of these a persona can call:
build_tools()— shell, telegram, thinker: everything above plususe_github/use_spotifywhen importable.build_voice_tools()— voice and the dashboard Ask: the latency-slim list (motion, expression, state, camera, head tracking,reachy_volume, memory, prompts, dispatch, telegram, voice_say, take_photo) — see Personas.
Fleet tools (use_device, tiny_recall, tiny_learn, …) ride along only when TINY_MCP=1 and the persona is in TINY_MCP_PERSONAS, never on a turn that itself arrived from another device — see Fleet.