Gemini Terminal Agent
A powerful terminal-based agent using Google's Gemini model with web search capabilities. This agent lets you interact with Gemini through your terminal while leveraging real-time web search for up-to-date information.
Features
- 🤖 Conversational AI Interface - Talk with Google's Gemini models directly from your terminal
- 🔍 Web Search Integration - Get real-time information from the web
- 💬 Conversation History - Maintain context throughout your conversation
- 🛠️ Advanced Search Options - Filter by domains, exclude sites, and more
- 📝 Clean, Modular Architecture - Well-structured codebase that's easy to extend
Installation
Prerequisites
- Python 3.9+
- Google API key for Gemini models
- Google Custom Search Engine (CSE) API key and ID
Setup
- Clone the repository:Copy
- Create a virtual environment (recommended):Copy
- Install dependencies:Copy
- Create a
.env
file in the project root with your API keys:Copy
Setting Up Google Search Engine
To use the web search functionality, you need to set up a Google Custom Search Engine:
- Get a Google API Key:
- Go to Google Cloud Console
- Create a new project or select an existing one
- Navigate to "APIs & Services" > "Library"
- Search for "Custom Search API" and enable it
- Go to "APIs & Services" > "Credentials"
- Create an API key and copy it (this will be your
SEARCH_ENGINE_API_KEY
)
- Create a Custom Search Engine:
- Go to Programmable Search Engine
- Click "Create a Programmable Search Engine"
- Add sites to search (use
*.com
to search the entire web) - Give your search engine a name
- In "Customize" > "Basics", enable "Search the entire web"
- Get your Search Engine ID from the "Setup" > "Basics" page (this will be your
SEARCH_ENGINE_CSE_ID
)
- Get a Gemini API Key:
- Go to Google AI Studio
- Sign in with your Google account
- Go to "API Keys" and create a new API key
- Copy the API key (this will be your
GOOGLE_GENAI_API_KEY
)
Usage
Run the agent from the terminal:
Commands
- Type your question or prompt to interact with the agent
- Type
help
to see available tools and commands - Type
clear
to clear the conversation history - Type
exit
,quit
, orq
to exit the program
Example Queries
Project Structure
Advanced Configuration
You can customize the agent's behavior by modifying settings in your .env
file:
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- This project uses LangChain for the agent framework
- Web search functionality powered by Google Custom Search Engine
- Built with Google's Gemini models
This server cannot be installed
Provides web search functionality for the Gemini Terminal Agent, handling concurrent requests and content extraction to deliver real-time information from the web.