wavecap-streams

TobiasWooldridge's avatarfrom TobiasWooldridge

Monitor and manage WaveCap audio streams. Use when the user asks about stream status, wants to list streams, check stream health, view recent transcriptions, or reset a stream.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 31, 2025

When & Why to Use This Skill

The WaveCap Streams skill provides a comprehensive interface for monitoring and managing WaveCap audio streams in real-time. It enables users to track stream health, retrieve live transcriptions, and perform administrative actions like stream resets via REST API integration. This skill is optimized for users who need to maintain high availability and oversight of audio processing workflows, ensuring that transcription services remain active and error-free.

Use Cases

  • Real-time Health Monitoring: Quickly check the status of all audio streams to identify those in 'error' or 'stopped' states and view the last activity timestamps.
  • Transcription Quality Assurance: Retrieve the most recent transcription snippets along with confidence scores to verify the accuracy of the audio processing engine.
  • Stream Troubleshooting and Recovery: Use authenticated commands to reset stalled streams or investigate specific error messages returned by the API.
  • Inventory Management: List all active audio sources, including web URLs, pager webhooks, and remote sources, to maintain a clear overview of the monitoring infrastructure.
namewavecap-streams
descriptionMonitor and manage WaveCap audio streams. Use when the user asks about stream status, wants to list streams, check stream health, view recent transcriptions, or reset a stream.

WaveCap Streams Skill

Use this skill to interact with WaveCap streams via the REST API.

Configuration

The WaveCap server runs at http://localhost:8000 by default. For authenticated operations (reset), you need an editor token.

Available Operations

List All Streams

curl -s http://localhost:8000/api/streams | jq

To get streams without transcription history (faster):

curl -s "http://localhost:8000/api/streams?includeTranscriptions=false" | jq

Get Stream Status Summary

curl -s "http://localhost:8000/api/streams?includeTranscriptions=false" | jq '.[] | {id, name, status, error, source, lastActivityAt}'

Get Recent Transcriptions for a Stream

curl -s "http://localhost:8000/api/streams/{STREAM_ID}/transcriptions?limit=10" | jq '.transcriptions[] | {timestamp, text, confidence}'

Check API Health

curl -s http://localhost:8000/api/health | jq

Reset a Stream (requires editor auth)

First, get an auth token:

TOKEN=$(curl -s -X POST http://localhost:8000/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"password": "YOUR_EDITOR_PASSWORD"}' | jq -r '.token')

Then reset the stream:

curl -s -X POST "http://localhost:8000/api/streams/{STREAM_ID}/reset" \
  -H "Authorization: Bearer $TOKEN"

Stream Status Values

  • transcribing - Stream is actively processing audio
  • queued - Stream is waiting to start
  • stopped - Stream has been stopped
  • error - Stream encountered an error (check error field)

Stream Source Types

  • audio - HTTP audio stream (web URL)
  • pager - Pager webhook feed
  • remote - Remote audio source (e.g., from WaveCap-SDR)
  • combined - Virtual combined view of multiple streams

Response Format

Stream objects contain:

{
  "id": "stream-id",
  "name": "Stream Name",
  "url": "http://stream-url",
  "status": "transcribing",
  "enabled": true,
  "pinned": false,
  "createdAt": "2025-01-01T00:00:00Z",
  "language": "en",
  "error": null,
  "source": "audio",
  "lastActivityAt": "2025-01-01T12:00:00Z",
  "transcriptions": [...]
}

Tips

  • Use jq to filter and format JSON responses
  • For large transcription histories, use pagination with before parameter
  • The lastActivityAt field shows when the stream last received content