@alfe.ai/openclaw-voice
v0.0.2
Published
OpenClaw voice plugin for Alfe — Discord audio, Twilio, Recall.ai
Readme
packages/openclaw-voice (@alfe.ai/openclaw-voice)
OpenClaw voice plugin for Alfe — Discord audio, Twilio phone calls, and meeting bots.
What It Does
OpenClaw plugin that integrates voice capabilities into the agent runtime. All heavy voice logic lives in voice-service — this package is the OpenClaw integration layer.
On activation, the plugin:
- Registers voice tools —
voice_hangup,voice_transfer(Twilio),voice_dtmf(Twilio) - Registers HTTP routes —
/twilio/inboundand/twilio/statuswebhook handlers - Registers gateway RPC —
voice.speakfor TTS and direct audio output - Hooks into OpenClaw events — auto-joins/leaves Discord voice on session start/end, auto-injects session IDs into tool calls
- Connects to Alfe daemon IPC — registers voice capabilities; gracefully degrades if unavailable
Follows the standard OpenClaw plugin pattern: exports id, name, activate, deactivate.
Key Files
src/
├── plugin.ts # Plugin entry point (activate/deactivate lifecycle, tools, routes, hooks)
└── index.ts # Public re-exportsSession Management
The plugin maintains bidirectional maps between OpenClaw session keys and voice session IDs. On before_tool_call, it auto-injects sessionId into voice tool parameters so the agent doesn't need to track sessions explicitly.
Discord sessions are detected via the pattern voice-discord:{guildId}:{channelId}.
Development
pnpm install
pnpm --filter @alfe.ai/openclaw-voice buildTesting
pnpm --filter @alfe.ai/openclaw-voice testDependencies
- voice-service — core voice logic (TTS, audio pipeline, Discord/Twilio adapters)
- @alfe.ai/openclaw — OpenClaw runtime plugin API
