Skip to main content

Internet radio for Huxley — HTTP/Icecast streams via ffmpeg, last-station resume, auto-reconnect.

Project description

huxley-skill-radio

Internet radio for Huxley. HTTP/Icecast streams via ffmpeg, with last-played-station resume.

Status: bundled with the Huxley repo as a workspace member.

What it does

  • play_radio_station — "play radio" / "put on La X" — starts streaming the named station (or the last one if no name given).
  • list_radio_stations — "what stations do you have" — speaks the configured station list.
  • pause_radio — "pause the radio" — stops streaming. The next play_radio_station resumes the last station automatically (last_station_id persists in ctx.storage).

Configure

skills:
  radio:
    ffmpeg: "ffmpeg" # PATH lookup; override for non-standard installs
    language_code: "en" # for tool descriptions
    sounds_path: "sounds"
    start_sound: radio_start # opt-in chime
    stations:
      - id: "lax-radio"
        name: "La X"
        url: "https://stream.example.com/lax.aac"
        language: "es"
      - id: "bbc-world"
        name: "BBC World Service"
        url: "https://stream.live.vc.bbcmedia.co.uk/bbc_world_service"
        language: "en"

config_schema = Nonestations is a list-of-records, which v2's PWA form-renderer would render as a deeply nested accordion. v2 falls back to "edit YAML directly" for this skill.

Requirements

  • ffmpeg available on the host (brew install ffmpeg on macOS; system package manager on Linux).
  • Network access to the configured station URLs.

Development

uv run --package huxley-skill-radio pytest server/skills/radio/tests
uv run ruff check server/skills/radio
uv run mypy server/skills/radio/src

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

huxley_skill_radio-0.1.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

huxley_skill_radio-0.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file huxley_skill_radio-0.1.0.tar.gz.

File metadata

  • Download URL: huxley_skill_radio-0.1.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.5

File hashes

Hashes for huxley_skill_radio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6ca33d266fd0d415922a90eb4677e89cf4c51de6ac073f66b152d12b5aa67570
MD5 b68064a5f44e9331aa1c72a833b777fd
BLAKE2b-256 a9966c81df0e90f366a6387c3454b3c3d37a793610036507c65366422722d968

See more details on using hashes here.

File details

Details for the file huxley_skill_radio-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for huxley_skill_radio-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3c4485c29428db1993b29b2ba5ecf70ce18df9cf84747ca1f0140c1486f0a51
MD5 a518a013b2dd4a2d3693be9bb2fd776e
BLAKE2b-256 15afeaa261626a759af7849c1cb9713500808f606b8c7b78137a77accea00e91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page