AI Agent web search & intelligent filtering engine — bundled with SearXNG-core
Project description
Agent Web Search Engine
Python 核心引擎,提供搜索编排、网页爬取、内容提取和向量检索能力。
SearXNG-core 已打包在 wheel 中,安装后引擎自动管理 SearXNG 子进程,无需额外部署。
快速开始
# 克隆仓库(含 searxng-core submodule)
git clone --recurse-submodules <repo-url>
cd AgentWebSearchingTool/engine
# 打包 searxng-core 到包中(仅开发模式需要)
python scripts/prepare_build.py
# 创建虚拟环境并安装
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev,retrieval]"
# 运行测试
pytest
# 启动服务(SearXNG 会自动在后台启动)
uvicorn src.router:app --reload --port 8000
pip 安装用户:
pip install agent-web-search-engine后,SearXNG 已内置在包中,引擎会自动启动它。
API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /health |
健康检查(含 SearXNG 状态) |
| POST | /search |
执行搜索(自动使用内置 SearXNG) |
| POST | /fetch |
抓取单页 + 内容提取 |
| POST | /scrape |
批量抓取多页 |
| POST | /filter |
向量检索筛选 |
模块架构
src/
├── router.py # FastAPI 路由编排(含 SearXNG 生命周期管理)
├── searxng_runner.py # SearXNG 子进程管理器(启动/停止/健康检查)
├── config.py # YAML 配置加载
├── search/ # SearchProvider 接口 + SearXNG 适配器
├── fetch/ # HTTP + Playwright 混合爬取
├── extract/ # trafilatura 内容提取
└── retrieval/ # Embedding + Cross-encoder 两阶段检索
配置
编辑 config.yaml 或通过环境变量覆盖:
# SearXNG 配置(内置,通常无需修改)
SEARXNG_PORT=8888
SEARXNG_BIND_ADDRESS=127.0.0.1
SEARXNG_SECRET=my-secret-key # 建议设置
# Engine 配置
SEARXNG_URL=http://127.0.0.1:8888
ENGINE_PORT=8000
DASHSCOPE_API_KEY=sk-xxx # DashScope Embedding
依赖
| 用途 | 安装方式 |
|---|---|
| 核心(含 SearXNG-core) | pip install agent-web-search-engine |
| 开发 + 测试 | pip install -e ".[dev]" |
| 检索 | pip install -e ".[retrieval]" (dashscope, openai, torch, transformers) |
| 浏览器爬取 | pip install -e ".[playwright]" + playwright install chromium |
License
- Engine 代码: MIT
- Bundled SearXNG-core: AGPL-3.0-or-later
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_web_search_engine-0.1.4.tar.gz.
File metadata
- Download URL: agent_web_search_engine-0.1.4.tar.gz
- Upload date:
- Size: 3.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67be765e37dad9f34b5635074345ea85dd366b80da801f66c7c8b89dd62df7ca
|
|
| MD5 |
8004324bd40d025b6681c5aeba87ee89
|
|
| BLAKE2b-256 |
0c41f2d876992d833860111bbcc033bae8e5dc73095ae7a8c1daba48ac224496
|
File details
Details for the file agent_web_search_engine-0.1.4-py3-none-any.whl.
File metadata
- Download URL: agent_web_search_engine-0.1.4-py3-none-any.whl
- Upload date:
- Size: 3.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c4c1f6afb611dfab95493ce3925e30cc4fcb22e22d11ce99d7b27c226851728
|
|
| MD5 |
97903164c7c406aaedae84b2d51fcfbe
|
|
| BLAKE2b-256 |
5af311b2458f8d81c3d736d3414b9d5ee09ab4ee289e1e81bc72cf878fe7f48d
|