A voice-enabled AI agent application built with React, LangChain, and ElevenLabs.
- Voice input/output capabilities using OpenAI Whisper and ElevenLabs
- Web search functionality using Tavily
- React-based web interface
- LangChain-powered agent system
- Node.js (v18 or higher)
- pnpm (v10.6.3 or higher)
- Install dependencies:
pnpm install
- Create a
.env
file in the root directory with the following variables:
# OpenAI API Key for Whisper (Speech-to-Text)
OPENAI_API_KEY=your_openai_api_key
# ElevenLabs API Key for Text-to-Speech
ELEVENLABS_API_KEY=your_elevenlabs_api_key
# Tavily API Key for web search
TAVILY_API_KEY=your_tavily_api_key
- Start the development server:
pnpm dev
This will start both the web interface and the agent server concurrently.
The agent has access to the following tools:
- Tavily Search: Web search functionality with configurable parameters:
- Max results: 5
- Topic: General
- Additional optional parameters available for customization
apps/web/
: React-based web interfaceapps/agents/
: LangChain agent implementationsrc/react-agent/
: Core agent logic
pnpm dev
: Start development serverspnpm build
: Build the applicationpnpm lint
: Run lintingpnpm format
: Format code