A middleware platform that allows a user client to interact with unknown external AI agents using natural language. It uses Google's Gemini API to introspect external agent capabilities and generate the correct API calls on the fly.
- Mock Agents: Two sample agents to test against.
- SalonBot (Port 3001): Books appointments.
- LibraryBot (Port 3002): Manages book loans.
- Proxy Server (Port 3000): The core system that handles orchestration, Gemini integration, and caching.
- Frontend: A simple HTML interface to test the flow.
- Node.js: Installed on your machine.
- MongoDB: Must be installed and running locally on port
27017. - Gemini API Key: You need a valid API key from Google AI Studio.
- Navigate to
proxy-server/. - Rename
.env.exampleto.env(if you haven't already). - Open
.envand paste yourGEMINI_API_KEY.
You need these running so the proxy has someone to talk to. Terminal 1 (SalonBot):
cd mock-agents/salon-bot
npm install
npm start
# Runs on http://localhost:3001Terminal 2 (LibraryBot):
cd mock-agents/library-bot
npm install
npm start
# Runs on http://localhost:3002Terminal 3:
cd proxy-server
npm install
npm start
# Runs on http://localhost:3000- Go to the
frontend/folder. - Open
index.htmlin your browser.
- In the web interface, select a "Preset" (e.g., SalonBot).
- The Target URL will fill with
http://localhost:3001. - Type a natural language intent (e.g., "I need a haircut at 5pm").
- Click Execute Request.
The system will:
- Check Cache (Miss).
- Fetch Docs from SalonBot.
- Ask Gemini to translate "haircut at 5pm" to JSON based on docs.
- Execute the API call to SalonBot.
- Return the confirmation to you.