返回排行榜

fatwang2/search2ai

JavaScriptsum4all.site/telegram

Help your LLMs online

onlineopenaiopenai-apisearchfunctioncallinggeminigroqllamamistraltoolcall
Star 增长趋势
Star
1.3k
Forks
191
周增长
Issues
19
5001k
2023年12月2024年10月2025年9月2026年7月
制品库npmnpm install search2ai
README

简体中文 · English

用户交流

discord 频道

友情赞助

Buy Me A Coffee

版本更新

  • V0.2.6,20240425,支持 SearXNG 免费搜索服务,有损支持 Moonshot 流式模式
  • V0.2.5,20240425,为了解决隐私担忧,开源搜索接口部分的代码
  • V0.2.4,20240424,支持 Groq 的llama-3、mistral等模型,速度起飞
  • V0.2.3,20240423,Cloudflare Worker版本支持Azure OpenAI;支持授权码,可自定义用户的请求key
  • V0.2.2,20240420,支持 Moonshot 的非流式模式
  • V0.2.1,20240310,支持Google、Bing、Duckduckgo、Search1API新闻类搜索;支持通过环境变量MAX_RESULTS调整搜索结果数量;支持通过环境变量CRAWL_RESULTS调整希望深度搜索的数量
  • V0.2.0,20240310,优化openai.js,cloudflare worker版本,这次速度真的更快了!

更多历史更新,请参见 版本记录

S2A

让你的 大模型 API 支持联网,搜索、新闻、网页总结,已支持OpenAI、Gemini、Moonshot(非流式),大模型会根据你的输入判断是否联网,不是每次都联网搜索,不需要安装任何插件,也不需要更换key,直接在你常用的三方客户端替换自定义地址即可,也支持自行部署,不会影响使用的其他功能,如画图、语音等

效果示例 效果示例
效果示例 效果示例

功能

模型 功能 流式输出 部署方式
OpenAI 联网、新闻、内容爬取 流式、非流式 Zeabur、本地部署、Cloudflare Worker、Vercel
Azure OpenAI 联网、新闻、内容爬取 流式、非流式 Cloudflare Worker
Groq 联网、新闻、内容爬取 流式、非流式 Cloudflare Worker
Gemini 联网 流式、非流式 Cloudflare Worker
Moonshot 联网、新闻、内容爬取 部分流式、非流式 Zeabur、本地部署、Cloudflare Worker(流式)、Vercel

使用

替换客户端自定义域名为你部署后的地址

效果示例

部署

Zeabur一键部署

点击按钮即可一键部署,修改环境变量

Deploy on Zeabur

如需保持项目更新,建议先fork本仓库,再通过Zeabur部署你的分支

Deployed on Zeabur

本地部署

  1. 克隆仓库到本地
git clone https://github.com/fatwang2/search2ai
  1. 复制.env.template为.env,配置环境变量
  2. 进入api目录,运行程序,实时显示日志
cd api && nohup node index.js > output.log 2>&1 & tail -f output.log
  1. 端口3014,拼接后的完整地址如下,可根据客户端的需求配置apibase地址使用(如需https,需用nginx进行反代,网上教程很多)
http://localhost:3014/v1/chat/completions

Cloudflare Worker部署

  1. 复制search2openai.js或者search2gemini.js或者search2groq.js的代码,不需要任何修改!在cloudflare的worker里部署,上线后的worker的地址可作为你接口调用时的自定义域名地址,注意拼接,worker地址仅代表v1前的部分
  2. 在worker中配置环境变量 效果示例
  3. worker里配置触发器-自定义域名,国内直接访问worker的地址可能会出问题,需要替换为自定义域名 Alt text

Vercel部署

特别说明:vercel项目暂不支持流式输出,且有10s响应限制,实际使用体验不佳,放出来主要是想等大神给我pull request

一键部署

Deploy with Vercel

为保证更新,也可以先fork本项目后自己在vercel上部署

环境变量

该项目提供了一些额外的配置项,通过环境变量设置:

