https://github.com/openvoiceos/ovos-workshop
frameworks, templates and patches for the OpenVoiceOS universe
https://github.com/openvoiceos/ovos-workshop
openvoiceos
Last synced: about 1 month ago
JSON representation
frameworks, templates and patches for the OpenVoiceOS universe
- Host: GitHub
- URL: https://github.com/openvoiceos/ovos-workshop
- Owner: OpenVoiceOS
- License: apache-2.0
- Created: 2021-04-02T15:15:29.000Z (over 5 years ago)
- Default Branch: dev
- Last Pushed: 2026-06-23T17:47:21.000Z (about 2 months ago)
- Last Synced: 2026-06-23T19:26:43.872Z (about 2 months ago)
- Topics: openvoiceos
- Language: Python
- Homepage:
- Size: 2.92 MB
- Stars: 6
- Watchers: 2
- Forks: 15
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# OVOS Workshop
Base classes, decorators, and helpers for building skills and applications for OpenVoiceOS.
## Install
```bash
pip install ovos-workshop
```
Runtime dependencies include `ovos-yes-no-plugin` and `ovos-option-matcher-fuzzy-plugin`, which back the `ask_yesno` and `ask_selection` skill methods.
## Quick Start
```python
from ovos_workshop.skills.ovos import OVOSSkill
from ovos_workshop.decorators import intent_handler
class HelloWorldSkill(OVOSSkill):
@intent_handler("hello.intent")
def handle_hello(self, message):
self.speak_dialog("hello.response")
def create_skill():
return HelloWorldSkill()
```
Register in `pyproject.toml`:
```toml
[project.entry-points."opm.skills"]
hello-world-skill = "hello_world_skill:HelloWorldSkill"
```
## Configuration
Key settings a skill can accept in its `settings.json`:
| Key | Default | Description |
|-----|---------|-------------|
| `ask_yesno_plugin` | `ovos-solver-yes-no-plugin` | YesNoEngine plugin used by `ask_yesno()` |
| `ask_selection_plugin` | `ovos-option-matcher-fuzzy-plugin` | OptionMatcherEngine plugin used by `ask_selection()` |
Both keys can also be set system-wide under the `skills` block in `mycroft.conf`.
## Documentation
Full reference is in [`docs/`](docs/index.md):
- [Skill classes](docs/skill-classes.md)
- [OVOSSkill base class](docs/ovos-skill.md)
- [ask_yesno / ask_selection plugin system](docs/skill-interaction.md)
- [Decorators](docs/decorators.md)
- [Settings](docs/settings.md)
- [Resource files](docs/resource-files.md)
## License
Apache 2.0