360 Secure SkillHub
360 安全技能中心

voice-email

该 Skill 面向无障碍场景:接收 Telegram 语音消息,用 Deepgram 转写并解析收件人、主题、正文,再通过 gogcli 以用户 Gmail 发送邮件,确认可用文本或 ElevenLabs 语音回复;需另行安装 gogcli 并配置各密钥与 openclaw.json。

sundiver1
sundiver1
热度 87.75
最近更新 2026-05-11 17:26:34
分类:协作依赖:第三方 API / 读写文件 / 代码执行应用场景:邮件起草 / 自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add voice-email
Metadata
name
voice-email
version
1.0.2
description
Send emails via natural voice commands - designed for accessibility
security
{"requires":["network","file_access"],"credentials":["deepgram_api_key","telegram_bot_token","gmail_oauth"],"optional_credentials":["elevenlabs_api_key"],"permissions":["modify_config"],"env_vars":["DEEPGRAM_API_KEY"]}

Voice Email Skill

Send emails using natural voice commands. Perfect for accessibility use cases.

What It Does

When you receive a voice message, parse and send an email:

Input format:

new email to [recipient], subject [subject], body [body], send

Examples:

  • "new email to john@example.com, subject Hello, body How are you doing, send"
  • "send email to mom@gmail.com, subject Dinner, body See you at 7pm, send"

What This Skill CANNOT Do

  • ❌ Execute arbitrary code
  • ❌ Access files outside of logging/debugging
  • ❌ Modify system files
  • ❌ Access other accounts without explicit OAuth
  • ❌ Send emails to unknown recipients without user confirmation

Prerequisites

This skill requires:

  1. gogcli - Google CLI for Gmail (must be installed separately)
  2. Deepgram - For voice transcription (API key required)
  3. Telegram bot - For receiving voice messages (already configured in OpenClaw)
  4. ElevenLabs - Optional, for voice responses (not required)

Install gogcli (once, manually)

Option A - via npm (recommended):

npm install -g gogcli

Option B - via binary (verify source): Download from https://gogcli.ai and verify the binary

Then authenticate:

gog auth add your-email@gmail.com

Configure Deepgram (REQUIRED)

Add to openclaw.json:

{
  "tools": {
    "media": {
      "audio": {
        "enabled": true,
        "models": [{"provider": "deepgram", "model": "nova-3"}]
      }
    }
  },
  "env": {
    "DEEPGRAM_API_KEY": "your-deepgram-key"
  }
}

Configure ElevenLabs (OPTIONAL)

For voice responses, add to openclaw.json:

{
  "messages": {
    "tts": {
      "auto": "always",
      "provider": "elevenlabs",
      "elevenlabs": {
        "apiKey": "YOUR_ELEVENLABS_KEY",
        "voiceId": "YOUR_VOICE_ID"
      }
    }
  }
}

Without ElevenLabs, text responses still work.

Usage

Simply send a voice message with the command. The agent will:

  1. Transcribe it (via Deepgram)
  2. Parse the fields
  3. Send the email (via gogcli)
  4. Confirm via text (or voice if ElevenLabs configured)

Command Parser

The agent extracts:

  • to: Email address (after "to", "email to", "send to")
  • subject: Text after "subject"
  • body: Text after "body" (before "send")

Environment Variables

Variable Required Description
DEEPGRAM_API_KEY Yes For voice transcription
ELEVENLABS_API_KEY No For voice responses
ELEVENLABS_VOICE_ID No Voice to use

Security Notes

  • Network: Requires access to Telegram API, Deepgram API, Gmail API
  • Credentials:
    • gogcli stores OAuth tokens in system keyring
    • Deepgram key in openclaw.json (or environment)
    • ElevenLabs key in openclaw.json (optional)
  • Data: Voice recordings processed by Deepgram, emails sent via user's Gmail
  • Privilege: Modifies openclaw.json to enable media/audio
  • Does NOT: Execute arbitrary code, access unrelated files, or modify system

Best Practices for Production

  1. Use test accounts: Create dedicated Gmail account for testing
  2. Limit Gmail OAuth: Use app-specific passwords if needed
  3. Scope Deepgram: Use minimal quota for testing
  4. Review logs: Check /tmp/openclaw-*.log for unexpected activity
  5. Backup config: cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak

Uninstall

clawhub uninstall voice-email

Then remove API keys from openclaw.json if desired.

Validation / Testing

To verify the skill is working:

  1. Test Deepgram directly:
curl -X POST "https://api.deepgram.com/v1/listen" \
  -H "Authorization: Token $DEEPGRAM_API_KEY" \
  -H "Content-Type: audio/ogg" \
  --data-binary @sample.ogg
  1. Test gogcli:
gog auth status
gog gmail send --to "your-email@gmail.com" --subject "Test" --body "Working!"
  1. Send a voice message on Telegram: "new email to your-email@gmail.com, subject test, body hello, send"