There's a project called Jasper [1] that can use a variety of different speech-to-text backends and allows you to write plugins to process commands.
For me the biggest issue is actually capturing audio. Something like Google Home or Amazon Echo will have one or more very good microphones in and trying to source those separately ends up being surprisingly expensive.