Repository navigation
Home
BlueSkyXN edited this page May 4, 2026
·
4 revisions
事实来源:主仓
BlueSkyXN/SouWenpr-88(commita312645) 的registry/sources.py、config/models.py、CLI/API 路由与docs/。Wiki 在 2026-05-04 校准。
SouWen(搜文) 是面向 AI Agent 的统一搜索与内容获取库——把学术论文、专利、网页、社交、视频、百科、开发者社区、中文技术、企业办公、网页归档和内容抓取通过一个注册表统一暴露给 CLI、Python、HTTP API 和 MCP。
import asyncio
from souwen.facade import search, fetch_content
async def main():
papers = await search("transformer", domain="paper", limit=5)
web = await search("python asyncio", domain="web", limit=5)
page = await fetch_content(["https://example.com"], provider="builtin")
asyncio.run(main())-
一个注册表——93 个内置数据源由
SourceAdapter集中声明,新增一个源只改 1-2 处。 -
一个门面——
facade.search / fetch / archive按(domain, capability)派发,调用方不需要关心 Client 细节。 -
多种入口——
pip install souwen直接得到 CLI、Python 库、FastAPI Server、Web Panel、MCP Server。 - 生产侧能力——Token Bucket + 滑动窗口限流、curl_cffi TLS 指纹、五模式 WARP 代理、SSRF 防护、三角色认证。
| 目标 | 5 分钟入口 | 深入阅读 |
|---|---|---|
| 跑一次搜索看看 | Quick Start | Tutorials/First Search |
| 给 AI Agent 装一个搜索/抓取工具 | MCP 集成 | Feature MCP |
| 选哪个数据源 | Data Source Guide | Sources Index |
| 配置 API Key 和环境 | Config API Keys | Config Reference |
| 启动 HTTP API 服务 | Quick Start#API | HTTP API · Authentication and Roles |
| 用 Web 面板管理 | Web Panel | — |
| 反爬/限流被卡 | Network and WARP | Troubleshooting |
| 部署到 Docker / HF Space / ModelScope | Deployment Guide | — |
| 加一个自己的数据源 | Plugin Development | 插件对接规范(主仓) |
| 排查"这条 API 为什么 401/429/504" | Troubleshooting | FAQ |
flowchart LR
A[CLI<br/>souwen search/fetch] --> R[Registry<br/>93 个 SourceAdapter]
B[Python<br/>souwen.facade.*] --> R
C[HTTP API<br/>FastAPI :8000] --> R
D[MCP Server<br/>Claude/Cursor 直连] --> R
E[Web Panel<br/>:8000/panel] --> C
R --> X[(Domain Clients<br/>paper/patent/web/...)]
X --> Y[(curl_cffi · httpx · WARP · Proxy Pool)]
任意一种入口背后都是同一个 registry → facade → domain client → core platform 路径,行为完全一致。
| 领域 | 数量 | 入口 | 代表源 |
|---|---|---|---|
| 学术论文 | 19 | souwen search paper |
arxiv · openalex · crossref · pubmed · semantic_scholar |
| 专利 | 8 | souwen search patent |
google_patents · uspto_odp · epo_ops · cnipa · the_lens |
| 通用网页搜索 | 29 | souwen search web |
duckduckgo · bing · tavily · exa · serpapi · perplexity |
| 内容抓取 | 16 fetch + 5 跨域 | souwen fetch |
builtin · jina_reader · firecrawl · crawl4ai · scraperapi |
| 中文技术社区 | 9 | souwen search web --engines csdn,... |
csdn · juejin · v2ex · linuxdo · nodeseek |
| 社交平台 | 5 | souwen search social |
twitter · reddit · weibo · zhihu · facebook |
| 视频平台 | 2 |
souwen youtube · souwen bilibili
|
youtube · bilibili |
| 开发者平台 | 2 | souwen search developer |
github · stackoverflow |
| 知识与百科 | 1 | souwen search knowledge |
wikipedia |
| 企业办公 | 1 | — | feishu_drive |
| 网页归档 | 1 | souwen wayback ... |
wayback |
更详细的"何时选谁"对比见 Data Source Guide。完整 93 篇单源页见 Sources Index。
| 位置 | 用途 | 更新方 |
|---|---|---|
| README | 项目简介、安装、5 分钟跑通、入口导航 | 主仓 PR |
| 主仓 docs/ | 技术事实源:架构、API、配置、生成的数据源清单、插件规范 | 主仓 PR + CI |
| 本 Wiki | 用户手册:怎么用、怎么选、怎么配、怎么排障 | Wiki 仓库 + tools/generate_wiki.py
|
| CHANGELOG | 版本变更与不兼容公告 | 主仓 PR |
Wiki 不复制
docs/的字段表和 OpenAPI;遇到字段细节会反向链回主仓。
- 事实可追溯 — 每页 frontmatter 标注事实来源 commit;数字(93 / 103 / 61 等)以 registry 派生为准。
- 场景导向 — 每页解决一个问题,不当百科。
-
示例可拷贝 — 所有
bash/python/yaml块直接复制就能跑。 -
半自动生成 — 单源页面、配置参考、API 路由表由
tools/generate_wiki.py从主仓 registry/CLI/Server 派生。 - 不写未公布的承诺 — 任何 benchmark / smoke 数据只作为某次实测,不当长期保证。
Last calibrated:2026-05-04 · 主仓 pr-88 @ a312645`
Home · Quick Start · Architecture · FAQ · Troubleshooting · Coverage Manifest · Contributing
权威技术文档以主仓 docs/ 与 src/ 为准。本项目仅供 Python 学习与技术研究使用,禁止用于违反法律法规或第三方服务条款的用途。