DeepSeek Harness Hub
← 返回列表

ExplorerZYzhou/DSH-freeweb

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

DSH 免费联网搜索插件Parallel 后端,零依赖

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/17 · 已提供中文文档

DSH 免费联网搜索插件(Parallel 后端,零依赖)

综合分
31.3
GitHub 分
31.3
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ExplorerZYzhou/DSH-freeweb
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH freeweb

DSH 免费网页搜索 provider:把 DeepSeek 官方按量计费的 web_search 切换成 Parallel 免费搜索后端(匿名免 key,永久免费层)。

- 🆓 真·零依赖:纯全局 fetch + 标准 JS,没有任何 import——不存在装完缺依赖崩溃的问题
- 🧯 完整错误处理:所有异常返回诊断信息,不静默失败
- 🧹 干净可逆:安装 = 1 个文件 + 2 行 patch;回退 = 删掉即可,无 npm、无 lock 残留
- ⚠️ 注意:插件通过 cordis.patch.yml 引用本地文件 ./freeweb-search.js,该文件必须存在(随本仓库分发)。缺失时 DSH 启动会报错——回退/删除时请先删 patch 行,再删文件。

免费后端:Parallel Search

Parallel Search MCP 官方免费提供:AI agents 匿名调用,无需账号、无需 API key。免费层有速率限制(个人日常使用足够);要更高限额可注册账号。

| 项 | 值 |
|----|-----|
| 端点 | https://search.parallel.ai/mcp |
| 协议 | MCP(JSON-RPC over HTTP),直接 tools/call,无需握手 |
| 认证 | 无(匿名) |
| 返回 | 结构化 JSON:url / title / publish_date / excerpts |
| 中文 | 可用(中文查询返回中文结果) |

安装

前置

- DSH 已运行(npx @deepseek-ai/dsh web)
- Node.js ≥ 18(fetch 全局可用;DSH 本身要求 ≥ 22.19)

步骤(两步)

1. 把 freeweb-search.js 放进 profile 目录

~/.dsh/profiles/web/freeweb-search.js     (Windows: C:\Users\\.dsh\profiles\web\)

2. 在 cordis.patch.yml 追加(若已有内容,合并到数组里):

- id: web
config:
searchProvider: freeweb

- insert:
- id: freeweb-search
name: ./freeweb-search.js

3. 重启 DSH,模型侧的 web_search 工具自动走免费搜索。

回退官方

删除 cordis.patch.yml 里刚加的两块(- id: web 和 - insert:),重启即可。先删 patch 行,再删文件(反之会让 DSH 启动报找不到文件)。

故障排查

| 症状 | 原因 |
|------|------|
| 搜索返回 freeweb: HTTP 429 | 免费层限速,稍后重试 |
| 搜索返回 freeweb: MCP error - ... | Parallel 服务异常,稍后重试 |
| 搜索返回 freeweb: 响应解析失败 | Parallel 返回格式变化(可能改版) |
| DSH 启动报找不到 freeweb-search.js | 文件没放对位置,或删了文件但 patch 行还在——放回文件或删掉 patch 行 |

定位与取舍

DSH freeweb 追求极致轻量化与 DSH 自身安全,因此功能不会很强:

- 它是一份快速、无安全负担的免费联网方案——单文件、零依赖、匿名免 key,装删都在两行之间;
- 适合联网搜索要求不大的玩家长期使用,或高要求玩家作为临时备选(Parallel 免费层有速率限制,且索引偏向英文)。

如果你需要更强的搜索(更精准的中文、更高频的调用),建议评估带 key 的商用搜索方案。本插件的价值在于:用最轻的代价,把"联网"这个基本能力免费补上。

设计说明(为什么这么写)

本插件的设计哲学:最小冲击、故障透明、取舍明确。

- 零依赖:只用一个全局 fetch 和标准 JS,没有任何 import。安装不产生 node_modules、package-lock、pnpm 等任何依赖痕迹——这是"干净可逆"的前提。
- 朴素装配:只用最简单的 - insert: 引用本地文件,不用 !!js 表达式做存在性检查(其语法有其风险)。代价是:文件缺失时 DSH 会报错——但这由安装/回退流程管理(README 已写明顺序)。
- 故障透明:apply 和 search 的每个失败分支要么返回诊断信息(通过 content 字段给模型),要么 console.error 留日志(如注册失败)。绝不静默吞错——但不向 Loader 抛错,避免影响 DSH 启动。
- 按码点截断:查询和摘录用 Array.from(...) 按 Unicode 码点截断,避免把 emoji 的代理对劈成半个产生乱码。
- 去重:多查询返回的重复 URL 会合并。
- 无配置界面:刻意不做 Config(依赖 schemastery),配置就是 patch.yml 那两行。
- 显示名取舍:本地文件插件的列表显示名是文件名(./freeweb-search.js),这是零依赖的合理代价。项目名「DSH freeweb」体现在文档与代码注释中。

与社区标准的协作

本项目关注并支持 dsh-std 社区互操作标准(dsh-ecosystem-spec 基线的 apiVersion + kind 协议坐标),待其 manifest 格式稳定后,将补充协议声明(dsh-plugin.json)。在此之前,本插件保持零依赖的独立形态,不与草案格式绑定。

Credits

设计协作:DeepSeek V4 Flash 0731(AI 协作者)

License

MIT — see LICENSE

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群