wavecap-streams

majiayu000's avatarfrom majiayu000

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 Jan 5, 2026

When & Why to Use This Skill

The WaveCap Streams skill provides a robust interface for the real-time monitoring and management of WaveCap audio streams via REST API. It enables users to track stream health, retrieve live transcription data, and perform administrative tasks like stream resets, ensuring high-performance audio processing and system reliability.

Use Cases

  • Real-time Stream Monitoring: Instantly check the status of multiple audio streams to identify active, queued, or errored processes for immediate intervention.
  • Transcription Retrieval: Access recent transcription history with associated timestamps and confidence scores to review captured audio content.
  • System Maintenance and Troubleshooting: Perform authenticated stream resets and API health checks to resolve technical glitches and maintain uptime.
  • Activity Auditing: Monitor the 'lastActivityAt' field and stream source types to audit usage patterns and ensure all audio feeds are processing correctly.
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