本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI 生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI 生成、润色内容已使用截图方式发出
潜水好久了,一直想发这个帖子懒得发,但是还是没有忍住分享欲,老朋友可能都用过这个cli工具(嘻嘻,用过的都说好),这次再发一次帖子介绍这款cli聚合搜索引擎,争取做通用ai能调用的最方便好用的cli搜索小工具。
smartsearch/README.zh-CN.md at main · konbakuyomu/smartsearch
一.功能介绍
一言以蔽之就是为了取代Claude Code、Codex 和 Cursor 这些自带的联网工具的,目前有以下的痛点:cc,cx这些原生的搜索工具必须oauth登录才能用,用中转站、本地部署跑cc的佬友是没法用原生联网的,之前尝试过用mcp的方式部署,但是考虑到解耦以及方便部署,最终决定使用cli的方式,这样既能和ai工具解耦(你甚至可以自己在命令行里面跑调用,也能写代码调用啥的,很自由),也方便后续升级更新,我自己是用mise安装的这个npm版本,顺手一键就升级了
二.什么时候用得上
有几个常见的场景:
- 问 AI 一个新库怎么用,它给的 API 是老的。 模型的训练数据有截止时间,库更新了它不知道。可以拿这个方便查官方文档(内置了Context7和exa)
- 要查国内的、时效性强的东西。 政策、公告和最近几天的新闻,英文搜索引擎基本抓瞎。这个工具可以接智谱的搜索,中文内容命中率高不少。
- 丢一个链接给 AI,让它读完正文再说话。 直接把链接贴进对话框,很多工具是不去抓正文的,它就照着标题和你的描述编。这里有一条
fetch 命令专门把网页正文抓成 Markdown。说白了就是爬取,AI的原生fetch说实话不好用,smart-search内置的Tavily可以越cf盾爬东西
- 针对具体问题的深度搜索。需要多维度广度搜索时,他会自己离线生成深度搜索计划,把smart-search内部本身多渠道的各个搜索工具像拼积木一样组织进行深度搜索
三:安装
需要先有 Node.js 18 以上和 Python 3.10 以上。装的时候它会自己建一套独立的 Python 环境,不会污染你系统里的 Python。
npm install -g @konbakuyomu/smart-search
smart-search --version
平时用的时候只有 smart-search 一个命令
装完可以先试试这个,一个 key 都不用配:
smart-search route "React useEffect 清理函数怎么写" --format markdown
它会告诉你这个问题需要哪类检索能力、为什么这么判断,但一个网络请求都不会发。跑通了说明环境没问题,再去配 key。
四:配置
跟着向导走就行
smart-search setup
这是个交互式向导,进去先问你用中文还是英文,然后一类一类问你要配哪个服务。方向键移动,空格勾选,回车确认,key 输入的时候不显示。
最低要求是三类能力各有一个,每类都有得选:
- 主搜索:xAI 或者任意 OpenAI 兼容的接口(中转站的 key 也行)
- 文档检索:Exa 或 Context7
- 网页抓取:Tavily、Jina、智谱 Coding Plan MCP Reader、Firecrawl,四选一
也就是说最少三个 key 就能跑起来。中文搜索、额外来源这些是可选的,后面想加随时能加。
配完跑一下这个自检:
smart-search doctor
key 存在你自己电脑上,Windows 在 %LOCALAPPDATA%\smart-search\config.json,macOS 和 Linux 在 ~/.config/smart-search/config.json。不用去改系统环境变量,换机器把这个文件拷过去就行。
想改单项也不用重新走向导:
smart-search config set ZHIPU_API_KEY "你的key"
smart-search config list
五:常用几条命令(AI跑的话不用管,这是自己玩儿用的)
搜一个问题,要带来源的答案:
smart-search search "今天有什么值得关注的 AI 新闻"
把一个网页抓成正文:
smart-search fetch "https://example.com/article" --format markdown
一个题目要查很多轮的时候:
smart-search research "A 方案和 B 方案怎么选" --format markdown
research 会自己把题目拆成子问题,逐个找来源、抓正文,再回头检查有没有漏掉的地方,最后只用抓回来的内容写结论。比 search 慢,也更费额度,值不值得看你这个问题有多重要。
每条命令后面都能加 --format json,给脚本或者 AI 读;加 --format markdown 给人读。
接到你的 AI 工具里
smart-search skills update --targets codex,claude,cursor
这会往对应工具的 skill 目录里装一份说明,让它们知道该在什么时候调这个命令、怎么读返回的字段。内置了 15 个工具的安装位置,默认勾选的是 Codex、Claude Code 和 Cursor,OpenCode、Gemini CLI 这些也在里面。
装完之后你正常跟 AI 说话就行,它自己会去调。
后记
感谢各位能看到这里,这个项目也陆陆续续维护了大半年了,只要还有心气和热情大概会一直维护下去吧(哈雷现在的cursor插件里面貌似有我这个玩意儿)