在官方 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/modsearchnpm 源 · @liustack/modsearch 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · model
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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证据
最近更新
在 GitHub 查看全部 →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
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个插件,给…
★ 814已汉化DSH
68.8
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 385已汉化DSH
67.9
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1
自托管智能体平台openma-ai/open-managed-agents
Claude Managed Agents 和 OpenAI Agents API 的开源、自部署替代方案。
★ 282已汉化DSH
66.1