diff --git a/CHANGELOG.md b/CHANGELOG.md index ac58f1921..c91af534e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Pending - Web auto-replies now resize/recompress media and honor `inbound.reply.mediaMaxMb` in `~/.warelay/warelay.json` (default 5 MB) to avoid provider/API limits. -- Optional voice-note transcription: set `inbound.transcribeAudio.command` (e.g., OpenAI Whisper CLI) to turn inbound audio into text before templating/Claude; verbose logs surface when transcription runs. +- Optional voice-note transcription: set `inbound.transcribeAudio.command` (e.g., OpenAI Whisper CLI) to turn inbound audio into text before templating/Claude; verbose logs surface when transcription runs. Prompts now include the original media path plus a `Transcript:` block so models see both. ## 1.0.4 — 2025-11-25 diff --git a/README.md b/README.md index 7bf8e9d65..49bbfbce0 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ Install from npm (global): `npm install -g warelay` (Node 22+). Then choose **on } } ``` -- Works for Web and Twilio providers; verbose mode logs when transcription runs. If transcription fails, the original Body is used. +- Works for Web and Twilio providers; verbose mode logs when transcription runs. The command prompt includes the original media path plus a `Transcript:` block so models see both. If transcription fails, the original Body is used. ## Providers - **Twilio (default):** needs `.env` creds + WhatsApp-enabled number; supports delivery tracking, polling, webhooks, and auto-reply typing indicators. diff --git a/docs/claude-config.md b/docs/claude-config.md index 52069a5e7..be94e1475 100644 --- a/docs/claude-config.md +++ b/docs/claude-config.md @@ -59,7 +59,7 @@ Notes on this configuration: - Host local paths for Twilio using the media server/Tailscale Funnel. - Send buffers directly for the Web provider. - Inbound media is downloaded (≤5 MB) and exposed to your templates as `{{MediaPath}}`, `{{MediaUrl}}`, and `{{MediaType}}`. You can mention this in your prompt if you want Claude to reason about the attachment. Outbound media from Claude (via `MEDIA:`) is resized/recompressed on the Web provider path; control the cap with `inbound.reply.mediaMaxMb` (default 5). -- Voice notes: set `inbound.transcribeAudio.command` to run a CLI that emits the transcript to stdout (e.g., OpenAI Whisper: `openai api audio.transcriptions.create -m whisper-1 -f {{MediaPath}} --response-format text`). If it succeeds, warelay replaces `Body` with the transcript before invoking Claude. +- Voice notes: set `inbound.transcribeAudio.command` to run a CLI that emits the transcript to stdout (e.g., OpenAI Whisper: `openai api audio.transcriptions.create -m whisper-1 -f {{MediaPath}} --response-format text`). If it succeeds, warelay replaces `Body` with the transcript and adds the original media path plus a `Transcript:` block into the prompt before invoking Claude. ## Testing the setup 1. Start a relay (auto-selects Web when logged in, otherwise Twilio polling):