环境变量 是否必须 描述 例子
SEARCH_SERVICE Yes 你的搜索服务,选择什么服务,就需要配置什么服务的key search1api, google, bing, serpapi, serper, duckduckgo, searxng
APIBASE No 三方代理地址 https://api.openai.com, https://api.moonshot.cn, https://api.groq.com/openai
MAX_RESULTS Yes 搜索结果条数 10
CRAWL_RESULTS No 要进行深度搜索(搜索后获取网页正文)的数量,目前仅支持 search1api,深度速度会慢 1
SEARCH1API_KEY No 如选search1api必填,我自己的搜索服务,注册免费领取 100 积分,点击链接 xxx
BING_KEY No 如选bing搜索必填,请自行搜索教程,点击链接 创建 xxx
GOOGLE_CX No 如选Google搜索必填,Search engine ID,请自行搜索教程,点击链接 创建 xxx
GOOGLE_KEY No 如选Google搜索必填,API key,点击链接 创建 xxx
SERPAPI_KEY No 如选serpapi必填,免费100次/月,点击链接 注册 xxx
SERPER_KEY No 如选serper必填,6个月免费额度2500次,点击链接 注册 xxx
SEARXNG_BASE_URL No 如选searxng必填,填写自建searXNG服务域名,需打开 json 模式,教程参考链接 https://search.xxx.xxx
OPENAI_TYPE No openai供给来源,默认为openai openai, azure
RESOURCE_NAME No 如选azure必填 xxxx
DEPLOY_NAME No 如选azure必填 gpt-35-turbo
API_VERSION No 如选azure必填 2024-02-15-preview
AZURE_API_KEY No 如选azure必填 xxxx
AUTH_KEYS No 如果希望用户请求的时候单独定义授权码作为key,则需要填写,如选azure则必填 000,1111,2222
OPENAI_API_KEY No 如果希望用户请求openai的时候也单独定义授权码作为key,则需要填写 sk-xxx

后续迭代

  • 修复Vercel项目流式输出问题
  • 提升流式输出的速度
  • 支持更多垂类搜索
相关仓库
talkgo/night

Weekly Go Online Meetup via Bilibili|Go 夜读|通过 bilibili 在线直播的方式分享 Go 相关的技术话题,每天大家在微信/telegram/Slack 上及时沟通交流编程技术话题。

GoGo ModulesMIT Licensegolanggopher
talkgo.org
12.3k1.2k
1j01/jspaint

🎨 Classic MS Paint, REVIVED + ✨Extras

JavaScriptnpmMIT Licenseimageimage-editing
jspaint.app/about
7.8k663
typicode/jsonplaceholder

A simple online fake REST API server

HTMLMIT Licenseonlinefake
jsonplaceholder.typicode.com
5.2k598
zhblue/hustoj

Popular Simple Open Source Online Judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training, with easy installation. 简单实用的开源OJ系统

JavaScriptnpmGNU General Public License v2.0acm-icpcnoip
hustoj.com
3.8k831
andremichelle/openDAW

openDAW is a next-generation web-based Digital Audio Workstation (DAW)

TypeScriptnpmaudiodaw
opendaw.studio
1.9k152
TastSong/CrazyCar

网络联机游戏解决方案---Unity制作的联机赛车游戏,服务端为SpringBoot + Mybatis Plus;后台为Vue + Element;游戏端采用QFramework框架,Addressable+HybridCLR实现热更新,支持KCP和WebSocket网络。

C#MIT Licenseunityonline
1.8k367
karolkozer/planby

TypeScriptnpmOtherepgschedule
planby.app
1.7k116
aviabird/angularspree

angular e-commerce framework for online store

TypeScriptnpmMIT Licenseangularecommerce
1.7k813
MasterBrian99/Free-Courses-For-Everyone

Download or get free coupons from famous course websites.

MIT Licensecourseudemy
1.7k297
luogu-dev/cyaron

CYaRon: Yet Another Random Olympic-iNformatics test data generator

PythonPyPIGNU Lesser General Public License v3.0olympicinformatics
1.6k183
sindresorhus/is-online

Check if the internet connection is up

JavaScriptnpmMIT Licenseinternetinternet-connection
1.4k88
yvt/openspades

Compatible client of Ace of Spades 0.75

C++GNU General Public License v3.0c-plus-plusgame
openspades.yvt.jp
1.2k229