#openclaw заколебался я подкидывать простой скил. Хочу чтобы
#openclaw заколебался я подкидывать простой скил. Хочу чтобы он на мой голосовой, отвечал тоже сжатым голосовым: const OpenAI = require('openai'); const FormData = require('form-data'); const axios = require('axios'); async function handleVoiceMessage(voiceMessage, config) { const apiKey = config?.models?.providers?.openai?.apiKey; const openai = new OpenAI({ apiKey }); // Step 1: Transcribe using Whisper const formData = new FormData(); formData.append('file', voiceMessage, { filename: 'audio.ogg', contentType: 'audio/ogg' }); formData.append('model', 'whisper-1'); const transcriptionResponse = await axios.post( 'https://api.openai.com/v1/audio/transcriptions', formData, { headers: { Authorization: `Bearer ${apiKey}`, ...formData.getHeaders() } } ); const textMessage = transcriptionResponse.data.text; // Step 2: Generate reply const chatResponse = await openai.chat.completions.create({ model: 'gpt-3.5-turbo', messages: [{ role: 'user', content: textMessage }], max_tokens: config?.voiceReply?.maxResponseLength ?? 150 }); const textResponse = chatResponse.choices[0].message.content; // Step 3: Convert to audio const ttsResponse = await axios.post( 'https://api.openai.com/v1/audio/speech', { model: 'tts-1', input: textResponse, voice: 'alloy' }, { headers: { Authorization: `Bearer ${apiKey}` }, responseType: 'arraybuffer' } ); return Buffer.from(ttsResponse.data); } module.exports = { handleVoiceMessage }; SKILL.md: name: voice-reply description: Respond to voice messages with replies using OpenAI APIs. metadata: { "openclaw": { "requires": { "bins": [] }, "install": [ { "id": "node", "kind": "node", "package": "openai", "bins": [] }, { "id": "form-data", "kind": "node", "package": "form-data", "bins": [] }, { "id": "axios", "kind": "node", "package": "axios", "bins": [] } ] } } --- # Voice Reply Skill ## Objective This skill listens for voice messages, transcribes them, generates responses, and sends replies as voice messages. ## Workflow 1. Receive incoming voice messages from Telegram. 2. Transcribe the audio using OpenAI Whisper API. 3. Generate a short reply using OpenAI Chat API. 4. Convert the reply to voice using OpenAI TTS API (voice: "alloy"). 5. Send the voice message back to Telegram. ### Sample Configuration ```json { "voiceReply": { "enabled": true, "openaiApiKey": "YOUR_OPENAI_API_KEY", "maxResponseLength": 150 } } У кого есть идеи как побороть?