介绍
# Phone Agent Skill
运行一个充当实时语音网桥的本地 FastAPI 服务器。
## 架构
``` Twilio (Phone) <--> WebSocket (Audio) <--> [Local Server] <--> Deepgram (STT) | +--> OpenAI (LLM) +--> ElevenLabs (TTS) ```
## 先决条件
1. **Twilio 账户**: 电话号码 + TwiML 应用程序。 2. **Deepgram API 密钥**: 用于快速语音转文字。 3. **OpenAI API 密钥**: 用于对话逻辑。 4. **ElevenLabs API 密钥**: 用于逼真的文字转语音。 5. **Ngrok** (或类似工具): 将本地端口 8080 暴露给 Twilio。
## 设置
1. **安装依赖项**: ```bash pip install -r scripts/requirements.txt ```
2. **设置环境变量** (在 `~/.moltbot/.env`、`~/.clawdbot/.env` 中,或直接导出): ```bash export DEEPGRAM_API_KEY="your_key" export OPENAI_API_KEY="your_key" export ELEVENLABS_API_KEY="your_key" export TWILIO_ACCOUNT_SID="your_sid" export TWILIO_AUTH_TOKEN="your_token" export PORT=8080 ```
3. **启动服务器**: ```bash python3 scripts/server.py ```
4. **暴露到互联网**: ```bash ngrok http 8080 ```
5. **配置 Twilio**: - 转到您的电话号码设置。 - 将 "Voice & Fax" (语音与传真) -> "A Call Comes In" (来电时) 设置为 **Webhook**。 - URL: `https://<your-ngrok-url>.ngrok.io/incoming` - 方法: `POST`
## 使用方法
拨打您的 Twilio 号码。代理应该会接听,转录您的语音,思考并用自然的声音回复。
## 自定义
- **系统提示**: 编辑 `scripts/server.py` 中的 `SYSTEM_PROMPT` 以更改角色设定。 - **语音**: 更改 `ELEVENLABS_VOICE_ID` 以使用不同的语音。 - **模型**: 将 `gpt-4o-mini` 切换为 `gpt-4` 以获得更智能(但更慢)的响应。