openhome-dev/abilities
Open-source abilities for OpenHome agents.
What it solves
A language model can't do everything from a conversation alone — it can't fetch live data, control physical devices, play audio, or remember across sessions. OpenHome Abilities solves that by providing ready-made Python plugins that give a voice assistant these new powers, so you can ask it to check the weather, play a podcast, or turn on smart lights.
How it works
An Ability is a Python plugin, usually just a main.py file, that gets triggered by spoken trigger words. OpenHome handles speech-to-text, the LLM, text-to-speech, and routing — you write the logic. The plugin uses a CapabilityWorker object to speak, listen, call the LLM, and store files. There are four ability types: Skill (runs once on a trigger word), Agent Controlled (the agent decides when to run it), Background Daemon (loops during a session), and Local (runs on DevKit hardware). The repo includes starter templates for each type, official abilities, community contributions, and a CLI that automates building, testing, and pushing abilities.
Who it's for
Developers who want to build custom voice features for an OpenHome agent, or users who want to install community-built abilities. It's also useful for anyone learning to create plugins for voice AI systems, with templates and a contribution guide for sharing results.
Highlights
- Official abilities maintained by the OpenHome team (weather, music, quizzes, web search, and more)
- Community-contributed abilities with a security review before merging
- Starter templates covering all four ability types, from basic loops to smart-home and local hardware control
- A CLI that lets you create, voice-test, push, and sync abilities from the terminal
- Simple contribution process: fork, copy a template, build, validate, and open a pull request
Related
- Project
- Project
- Project
- Project