{"skill":{"slug":"voice-log","displayName":"Voice Log","summary":"Background voice journaling with Soniox realtime STT for OpenClaw. Requires SONIOX_API_KEY. Get/create your Soniox API key at https://soniox.com/speech-to-te...","description":"---\nname: voice-log\ndescription: Background voice journaling with Soniox realtime STT for OpenClaw. Requires SONIOX_API_KEY. Get/create your Soniox API key at https://soniox.com/speech-to-text. Use when the user asks to start or stop passive speech logging (especially commands like \"start voice journal\", \"start voice log\", and \"end voice journal\"), or asks for a summary/transcript of the last N minutes of conversation.\nmetadata: {\"openclaw\":{\"requires\":{\"bins\":[\"node\",\"arecord|rec|ffmpeg\"],\"env\":{\"SONIOX_API_KEY\":\"required - Soniox API key\"},\"note\":\"Captures microphone audio locally and streams audio to Soniox realtime STT only while journal is running.\"}}}\n---\n\n# Voice log\n\nConversation journal that uses Soniox realtime STT in a background daemon that:\n- Captures microphone audio continuously.\n- Keeps a text-only log file, with live conversation logs bucketed by minute.\n- Keeps only the latest 60 minutes (for now).\n\n## Commands\n\nRun from this skill directory:\n\n```bash\nnpm install\nnode scripts/voice_journal_ctl.js start\nnode scripts/voice_journal_ctl.js end\nnode scripts/voice_journal_ctl.js status\nnode scripts/voice_journal_ctl.js last 10\n```\n\n## OpenClaw trigger handling\n\nWhen user says:\n- `start voice journal`: run `node scripts/voice_journal_ctl.js start`.\n- `start voice log`: run `node scripts/voice_journal_ctl.js start`.\n- `start voice log [\"en\",\"de\"]`: run `node scripts/voice_journal_ctl.js start '[\"en\",\"de\"]'`.\n- `end voice journal`: run `node scripts/voice_journal_ctl.js end`.\n- `summarize what we talked about for last 10 minutes`: run `node scripts/voice_journal_ctl.js last 10`, then summarize the returned text.\n\nAlways:\n- Reply with only the requested outcome in one short sentence.\n- Do not paste raw command output or transcript snippets unless the user explicitly asks for raw transcript/log text.\n- If no text exists in range, report that explicitly.\n- Never fabricate transcript text.\n\n## Required env\n\nSet:\n- `SONIOX_API_KEY` (required)\n- Get/create key: https://soniox.com/speech-to-text\n\nOptional:\n- None. Runtime settings are intentionally hard-coded except language hints passed in the `start` command.\n\n## Fixed defaults\n\n- Data directory: `./.data` under this skill.\n- Soniox websocket endpoint: SDK default (`SONIOX_API_WS_URL`).\n- Soniox model: `stt-rt-v4`.\n- `last` output cap: `1800` chars by default, or override per command with `--max-chars`.\n- Daemon environment: only `SONIOX_API_KEY` (and optional language hints) is forwarded; unrelated host env secrets are not inherited.\n\n## Audio capture defaults\n\nAuto-selects available command by platform. Recommended:\n- Linux: `arecord -q -f S16_LE -r 16000 -c 1 -t raw`\n- macOS: `sox -q -d -t raw -b 16 -e signed-integer -r 16000 -c 1 -`\n","tags":{"latest":"0.1.5"},"stats":{"comments":0,"downloads":1099,"installsAllTime":41,"installsCurrent":4,"stars":2,"versions":4},"createdAt":1771779461368,"updatedAt":1778491608600},"latestVersion":{"version":"0.1.5","createdAt":1771781752645,"changelog":"Security hardening and\n  audio capture reliability fixes","license":null},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"easwee","userId":"s178f3x9hgftrw1tgjqg79e5e5885eb8","displayName":"Anej Gorkič","image":"https://avatars.githubusercontent.com/u/2518825?v=4"},"moderation":null}