这是一个借助 Twilio 和 OpenAI 构建的实时语音通话服务器项目。它支持多语言通话,可处理复杂的电话业务逻辑,还能提供详细的通话记录与分析,为电话业务提供了强大的支持。
# 克隆仓库
git clone https://github.com/your-repo.git
cd your-repo
# 安装依赖
npm install
# 配置环境变量
export TWILIO_ACCOUNT_SID=your_sid
export TWILIO_AUTH_TOKEN=your_token
export OPENAI_API_KEY=your_key
在项目根目录下创建 .env 文件,添加以下内容:
TWILIO_ACCOUNT_SID=your_account SID
TWILIO_AUTH_TOKEN=your_auth token
OPENAI_API_KEY=your_openai key
DB_URI=postgresql://localhost:5432/voip_calls
编辑 config/businessLogic.js 文件,添加自定义的通话规则:
module.exports = {
languageSupport: ['zh-CN', 'en-US', 'de-DE'],
fallbackLanguage: 'zh-CN',
callTimeout: 30000 // 30秒超时
};
上文已详细介绍安装要求、安装步骤和配置方法,此处不再赘述。
// 客服逻辑配置
const { createVoiceCall } = require('voip-service');
createVoiceCall({
fromNumber: '1234567890',
toNumber: '0987654321',
language: 'zh-CN',
callbackUrl: 'http://localhost:3000/api/call-back'
}).then(call => {
console.log('Call created:', call.sid);
});
“电话号码必须是 E.164 格式”
“无效凭证”
TWILIO_ACCOUNT_SID 和 TWILIO_AUTH_TOKEN 是否正确。“OpenAI API 错误”
OPENAI_API_KEY 是否有效且有足够的额度。“ngrok 隧道启动失败”
NGROK_AUTHTOKEN 有效且未过期。欢迎贡献!以下是待改进的领域:
项目采用 MIT 许可证,详情请参阅 LICENSE 文件。