网络搜索代理

@Nghiauet/mcp-agent
0 Stars 66 次浏览 Nghiauet 更新于 2026-08-23

为双子座终端代理提供网络搜索功能,处理并发请求和内容提取,以实时提供网络信息。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Gemini 终端代理

一个强大的基于终端的代理,使用 Google 的 Gemini 模型并具有网络搜索功能。这个代理让你可以通过终端与 Gemini 交互,并利用实时网络搜索获取最新信息。

功能

  • 🤖 对话式 AI 界面 - 直接从你的终端与 Google 的 Gemini 模型交谈
  • 🔍 网络搜索集成 - 从网络获取实时信息
  • 💬 对话历史 - 在整个对话中保持上下文
  • 🛠️ 高级搜索选项 - 按域名过滤、排除站点等
  • 📝 简洁、模块化的架构 - 结构良好且易于扩展的代码库

安装

前提条件

  • Python 3.9+
  • 用于 Gemini 模型的 Google API 密钥
  • Google 自定义搜索引擎 (CSE) API 密钥和 ID

设置

  1. 克隆仓库

    git clone https://github.com/yourusername/gemini-terminal-agent.git
    cd gemini-terminal-agent
    
  2. 创建虚拟环境(推荐):

    python -m venv venv
    source venv/bin/activate  # 在 Windows 上: venv\Scripts\activate
    
  3. 安装依赖

    pip install -r requirements.txt
    
  4. 在项目根目录下创建 .env 文件,并填入你的 API 密钥:

    GOOGLE_GENAI_API_KEY=your_gemini_api_key_here
    SEARCH_ENGINE_API_KEY=your_google_api_key_here
    SEARCH_ENGINE_CSE_ID=your_cse_id_here
    DEFAULT_MODEL=gemini-2.5-flash-preview-04-17
    

配置 Google 搜索引擎

要使用网络搜索功能,你需要设置一个 Google 自定义搜索引擎:

  1. 获取 Google API 密钥

    • 访问 Google Cloud 控制台
    • 创建一个新项目或选择现有项目
    • 导航至 "APIs & Services" > "Library"
    • 搜索 "Custom Search API" 并启用它
    • 转到 "APIs & Services" > "Credentials"
    • 创建一个 API 密钥并复制它(这将是你的 SEARCH_ENGINE_API_KEY
  2. 创建自定义搜索引擎

    • 访问 可编程搜索引擎
    • 单击 "Create a Programmable Search Engine"
    • 添加要搜索的站点(使用 *.com 来搜索整个网络)
    • 给你的搜索引擎命名
    • 在 "Customize" > "Basics" 中,启用 "Search the entire web"
    • 从 "Setup" > "Basics" 页面获取你的搜索引擎 ID(这将是你的 SEARCH_ENGINE_CSE_ID
  3. 获取 Gemini API 密钥

    • 访问 Google AI Studio
    • 使用你的 Google 账户登录
    • 转到 "API Keys" 并创建一个新的 API 密钥
    • 复制该 API 密钥(这将是你的 GOOGLE_GENAI_API_KEY

使用

从终端运行代理:

python main.py

命令

  • 输入你的问题或提示以与代理互动
  • 输入 help 查看可用工具和命令
  • 输入 clear 清除对话历史
  • 输入 exit, quit, 或 q 退出程序

示例查询

>>> What is the capital of France?
Paris is the capital of France. It is located in the north-central part of the country on the Seine River.

>>> search for recent developments in quantum computing
Searching the web for recent developments in quantum computing...
[Agent response with up-to-date information]

>>> help
🔍 Available Tools:
  - search: Search for information online based on a query
  - advanced_search: Perform an advanced search with domain filtering and time range options

⌨️ Terminal Commands:
  - help: Show this help message
  - clear: Clear conversation history
  - exit/quit/q: Exit the program

项目结构

gemini-terminal-agent/
│
├── main.py               # Main entry point
├── search_server.py      # Search server entry point
├── .env                  # Environment variables (not versioned)
│
├── agent/                # Agent implementation
│   ├── __init__.py
│   ├── terminal_agent.py # Core agent implementation
│   └── config.py         # Agent configuration
│
├── search/               # Search functionality
│   ├── __init__.py
│   ├── server.py         # MCP search server
│   ├── engine.py         # Search engine implementation
│   └── content.py        # Web content extraction 
│
└── utils/                # Shared utilities
    ├── __init__.py
    ├── config.py         # Global configuration
    └── logging.py        # Logging setup

高级配置

您可以通过修改.env文件中的设置来自定义代理的行为:

# Model settings
DEFAULT_MODEL=gemini-2.5-flash-preview-04-17
# Other models: gemini-1.5-pro, gemini-1.5-flash

# Search settings
MAX_CONCURRENT_REQUESTS=5
CONNECTION_TIMEOUT=10
CONTENT_TIMEOUT=15
MAX_CONTENT_LENGTH=5000
CACHE_TTL=3600

贡献

欢迎贡献!请随时提交 Pull Request。

  1. 叉分仓库
  2. 创建您的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交您的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开 Pull Request

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

致谢

  • 本项目使用 LangChain 作为代理框架
  • 网页搜索功能由 Google 自定义搜索引擎提供支持
  • 使用 Google 的 Gemini 模型构建