diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d5492c01..2a42cd7cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ Docs: https://docs.clawd.bot - Plugins/UI: let channel plugin metadata drive UI labels/icons and cron channel options. (#1306) — thanks @steipete. - Zalouser: add channel dock metadata, config schema, setup wiring, probe, and status issues. (#1219) — thanks @suminhthanh. - Security: warn when <=300B models run without sandboxing and with web tools enabled. +- Skills: add download installs with OS-filtered install options; add local sherpa-onnx-tts skill. +- Docs: clarify WhatsApp voice notes and Windows WSL portproxy LAN access notes. ### Fixes - Discovery: shorten Bonjour DNS-SD service type to `_clawdbot-gw._tcp` and update discovery clients/docs. - Agents: preserve subagent announce thread/topic routing + queued replies across channels. (#1241) — thanks @gnarco. diff --git a/docs/channels/whatsapp.md b/docs/channels/whatsapp.md index 39e7d37db..45a4798a2 100644 --- a/docs/channels/whatsapp.md +++ b/docs/channels/whatsapp.md @@ -286,6 +286,11 @@ WhatsApp can automatically send emoji reactions to incoming messages immediately - CLI: `clawdbot message send --media --gif-playback` - Gateway: `send` params include `gifPlayback: true` +## Voice notes (PTT audio) +WhatsApp sends audio as **voice notes** (PTT bubble). +- Best results: OGG/Opus. Clawdbot rewrites `audio/ogg` to `audio/ogg; codecs=opus`. +- `[[audio_as_voice]]` is ignored for WhatsApp (audio already ships as voice note). + ## Media limits + optimization - Default outbound cap: 5 MB (per media item). - Override: `agents.defaults.mediaMaxMb`. diff --git a/docs/platforms/windows.md b/docs/platforms/windows.md index 1c97631a5..e737b64c9 100644 --- a/docs/platforms/windows.md +++ b/docs/platforms/windows.md @@ -49,6 +49,50 @@ Repair/migrate: clawdbot doctor ``` +## Advanced: expose WSL services over LAN (portproxy) + +WSL has its own virtual network. If another machine needs to reach a service +running **inside WSL** (SSH, a local TTS server, or the Gateway), you must +forward a Windows port to the current WSL IP. The WSL IP changes after restarts, +so you may need to refresh the forwarding rule. + +Example (PowerShell **as Administrator**): + +```powershell +$Distro = "Ubuntu-24.04" +$ListenPort = 2222 +$TargetPort = 22 + +$WslIp = (wsl -d $Distro -- hostname -I).Trim().Split(" ")[0] +if (-not $WslIp) { throw "WSL IP not found." } + +netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=$ListenPort ` + connectaddress=$WslIp connectport=$TargetPort +``` + +Allow the port through Windows Firewall (one-time): + +```powershell +New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound ` + -Protocol TCP -LocalPort $ListenPort -Action Allow +``` + +Refresh the portproxy after WSL restarts: + +```powershell +netsh interface portproxy delete v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 | Out-Null +netsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 ` + connectaddress=$WslIp connectport=$TargetPort | Out-Null +``` + +Notes: +- SSH from another machine targets the **Windows host IP** (example: `ssh user@windows-host -p 2222`). +- Remote nodes must point at a **reachable** Gateway URL (not `127.0.0.1`); use + `clawdbot status --all` to confirm. +- Use `listenaddress=0.0.0.0` for LAN access; `127.0.0.1` keeps it local only. +- If you want this automatic, register a Scheduled Task to run the refresh + step at login. + ## Step-by-step WSL2 install ### 1) Install WSL2 + Ubuntu