Swiggy语音人工智能代理——基于VideoSDK代理框架和MCP构建
在Swiggy上订购食物、杂货和预订餐厅餐桌——只需用你的声音。由...驱动 VideoSDK人工智能代理,开源语音AI代理框架。
  
______________________________________________________________________
免责声明
该项目已建成 仅用于演示和教育目的 --展示如何 VideoSDK人工智能代理框架 与外部MCP服务器集成,用于语音驱动的工作流程。 Swiggy MCP集成基于 Swiggy的官方MCP服务器清单.这个项目是 与Swiggy无关、不受Swiggy认可或不属于Swiggy的产品所有Swiggy商标均归Swiggy所有。使用Swiggy MCP服务器须遵守Swiggy的条款和条件。 请勿将其用于商业目的。
______________________________________________________________________
这表明了什么
| 能力 | 如何使用 |
|---|---|
| MCP集成 | 使用28个真实工具连接到3个Swiggy MCP服务器 |
| 语音AI管道 | Agent One(多提供商)和Agent Two(Gemini原生音频) |
| 电话和WhatsApp | 同一代理处理浏览器、SIP电话和WhatsApp语音 |
| 功能工具 | 3项服务中的28个工具——搜索、购物车、结账、跟踪 |
| OAuth身份验证 | 用于Swiggy帐户访问的完整OAuth 2.0 PKCE流 |
______________________________________________________________________
建筑
运作原理
- 用户发言 进入游乐场(浏览器)、手机或WhatsApp
- 音频 通过VideoSDK Cloud路由到代理工作器
- 管道 将语音转换为文本并将其发送到LLM
- LLM 理解意图并调用相应的Swiggy MCP工具
- SwiggyMCPServer 使用OAuth将工具调用路由到正确的Swiggy端点
- 真实数据 返回(餐厅、菜单、价格、购物车状态)
- LLM 通过TTS向用户反馈自然响应。
______________________________________________________________________
服务和工具
| 服务 | 工具 | 功能 |
|---|---|---|
| 送餐 | 13 | 搜索餐厅、浏览菜单、管理购物车、申请优惠券、下订单(COD)、跟踪配送 |
| Instamart | 8 | 按名称/品牌搜索杂货,管理购物车,结账(COD),跟踪订单 |
| 外出就餐 | 7 | 查找附近的餐厅、查看位置、预订餐桌(免费预订) |
______________________________________________________________________
快速开始
自动设置
git clone https://github.com/DeepBhupatkar/swiggy-voice-ai-agent-videosdk-mcp.git
cd swiggy-voice-ai-agent-videosdk-mcp
chmod +x run.sh
./run.sh手动设置
1.克隆和创建环境
git clone https://github.com/DeepBhupatkar/swiggy-voice-ai-agent-videosdk-mcp.git
cd swiggy-voice-ai-agent-videosdk-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirement.txt2.配置API密钥
cp .env.example .env| 密钥 | 提供者 | 必需 |
|---|---|---|
VIDEOSDK_AUTH_TOKEN | App.videosdk.live | 所有模式 |
GOOGLE_API_KEY | aistudio.google.com | 所有模式 |
DEEPGRAM_API_KEY | console.depgram.com | 仅限一号特工 |
CARTESIA_API_KEY | 游戏.cartesia.ai | 仅限一号特工 |
3.登录Swiggy
python swiggy_mcp.py打开浏览器进行Swiggy OAuth登录。令牌保存在本地——不存储密码。
4.运行代理
# Agent One — Deepgram STT + Google LLM + Cartesia TTS (richer voice)
python swiggy_agent_one.py
# Agent Two — Gemini native audio (only VideoSDK + Google keys needed)
python swiggy_agent_two.py
# Phone/WhatsApp — registers for inbound SIP calls
python swiggy_agent_phone.py代理自动创建一个会议室 playground=True --不需要房间ID。 动态 VideoSDK游乐场链接 (带有token和meetingId)在代理启动后打印到终端上——打开它进行对话。
5.和你的经纪人谈谈 --打开终端中打印的动态游乐场链接
______________________________________________________________________
电话和WhatsApp
相同的Swiggy代理可以处理 电话 和 WhatsApp语音 使用VideoSDK的SIP电话集成。
以电话代理身份运行
python swiggy_agent_phone.py这将使用以下方式向VideoSDK的电话服务注册代理 Options(register=True)。然后,代理等待呼入电话。
设置SIP网关(电话呼叫)
- 从SIP提供商(Twilio、Vonage、Telnyx、Plivo、Exotel)获取电话号码
- 在 VideoSDK仪表板 → 电话技术:
- 创建一个 入站网关 用你的电话号码 - 创建一个 出站网关 使用您的SIP提供商凭据 - 创建一个 路由规则:网关→ 代理→ SwiggyVoiceAgent
- 配置您的SIP提供商以将呼叫转发到VideoSDK入站网关URL
- 拨打您的电话号码,Swiggy客服会接听!
完整指南: AI电话代理快速入门
设置WhatsApp语音
- 你需要一个 元商业账户 使用经过验证的WhatsApp商务电话号码
- 在 VideoSDK仪表板 → 电话技术:
- 创建一个 入站网关 使用您的WhatsApp号码 - 创建一个 路由规则:网关→ 代理→ SwiggyVoiceAgent
- 使用Meta Graph API启用SIP转发到VideoSDK:
curl --location 'https://graph.facebook.com/v19.0/{phone_number_id}/settings' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json' \
--data '{"calling":{"status":"ENABLED","sip":{"status":"ENABLED","servers":[{"hostname":"YOUR_HOSTNAME.sip.videosdk.live"}]}}}'- 拨打您的WhatsApp商业号码——Swiggy客服接听!
完整指南: WhatsApp代理快速入门
拨打外线电话
curl --request POST \
--url https://api.videosdk.live/v2/sip/call \
--header 'Authorization: YOUR_VIDEOSDK_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"gatewayId": "your_outbound_gateway_id", "sipCallTo": "+1234567890"}'______________________________________________________________________
项目结构
├── swiggy_agent_one.py # Agent One — Deepgram STT + Google LLM + Cartesia TTS
├── swiggy_agent_two.py # Agent Two — Gemini native audio (fewest keys, lowest latency)
├── swiggy_agent_phone.py # Agent Phone — telephony & WhatsApp (SIP)
├── swiggy_mcp.py # Swiggy MCP connection + OAuth 2.0 PKCE
├── instructions.py # Agent persona, rules, and tool workflows
├── setup.sh # Automated setup + launch (one command to run everything)
├── requirement.txt # Python dependencies
├── .env.example # API key template
├── .gitignore # Excludes secrets, venv, caches
└── swiggy.md # Swiggy MCP reference docs______________________________________________________________________
身份验证的工作原理
该项目直接连接到Swiggy的MCP服务器,不需要IDE扩展。
First run:
python swiggy_mcp.py → browser opens → Swiggy login
→ OAuth callback on localhost:8765
→ tokens saved to .swiggy_tokens.json
Subsequent runs:
SwiggyMCPServer reads .swiggy_tokens.json
→ auto-refreshes if expired
→ connects to mcp.swiggy.com with Bearer token______________________________________________________________________
使用VideoSDK AI代理构建
该项目建立在 VideoSDK人工智能代理 --一个用于构建实时多模式会话AI代理的开源Python框架。
为什么选择VideoSDK代理?
- 多型号支持 --OpenAI、谷歌Gemini、Anthropic、AWS Nova Sonic等
- 20+TTS提供商 --ElevenLabs、Cartesia、OpenAI、谷歌、AWS Polly等。
- MCP集成 --通过模型上下文协议将代理连接到外部工具
- 电话技术 --通过内置网关支持SIP电话和WhatsApp语音
- A2A协议 --复杂工作流中的代理间通信
- 可观测性 --内置OpenTetry跟踪和指标
自己试试:
______________________________________________________________________
重要说明
- 这是一个演示 --旨在通过真正的MCP集成展示VideoSDK的代理框架功能。不用于商业用途。
- Swiggy MCP参考:
- 关闭Swiggy应用程序 使用此代理时,同时进行的会话会导致冲突。
- COD订单是真实的 --代理商下实际订单。结账前务必确认。
- 仅限免费预订 对于外出就餐,不支持付费预订。
______________________________________________________________________
故障排除
| 问题 | 解决方案 |
|---|---|
401 Unauthorized | 重新运行 python swiggy_mcp.py 刷新令牌 |
| 浏览器无法打开登录 | 从终端复制URL并手动打开 |
| 连接超时 | 检查互联网;Swiggy MCP可能暂时停机 |
| 代理未收到呼叫 | 验证路由规则 agent_id 火柴 SwiggyVoiceAgent 在 swiggy_agent_phone.py。对于浏览器代理,不需要房间ID——一个是自动生成的。 |
______________________________________________________________________
作者
Deep Bhupatkar --共同建设者 VideoSDK语音AI代理框架
](https://github.com/DeepBhupatkar)  
如果你觉得这有用,请 为这个回购加星 和 启动VideoSDK代理框架 我也是!
______________________________________________________________________
许可证
该项目根据MIT许可证获得许可。
