Script Agent

Published

We've just released a new app (formerly add-on) called the Script Agent for people who want to add a little local A.I. to their voice assistants, but don't have a powerful GPU (if you do, check out this guide). It uses a version of Gemma 4, and is targeted at a mini-PC with at least 8GB of RAM. It may run on a Raspberry Pi 5 with enough RAM, but it'll be pretty slow (tens of seconds to respond, minutes to train).

The app adds a conversation agent whose job is to take a voice command and then:

  1. Call the right script that you've written
  2. Fill in the script's fields with the right values (supported field types)

For example, a play music script defines text fields for "artist", "album", and "track". If you were to give the voice command "play Mr. Brightside by The Killers", the "play music" script will be called with:

To make this work well with Music Assistant, a special satellite variable which includes information about the area where the voice command was spoken is passed to your script. If that area contains a compatible media player, it will be available as satellite.music_player_id.

A set of blueprints demonstrates what kinds of things are possible. The create calendar event script lets the agent flexibly add events to a calendar entity that has been exposed to Assist (all entities targeted by name must be exposed). Now voice commands like "add a dentist appointment for 1 hour on Monday at 2pm to my calendar" will add the event. No A.I. subscription required!

Because the agent runs on CPU and is targeted at mini-PCs, it's important to limit the scripts it can call and the entities it will target. By default, the agent will only call scripts that have been exposed to Assist. You can change the targeted scripts/entities/areas/floors through the built-in web UI as well as test out sentences and tweak settings.