A robot teammate on your Mac desktop
A small robot floats above your windows, blinks and reacts. Click it and type, or hold ⌥Space and just speak. It answers with its face, a speech bubble and its voice, using the language model you choose.
Byte answering "what is BFS algorithm", recorded on a Mac (silent clip).
What it does
Lives on your desktop
A floating character on every Space. Drag it anywhere, close it with ×, ⌘W or Esc, and bring it back from the menu bar.
Type or talk
Click to type, or hold ⌥Space to speak. It answers out loud, and its mouth moves with its voice.
Your model, your servers
Any OpenAI-compatible chat, speech and transcription servers: Ollama, llama.cpp, vLLM, Kokoro, Whisper, or a router in front of them.
Teammates
Byte
Explains computer science: algorithms, data structures, complexity, one idea at a time with a small example. Teaches an eight-lesson course with spoken quizzes and a review schedule, and remembers how you did. Green face, antenna.
Tempo
Loves music: songs, styles, rhythm and what a song is about. Pink face, headphones.
Make your own with one small file: a name, colours, antenna or headphones, a voice, and what it's for. The same file works in humanoid-companion, a simulated humanoid that walks and talks.
# ~/.config/humanoid-companion/teammates/nova.toml
name = "Nova"
tagline = "tells stories about space"
based_on = "byte"
voice = "af_sky"
role = "Your role: you tell short, true stories about space."
[colours]
glow = "#9fd0ff"
trim = "#2a3552"
Install
macOS 14 or later, with Xcode or the Swift 6 command-line tools.
git clone https://github.com/YauhenBichel/humanoid-desktop && cd humanoid-desktop
scripts/build-app.sh --install
open ~/Applications/HumanoidDesktop.app
Then choose Open Settings File… from the menu bar item and point it at your servers:
[user]
name = "Alex"
language = "de" # optional: the teammate answers in German
[llm]
base_url = "http://127.0.0.1:11434/v1" # Ollama
model = "llama3.1:8b"
[voice]
tts_base_url = "http://127.0.0.1:8880/v1" # Kokoro
stt_base_url = "http://127.0.0.1:8000/v1" # Whisper (Speaches)
Languages and platforms
Set language and the teammate answers in it, with a voice per language if you give one. Stop words work in English and the answer language. The app's menus come from one strings file per language.
| Part | macOS | Linux | Windows |
|---|---|---|---|
| TeammateKit: settings, teammates, conversation, languages, clients | tested in CI | tested in CI | planned (#11) |
| The desktop app | yes | planned (#12) | |
More language models and systems are on the roadmap: native Anthropic and Gemini support, Apple's on-device model, streaming replies, a settings window and signed releases.