🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

免费联网搜索 liustack/modsearch

DeepSeek Harnessv5.10.11
liustack5 天前有提交已提供中文文档扫描:含敏感能力

在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…

68.5/100
综合分
863
GitHub 星标
18,128
npm 周下载
—/5
用户评分

数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @liustack/modsearch
npm 源 · @liustack/modsearch 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · model
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@liustack/modsearch @ 5.10.11
✓Node 引擎要求 >=22.13 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 01:40:06

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 46 处,展示前 34 条)
  • 读取本地文件
    dsh/index.js:36
    readFileSync(new URL('./search-schema.json', import.meta.url), 'utf8'),
  • 读取本地文件
    dsh/index.js:39
    readFileSync(new URL('./fetch-schema.json', import.meta.url), 'utf8'),
  • 读取本地文件
    dsh/index.js:339
    if (!existsSync(cli)) {
  • 读取本地文件
    dsh/index.js:566
    raw = readFileSync(file, 'utf8');
  • 读取本地文件
    dsh/index.js:792
    if (lstatSync(file).isSymbolicLink()) {
  • 写入本地文件
    dsh/index.js:801
    mkdirSync(dir, { recursive: true, mode: 0o700 });
  • 写入本地文件
    dsh/index.js:804
    writeFileSync(tmp, `${JSON.stringify(config, null, 2)}\n`, { mode: 0o600 });
  • 写入本地文件
    dsh/index.js:806
    renameSync(tmp, file);
  • 删除本地文件
    dsh/index.js:809
    unlinkSync(tmp);
  • 写入本地文件
    dsh/index.js:816
    chmodSync(file, 0o600);
  • 发起网络请求
    dsh/client.js:507
    fetch('/modsearch/config?doctor=1')
  • 发起网络请求
    dsh/client.js:539
    fetch('/modsearch/config?doctor=1')
  • 发起网络请求
    dsh/client.js:932
    fetch('/modsearch/config', {
  • 发起网络请求
    dsh/client.js:1090
    fetch('/modsearch/config')
  • 读取本地文件
    dist/main.js:109
    return fs.existsSync(bin);
  • 读取本地文件
    dist/main.js:118
    fs.accessSync(path.join(dir, candidate), fs.constants.X_OK);
  • 发起网络请求
    dist/main.js:298
    response = await fetch(url, { ...init, signal });
  • 读取本地文件
    dist/main.js:1001
    return fs.existsSync(grokAuthFile()) && commandOnPath(bin, env);
  • 写入本地文件
    dist/main.js:1038
    fs.mkdirSync(scratchDir, { recursive: true });
  • 发起网络请求
    dist/main.js:1540
    return new EnvHttpProxyAgent({
  • 发起网络请求
    dist/main.js:1549
    return new Agent({
  • 发起网络请求
    dist/main.js:1600
    const response = await fetch(url, {
  • 读取本地文件
    dist/main.js:2264
    raw = fs.readFileSync(configPath, "utf-8");
  • 读取本地文件
    dist/main.js:2401
    if (fs.existsSync(dir)) {
  • 写入本地文件
    dist/main.js:2404
    fs.mkdirSync(dir, { recursive: true, mode: 448 });
  • 写入本地文件
    dist/main.js:2406
    fs.chmodSync(dir, 448);
  • 写入本地文件
    dist/main.js:2414
    fs.writeFileSync(tmp, content, { mode: 384 });
  • 写入本地文件
    dist/main.js:2416
    fs.renameSync(tmp, filePath);
  • 删除本地文件
    dist/main.js:2419
    fs.unlinkSync(tmp);
  • 写入本地文件
    dist/main.js:2425
    fs.chmodSync(filePath, 384);
  • 读取本地文件
    dist/main.js:2439
    if (!force && fs.existsSync(configPath)) {
  • 删除本地文件
    dist/main.js:2760
    fs.rmSync(statePath, { force: true });
  • 执行外部命令来自配置/变量
    dist/main.js:3305
    return spawn(command, args, { ...options, windowsHide: true });
  • 执行外部命令来自配置/变量
    dsh/spawnHidden.js:7
    return spawn(command, args, { ...options, windowsHide: true });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

5 张 · 点击查看大图

功能亮点

  • 网页搜索
  • X搜索
  • 返回结构化JSON证据
v5.10.112026-10-28
· Antigravity CLI 的搜索恢复正常,不再需要配置模型(#46)。agy 不再提供 gemini-3.6-flash-low,而默认的 modsearch 又通过了,于是每次调用都因模型选择无效而失败。现在默认模型是 gemini-3.8-flash-low。如果你之前自己设过 antigravity-cli.model 来绕过这个问题,它仍然有效。agy models 会列出你的 agy 接受的模型 id。 · 在 DeepSeek Harness 里,模型现在能分清 read_page 和 web_fetch 了(#47)。dsh 如今默认开启自己的 web_fetch,模型看到两个都要 URL 的工具,只能靠猜。read_page 的描述现在写明了什么时候用它:做摘要、围绕一个问题精读,或页面只能靠 JavaScript 渲染时。描述里也说,要原始页面文本或 HTTP 状态码就用 web_fetch。文档不再声称 dsh 出厂时关闭 web_fetch。 · 新搜索引擎:You.com(#44)。它搜索不需要密钥、不用注册,同一 IP 上所有人共享每天 100 次搜索。它在搜索链里排第三,位于 Firecrawl 和 Keenable 之后,所以一个繁忙的 IP 把前两个的额度都用完,还有免费的兜底。它只做搜索,摘要和 Keenable 一样机械。dsh 设置卡片把它列为免密钥引擎。modsearch config set youcom.enabled false 可以把它从搜索链里去掉。
v5.10.102026-10-19
· DeepSeek Harness 里的 web_fetch 不再因为注册了多个可用的 web 服务商(deepseek-fetch-api、http)而失败,显式配置一个即可(#43)。要把 web_search 发给 modsearch,插件会改写 dsh 的 web 设置,而这次改写会替换整个配置块,于是连 dsh 自己的 fetchProvider: http 也一并丢掉了。当时 http 是唯一的页面抓取器,所以没影响。新版 dsh 构建(包括桌面应用 44.7.0)加了第二个抓取器 deepseek-fetch-api,dsh 就选不出来了。插件现在会保留 fetchProvider: http。如果你曾在配置档补丁里加过 - id: web 覆盖项来绕过这个问题,现在可以删掉,也可以留着,两种都行。dsh 指南里把搜索切回去的示例现在也会保留这一行。
v5.10.92026-10-18
· 修正 DeepSeek Harness 桌面应用的 5.10.8(#42)。dsh 命令行拒绝修改桌面应用的 desktop 配置档(配置档「desktop」由 Electron 应用独占管理),所以 INSTALL.md 里给出的命令跑不通。INSTALL.md 现在改成让 AI 请你打开 Plugins,点 Add plugin,输入 @liustack/modsearch,再从配置档的 package.json 确认安装。浏览器 UI 和其他配置档不变:AI 仍会自己安装。README 和 dsh 指南的说法一致。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
ModSearch 在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X 搜索、单页抓取。免费,免注册,免 API key。 🥇 全网最强的 DeepSeek Harness (dsh) 免费联网搜索插件 🥇 引擎:Firecrawl(免注册,默认)· Keenable(免注册)· You.com(免注册)· Antigravity CLI · Tavily · Exa · Grok(X) · local,自动故障转移 English ·故障排查 ·配置 ·输出契约 ·安全 · ModLens(视觉) DeepSeek 和 GLM 等模型没有联网能力或联网能力羸弱。ModSearch 通过外挂方式大幅增强模型联网搜索、X 搜索、单页抓取能力。装完即用:默认引擎是 Firecrawl 的免注册通道,每月 1,000 免费 credits,不用注册账号,不用 API key,不用绑卡。 交流 用出问题了就提个 issue。其他的都欢迎来 X 上聊:@liustack,你用它做了什么、在哪个 harness 上跑、接下来该做什么,新版本也是那边先发。社群正在筹备中。
展开完整文档(README 剩余 1 节)
ModSearch

在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X 搜索、单页抓取。免费,免注册,免 API key。

🥇 全网最强的 DeepSeek Harness (dsh) 免费联网搜索插件 🥇

引擎:Firecrawl(免注册,默认)· Keenable(免注册)· You.com(免注册)· Antigravity CLI · Tavily · Exa · Grok(X) · local,自动故障转移

English ·故障排查 ·配置 ·输出契约 ·安全 · ModLens(视觉)

DeepSeek 和 GLM 等模型没有联网能力或联网能力羸弱。ModSearch 通过外挂方式大幅增强模型联网搜索、X 搜索、单页抓取能力。装完即用:默认引擎是 Firecrawl 的免注册通道,每月 1,000 免费 credits,不用注册账号,不用 API key,不用绑卡。

交流

用出问题了就提个 issue。其他的都欢迎来 X 上聊:@liustack,你用它做了什么、在哪个 harness 上跑、接下来该做什么,新版本也是那边先发。社群正在筹备中。

特性

- 🥇 全网最强的 DeepSeek Harness (dsh) 免费联网搜索插件: 一条命令即刻安装 npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modsearch@5.10.11。桌面版「添加插件」里填 @liustack/modsearch,不要填 GitHub 地址。细节见接入指南。
- 开箱免费,免注册。 搜索和单页抓取默认跑在 Firecrawl 免注册通道上:每月 1,000 免费 credits,没有账号、没有 API key、没有绑卡。后备通道也全部免费:Antigravity CLI 只需浏览器登录,Tavily、Exa 和免费的 Firecrawl key 各带独立的月度额度,均不要求绑卡。
- 自动故障转移。 一个通道失败或额度耗尽时自动切换下一个。
- 单引擎多密钥轮换。 Tavily、Exa、Firecrawl、Keenable 都可配置逗号分隔的多个密钥。鉴权、限流或配额失败时先轮换到下一个密钥,再按引擎链故障转移。
- 可搜索 X(推特)。 安装 Grok Build 后,可检索网页索引覆盖不到的 X 内容。
- 一次安装,多端可用。 支持 Claude Code、Codex、Pi、OpenCode。

实测

四张截图全部原样记录,前两张来自 Codex 桌面 App,后两张来自 dsh web,驱动的都是自身不能联网的 DeepSeek 模型。

给出一个博客链接,询问文章内容。25 秒后返回全文的结构化摘要,全程未打开浏览器。

不能联网的 DeepSeek 通过 ModSearch 总结博客链接

不指定目标,只问「今天有什么有趣的 AI 新闻」。36 秒后返回六条带来源的结果,并在结尾说明哪些信息来自检索聚合、细节可能有出入。该提醒来自 uncertainty 字段。

开放问题返回六条带来源的结果,并附可信度说明

在 dsh web 里问今天有哪些重要的 AI 新闻。dsh 原生的搜索工具行直接跑在 modsearch 引擎链上,18 秒返回三条当日消息,每条带来源链接。

dsh web 的原生搜索跑在 modsearch 引擎链上,返回三条带来源的当日新闻

问 Node.js 现在哪条版本线还在维护。read_page 先后读官网版本页和发布计划表,59 秒给出结论和版本状态表,来源附在结尾。

read_page 读取两个页面后给出 Node.js 维护线结论

支持的引擎

Firecrawl、Keenable 和 You.com 零配置直接可用,其余引擎各一条命令。key 存在 ~/.modsearch/config.json(0600 权限,展示时打码):

| 引擎 | 能做什么 | 免费额度 | 怎么开 |
| Firecrawl(默认) | 网页搜索 + 单页抓取 | 免注册每月 1,000 免费 credits。注册免费 key 再得独享的每月 1,000 | 无需任何操作,装完即用 |
| Keenable | 网页搜索 | 免注册每小时 1,000 次(按 IP 计,同一 IP 上所有人共用)。注册免费 key 得独享的每月 100,000 次 | 无需任何操作,装完即用 |
| You.com | 网页搜索 | 免注册每天 100 次(按 IP 计,同一 IP 上所有人共用) | 无需任何操作,装完即用 |
| Antigravity CLI | 网页搜索 + 单页抓取 | 免费,浏览器登录 | 安装 agy 并登录 |
| Tavily | 网页搜索 | 每月 1,000 credits,不绑卡 | modsearch config set tavily.apiKey <key> |
| Exa | 网页搜索 | 每月 $10 循环额度(约 1,400 次),不绑卡 | modsearch config set exa.apiKey <key> |
| Grok Build | X(推特)搜索 | 随 SuperGrok 或 X Premium 订阅 | 安装 grok 并登录 |
| local | 单页抓取 | 内置,零安装 | 无需任何操作 |

key 也可以走环境变量(TAVILY_API_KEY、EXA_API_KEY、FIRECRAWL_API_KEY、KEENABLE_API_KEY)。同一引擎可在配置文件或环境变量中写入逗号分隔的多个 key,例如 key-one,key-two。配了多个引擎就自动故障转移,好的优先。每个引擎默认都参与,可以用 modsearch config set tavily.enabled false 排除一个。想用 Tavily、Exa、Firecrawl、Keenable 兼容的第三方或自建端点?把引擎指过去即可:modsearch config set tavily.baseURL <url>。官方地址始终内置在代码里,不会作为默认配置写入文件。每个引擎的全部配置项见配置指南。

安装

第一步,交给你的 AI。 skill 一装好,搜索和单页抓取就跑在 Firecrawl 的免注册免费额度上,所以安装只是一句话:

按 https://github.com/liustack/modsearch 的 INSTALL.md 安装并配置 modsearch skill,完成后运行体检并把结果告诉我。

DeepSeek Harness (dsh) 里发同一句话即可。INSTALL.md 会认出 dsh,改走原生插件而不是 skill,让 dsh 自带的 web_search 直接跑在 modsearch 上。浏览器版由 AI 直接装好。桌面版只接受从自己窗口里装插件,AI 会请你打开「插件」,点「添加插件」,填 @liustack/modsearch。

也可以直接通过 skills.sh 安装同一个 skill:

npx skills add liustack/modsearch

第二步(可选),再加免费引擎。 Antigravity CLI 的综述质量更高,Tavily、Exa 或免费 Firecrawl key 能在免注册额度之上再加一份个人额度,都不要求绑卡。只有 agy 的浏览器登录需要你亲手完成:

curl -fsSL https://antigravity.google/cli/install.sh | bash
agy # 浏览器完成登录后退出

选了 key 的话,发一句话给 AI 即可:「把我的 tavily key 设成 tvly-...」。

dsh 用户还有一条不碰命令行的路。在 dsh 侧栏点开「插件」,进入 @liustack/modsearch:选首选引擎、填 API 密钥和自建接口地址、勾选哪些引擎参与故障转移,点保存就生效。0.1.6-alpha.2 之前的 dsh 版本里,同一张卡片在设置页的「插件 → 插件配置」里。

dsh「插件」面板里的 ModSearch 页面:选首选引擎、填 API 密钥与接口地址、勾选参与故障转移的引擎

用法

装好之后不需要记任何命令。正常聊天,提出需要查证的问题或给出一个链接,skill 自动触发:选引擎、跑搜索或抓取,答案带着来源回来。

文档

| 文档 | 适用场景 |
| INSTALL.md | 一步步安装 skill(为 agent 编写) |
| CLI 手册 | skill 所驱动的 CLI:参数、配置与体检 |
| 故障排查 | 命令报错,查成因和解法 |
| 配置手册 | 配置 key、切换引擎、排查配置 |
| 输出契约 | 解析 JSON 或构建下游工具 |
| dsh 插件 | 安装、配置、验证与更新原生 dsh bundle |
| 宿主接入 | 在 Codex、Claude Code、OpenCode、Pi 中配置 |
| 安全说明 | SSRF 防护、DNS 重绑定防护、不可信输入的处理 |
| 更新日志 | 查询版本变更 |

Clash、Clash Verge Rev、mihomo、Surge 的代理 fake-ip 模式开箱即用:DNS 返回的 198.18.0.0/15 地址会被视为 fake-ip 占位值,不用开任何开关。URL 中直写的 http://198.18.0.5/ 这类地址在 allowPrivateNetwork 关闭时仍会被拦。VPN 用的其它保留段,或 Steam++ / Watt Toolkit 这类 hosts 文件加速器,见私有网络目标被拦。

参与方式

本仓库不接受 PR。项目由作者独立维护,所有代码经作者本人审阅,这是它可靠性的前提。两种有效的参与方式:

- 提交 issue。 bug、建议、难以理解的报错或文档都欢迎。issue 会被认真阅读,并影响后续开发方向。
- Fork。 MIT 协议下你的副本完全归你,修改和发布不受限制。

插入硬广一条

关注微信公众号「liustack」:AI 工具、实践与想法,第一时间推送。微信扫码,或搜一搜「liustack」:

⭐ 如果它对你有用,请给 ModSearch 一个 star,这是其他开发者找到它的方式。

Star History

免责声明

ModSearch 以 MIT 许可发布,使用不受限制。作者不对任何用途(含商业使用)提供保证与背书。上游引擎(Antigravity CLI、Tavily、Exa、Firecrawl、Keenable、You.com、Grok Build)各有自己的条款与额度,遵守这些约束由使用者负责。

License

MIT
预览分享卡片长什么样 ↓liustack/modsearch
分享 · DeepSeek Harness Hub
liustack/modsearch

在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…

回到顶部