abilities  by openhome-dev

Extensible voice-AI framework for agents

Created 5 months ago
443 stars

Top 66.9% on SourcePulse

GitHubView on GitHub
Project Summary

OpenHome Abilities provides an open-source framework for developing and sharing plugins that extend the capabilities of OpenHome voice agents. It empowers users to add custom functionalities like web data fetching, smart device control, and audio playback, which are beyond the core LLM's direct scope. The project targets developers seeking to enhance voice assistant utility and foster a community around reusable agent extensions.

How It Works

Abilities are Python plugins integrated into the OpenHome Agent ecosystem. The platform manages core AI, speech processing, and routing, allowing developers to focus on specific logic. An Ability is triggered by predefined phrases, executes its defined flow using the CapabilityWorker SDK for I/O (e.g., speak, user_response, LLM calls), and then signals resumption of normal agent operation. Most Abilities are contained within a single main.py file.

Quick Start & Requirements

  • Installation: Clone the repository, copy a starter template (e.g., basic-template), edit the main.py file, and then upload as a zip via the app.openhome.com dashboard. Alternatively, use the OpenHome CLI (pip install -e cli) for a streamlined local development loop.
  • Prerequisites: Python 3.x, Git. For CLI audio testing: mpv and portaudio (macOS: brew install mpv portaudio, Linux: sudo apt install mpv portaudio19-dev). An OpenHome API key is required for CLI authentication.
  • Resources: Starter templates offer minimal scaffolds. Official docs suggest a 5-minute setup for a first Ability.
  • Links: Getting Started, Templates, Contribution Guide, Marketplace.

Highlighted Details

  • Ability Types: Supports four distinct types: user-triggered Skills, Agent-controlled tools (in development), background Daemons, and hardware-interfacing Local abilities.
  • Extensive Templates: Numerous starter templates cover diverse use cases, including API integrations, file persistence, Slack interaction, email, and local command execution.
  • Marketplace: Features both official, team-maintained Abilities and community-contributed ones, fostering discovery and reuse.
  • OpenHome CLI: Provides a command-line interface for scaffolding, testing, pushing, and managing Abilities locally.

Maintenance & Community

The project emphasizes community contributions, with a clear contribution guide and a process for promoting community Abilities to official status. Authorship is always credited. Key documentation includes CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.

Licensing & Compatibility

Licensed under the permissive MIT License. All contributions are subject to the same terms. Original authorship is preserved. The MIT license generally permits commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

  • "Agent Controlled" abilities are explicitly noted as being "in development."
  • "Local" abilities require specific OpenHome DevKit hardware (e.g., Raspberry Pi) for on-device functionality.
  • The framework relies on the core OpenHome Agent for fundamental AI and voice processing; Abilities augment, rather than replace, these core functions.
Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
10
Issues (30d)
0
Star History
18 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.