- Home
- Plugins
- Tools & Capabilities
- dsh-freeweb
dsh-freeweb
wiselfx/dsh-freeweb
Keyless web-search provider for DeepSeek Harness: Startpage, DuckDuckGo, Exa, and more behind a consensus fan-out.
Install
dsh plugin --profile web add github:wiselfx/dsh-freewebREADME
dsh-freeweb
A keyless web-search provider for DeepSeek Harness.
The model calls the web_search tool with a query; the plugin runs two search
engines concurrently, merges their results into one list, removes duplicates,
and shortens snippets by rank. If an engine fails, the next one in the order
takes its place. No API key or account is required, and the default
configuration needs no changes.
Install it
Requires Node.js ≥ 20.3 and dsh.
# straight from GitHub — no npm account needed
npx -y @deepseek-ai/dsh plugin --profile web add wiselfx/dsh-freeweb
# or from a local checkout
npx -y @deepseek-ai/dsh plugin --profile web add /path/to/dsh-freeweb
Restart dsh. To check it loaded without searching anything:
npx -y @deepseek-ai/dsh --profile web --dump-config # expect searchProvider: freeweb
Pinned versions work too (wiselfx/dsh-freeweb#v0.1.0). More in
docs/install.md.
Enable in minimal mode
minimal mounts no web_search tool, so this plugin's results reach the
model only in standard and ptc. To add it, insert tool-web into the
minimal preset in your profile patch (~/.dsh/profiles/web/cordis.patch.yml):
- id: preset-minimal
config:
plugins:
- id: tool-web
name: '@deepseek-ai/dsh-tool-web'
config:
fetch: true
searchTimeoutMs: 60000
Restart dsh, then confirm it loaded in minimal (not standard):
npx -y @deepseek-ai/dsh --profile web --dump-config # expect tool-web under preset-minimal
Which engines
Exa and Keenable run first. degoog, Startpage, DuckDuckGo and AnySearch are fallbacks and take over when one fails. All six are keyless; optional keys only raise rate limits.
Settings
The defaults require no changes. Engine order, timeouts and optional keys are documented in docs/architecture.md.
Testing
node test/offline.mjs # no network
node test/integration.mjs # every engine, live
node test/integration.mjs "your query" # your own query
dsh-freeweb(中文)
一个无需密钥的 DeepSeek Harness 网页搜索插件。
模型调用 web_search 工具并传入查询;插件同时运行两个搜索引擎,把结果合并为
一个列表、去除重复项,并按排名缩短摘要。某个引擎失败时,顺序中的下一个引擎
接替它。无需 API 密钥或账号,默认配置无需修改。
安装
需要 Node.js ≥ 20.3 和 dsh。
# 直接从 GitHub 安装 —— 不需要 npm 账号
npx -y @deepseek-ai/dsh plugin --profile web add wiselfx/dsh-freeweb
# 或从本地目录安装
npx -y @deepseek-ai/dsh plugin --profile web add /path/to/dsh-freeweb
重启 dsh。想确认是否加载成功,可以不触发搜索直接检查:
npx -y @deepseek-ai/dsh --profile web --dump-config # 应看到 searchProvider: freeweb
也支持固定版本(wiselfx/dsh-freeweb#v0.1.0)。更多内容见
docs/install.md。
在极简模式启用
minimal 不挂载 web_search 工具,因此本插件的结果只会在 standard 和
ptc 模式下进入模型。若要在 minimal 中加入,把 tool-web 插入你 profile
补丁(~/.dsh/profiles/web/cordis.patch.yml)里 minimal 预设的 plugins:
- id: preset-minimal
config:
plugins:
- id: tool-web
name: '@deepseek-ai/dsh-tool-web'
config:
fetch: true
searchTimeoutMs: 60000
重启 dsh,然后确认它在 minimal(而非 standard)下生效:
npx -y @deepseek-ai/dsh --profile web --dump-config # 应在 preset-minimal 下看到 tool-web
使用哪些引擎
首先运行 Exa 和 Keenable。degoog、Startpage、DuckDuckGo 和 AnySearch 为备用 引擎,在某个引擎失败时接替。六个引擎都无需密钥;可选的密钥只用于提高限流额度。
设置
默认配置无需修改。引擎顺序、超时时间和可选密钥见 docs/architecture.md。
测试
node test/offline.mjs # 不联网
node test/integration.mjs # 所有引擎,真实联网
node test/integration.mjs "你的查询" # 自定义查询
⚠️ This plugin was made by an AI
This plugin was designed, ported, and tested end-to-end by an artificial intelligence — Lantern (
ox-alpha), an AI coding agent — with light human supervision. No human wrote the search logic.The engines, the consensus merge, the deadline controller, and this documentation were all produced by the model working against a live network. Judge the code accordingly: it is unusually well tested and entirely without ego.
Status: personal artifact / proof of concept. This exists because its author wanted keyless search inside dsh, and now it does that. It may or may not receive updates. It is provided as-is. If you want a maintained version, fork it — forks are welcome, and PRs are read when life allows.
Credits & thank-yous
- pi-web-access (MIT) — the Exa, AnySearch, Keenable, and degoog adapters are ports of its providers, so upstream fixes can be carried across by diffing those files. Mapping in NOTICE.
- oh-my-pi (MIT) — substantial portions of this package are ported from its web-search subsystem, file mapping in NOTICE. It helped a LOT.
- DeepSeek Harness — an excellent, plugin-friendly harness; genuinely pleasant to extend. One polite nudge while we're here: built-in keyless web search would make it even better.
- Lantern (
ox-alpha), the AI that wrote this — a trace of its author lives in every regex. - Cinder (
hy3), another AI — independent QA in a fresh container. Caught the one manifest line this package shipped without, proved the GitHub install path end-to-end, and took the first three cities (NYC · Boise · Seattle) through the fan-out. The lantern builds; the ember verifies. - wiselfx — flipped every switch, pushed every fix, kept the vibe intact. This artifact exists because they wanted it to.
License
MIT. Substantial portions are ported from pi-web-access and oh-my-pi's MIT-licensed web-search subsystems; see NOTICE for the copyright lines and the file-by-file mapping.
Related plugins
archify (deepseek-harness)
tt-a1i/archify
next-ai-draw-io (dsh-plugin)
dayuanjiang/next-ai-draw-io
WeKnora (dsh-weknora)
tencent/weknora
weknora
tencent/weknora