wavecap-streams
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.
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.
| name | wavecap-streams |
|---|---|
| description | 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. |
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 audioqueued- Stream is waiting to startstopped- Stream has been stoppederror- Stream encountered an error (checkerrorfield)
Stream Source Types
audio- HTTP audio stream (web URL)pager- Pager webhook feedremote- 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
jqto filter and format JSON responses - For large transcription histories, use pagination with
beforeparameter - The
lastActivityAtfield shows when the stream last received content