Install
openclaw skills install @forgemeshlabs/clawvoice-x402Voice and TTS for OpenClaw agents, with spoken replies, optional push-to-talk input, and a local Base wallet for x402 paid calls. Supports local, hosted, and hybrid voice modes with spend caps and safe wallet controls.
openclaw skills install @forgemeshlabs/clawvoice-x402Display name: ClawVoice Agent Voice + TTS
Homepage: https://forgemesh.io
Give your OpenClaw agent voice, speech, and a local x402 wallet.
This skill does two jobs:
Private keys stay on the user's machine. ForgeMesh must not receive or store the user's private key.
From the skill directory:
node bin/x402-agent-voice.js init # interactive: pick mode, get wallet address, start talking
node bin/x402-agent-voice.js speak "hello" # local first, hosted x402 fallback per config.mode
node bin/x402-agent-voice.js balance # USDC balance of the agent wallet on Base
node bin/x402-agent-voice.js withdraw --to 0xYourWallet --amount all
node bin/x402-agent-voice.js voice-check
Setup modes (config.mode): local (free local voice), hosted (paid ForgeMesh Voice via x402), hybrid (local first, hosted fallback — default). A unique local wallet is created on first setup for a user profile. Re-running setup reuses the existing local wallet unless local state is reset.
Non-interactive setup: init --mode hybrid --mic --yes.
To install the local voice runtime, run the generated installer explicitly:
node bin/x402-agent-voice.js install-voice --dry-run
node bin/x402-agent-voice.js install-voice
The installer may download Python packages and Supertonic model files. Get explicit user approval before running it in automation.
clawvoice. Compatibility aliases: agentvoice, x402-agent-voice.clawvoice, call the CLI instead of only writing text.clawvoice speak "<spoken reply>"
clawvoice stop
Then stop using session voice mode until the user asks for spoken replies again.
--voice, --lang, --tier, --preset, --mix, --expression, --level, and repeated --control name=value.clawvoice voice to see current options. Use clawvoice voice <voice-id> for voice, clawvoice voice --lang <language-code> for language, clawvoice voice --tier <tier> for hosted endpoint tier, clawvoice voice --preset <preset-id> for a preset, clawvoice voice --mix <mix-id> for a mix, clawvoice voice --expression <expression-id> --level <0-1> for expression, and clawvoice voice --control <name=value> for expression controls. Use none to clear preset, mix, expression, or level; use clawvoice voice --clear-controls to clear expression controls. Then test with clawvoice speak "testing the new voice". Do not promise a specific voice catalog, mix catalog, preset catalog, expression catalog, expression-control catalog, or language list unless the local or hosted engine exposes one.~/.x402-agent-voice/wallet.json unless the user intentionally resets local state.~/.x402-agent-voice/wallet.json; it contains the private key.withdraw --to 0xYourWallet --amount all; do not tell users to improvise money movement through an agent.speak enforces this itself: caps are checked against the receipt ledger (~/.x402-agent-voice/spend.jsonl) before signing, and requireApproval prompts unless --approve is passed.dailyCapUsd, perCallCapUsd, and forgemeshFeeUsd from ~/.x402-agent-voice/config.json.mic.enabled in config) is opt-in functionality for macOS/Linux and WSL2. To talk to the agent with the microphone, tell users to run clawvoice install-mic once, then clawvoice talk. install-mic asks before creating the local Python speech-to-text runtime and installing faster-whisper; install-mic --yes is the noninteractive approval path. It prints FFmpeg install instructions and never runs a system package manager. Do not claim native Windows push-to-talk is supported yet. If local voice output is not installed, hosted voice can still speak replies when the wallet is funded.listen is push-to-talk: it records from the microphone until the user presses Enter, then transcribes locally with faster-whisper. Mic audio never leaves the machine; temporary recordings are deleted unless --keep.talk is a terminal push-to-talk conversation loop: start clawvoice talk, speak normally, press Enter when done talking, pipe transcript to conversation.agentCommand (words on stdin, reply on stdout), then speak the reply. sessionCapUsd disables hosted voice for the rest of the session once reached. Wake word, always-on listening, and hold-to-talk hotkeys are coming_soon — do not claim they exist.$0.005 per successful paid x402 call where ForgeMesh provides payment compatibility, hosted voice fallback, routing, receipt logging, or discovery normalization.node bin/x402-agent-voice.js init [--mode local|hosted|hybrid] [--mic] [--yes] [--voice M1] [--lang en] [--tier base] [--preset id] [--mix id] [--expression id] [--level 0.7] [--control name=value]
node bin/x402-agent-voice.js speak "text" [--out file.wav] [--approve] [--no-play]
node bin/x402-agent-voice.js stop
node bin/x402-agent-voice.js listen [--seconds N] [--file audio.wav] [--model base] [--keep]
node bin/x402-agent-voice.js talk [--agent "claude -p"] [--approve] [--model base]
node bin/x402-agent-voice.js wallet
node bin/x402-agent-voice.js balance
node bin/x402-agent-voice.js withdraw --to 0xYourWallet --amount all|N [--yes]
node bin/x402-agent-voice.js products
node bin/x402-agent-voice.js voice [voice-id] [--lang code] [--tier tier] [--preset id] [--mix id] [--expression id] [--level 0.7] [--control name=value] [--clear-controls]
node bin/x402-agent-voice.js voice-check
node bin/x402-agent-voice.js voice-serve
node bin/x402-agent-voice.js voice-stop
node bin/x402-agent-voice.js install-voice [--dry-run]
node bin/x402-agent-voice.js install-mic [--dry-run] [--yes]
node bin/x402-agent-voice.js config
references/pricing.md before changing pricing or fee language.references/security.md before changing wallet, private key, or spend-cap behavior.references/third-party-notices.md before changing Supertonic attribution.references/discovery.md before changing AgentCash, X402Scan, Poncho, or OpenAPI metadata.references/requirements.md before changing Whisper, Superwhisper, FFmpeg, or local audio dependency behavior.references/pyrimid.md before changing affiliate attribution or Pyrimid payment behavior.