dsh-infinite-gen-3
Minglink/dsh-infinite-gen-3DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
简体中文 · English
为 DeepSeek Harness(DSH)提供 adapter-first 的网页搜索与正文抓取。所有配置都在 DSH Web GUI 的 设置 → 搜索工具 完成,不要求用户手改 YAML。
仓库版本:0.1.9(2026-10-24)。 本版为 Local Direct 增加 Brave Search 与 360 Search 两个可选 HTML 引擎,并把执行模型改为每引擎独立 worker:一个慢引擎不会吞掉另一个引擎的成功结果。默认引擎仍是 DuckDuckGo + Bing;解析、去重、RRF 融合、域名多样性和缓存都在本地完成,不需要 SearXNG、API key、Reader、浏览器或第三方聚合服务。查询会直接发往启用的公网搜索引擎,但不会经过 SearXNG/Reader;不执行页面 JavaScript。默认搜索仍是 searxng,稳定 provider id 和工具 schema 不变。详细边界见 Local Direct 搜索配置 与 v0.1.9 发布清单。DSH 自带 web_search 和 web_fetch,但默认后端不一定适合每个人:有人已经有自己的 SearXNG,有人需要把搜索请求走代理,有人希望抓取结果直接是干净的正文,而不是整页 HTML。
dsh-search-tools 把“搜索/抓取后端”从 DSH 核心中解耦出来:
web.searchProvider;web_research:一次调用完成“搜索 + 抓取前 N 条正文”,适合需要页面内容而非只拿链接的模型回合。它不做这些事:不提供公共搜索 API,不绕过目标站点的登录/付费墙,也不替代 DSH 的权限与沙箱模型。渲染能力取决于抓取 adapter:readable-http 不执行页面 JavaScript;可选的 wire-http 在本地做浏览器级 HTTP/TLS 指纹和 PDF 文本提取,但同样不执行页面 JavaScript;可选的 jina-reader 会把公网 URL 交给 Reader 服务做浏览器渲染(自托管时留在本机),三者都不登录、不绕过付费墙、不破解验证码。
以下截图使用 demo 数据(https://searxng.example.com,无真实凭据):
能力 · 说明 稳定的搜索/抓取 provider · dsh-search-tools、dsh-search-tools-fetch 永不随后端变化 内置搜索 adapter · SearXNG:多实例、顺序/轮询、故障转移、JSON/HTML、GET/POST、Bearer/Basic、代理、缓存、分页、域名过滤 本地直连搜索 adapter(可选) · Local Direct:本机直接查询 DuckDuckGo + Bing HTML 首页,可选 Brave Search / 360;本地解析/去重/RRF 融合/域名多样性/缓存;不需要服务、Key、Reader 或浏览器,不执行 JS 内置抓取 adapter · Readability HTTP:复用 DSH 安全 HTTP,Readability 提取正文,失败可回退原文 本地强抓取 adapter(可选) · Wire HTTP:impit 本地浏览器级 TLS/HTTP2 指纹、逐跳公网出口 pinning、Readability、PDF 文本;不需要 Reader/Key/浏览器/容器,不执行 JS 可选渲染抓取 adapter · Jina Reader:浏览器渲染、PDF/Office、CSS 选择器、iframe/Shadow DOM、代理选项;目标必须是公网地址,Reader 可托管或自托管 研究工具 · web_research:搜索、按并发抓取前 N 页、按页/总预算截断、返回来源与正文 Web 设置页 · 概览、搜索、抓取、研究、诊断五个页签;Connection / Search behavior 子页、实例卡、内联测试、正文 reader、预算条、字段级错误、诊断、缓存清理、键盘保存 凭据隔离 · 搜索 token 写入 DSH credentials,不落 YAML、不进日志、不出现在诊断文本 接管与恢复 · 可选让内置 web_search / web_fetch 使用本插件;关闭时恢复之前的 provider 外部 adapter · 通过 ctx.searchTools 注册新后端;设置页自动渲染 manifest 字段
DSH ctx.web
searchProvider = "dsh-search-tools" (稳定)
fetchProvider = "dsh-search-tools-fetch" (稳定)
│
▼
SearchDispatcher / FetchDispatcher
│ 读取 config.search.adapter / config.fetch.adapter
▼
ctx.searchTools(adapter 注册表)
├── searxng 内置搜索 adapter(默认)
├── local-direct 内置搜索 adapter(本机直连 DDG + Bing)
├── readable-http 内置抓取 adapter(默认,DSH 安全 HTTP)
├── wire-http 内置抓取 adapter(可选,本地浏览器级 HTTP + PDF)
├── jina-reader 内置抓取 adapter(可选,Reader 渲染)
└── 未来由独立包注册的 adapter关键设计:
web.searchProvider,也不会要求 DSH 重启后重新注册 provider。search.adapters 和 fetch.adapters 是开放字典,adapter 自己拥有默认值与校验逻辑;核心 schema 不需要为每个后端加字段。fields 通用渲染。新增 adapter 不需要改 React 代码。架构细节见 docs/architecture.md。
项目 · 要求 DSH · >=0.2.1-rc.2 =24.0.0 搜索后端 · Local Direct(不需要部署,直接查 DDG/Bing)或一个可访问的 SearXNG 实例;也可暂时保持 DSH 默认搜索 抓取后端 · 公网 http(s) 页面;readable-http 由 DSH SSRF 防护拦截内网,wire-http 在本地逐跳 pin 公网地址,jina-reader 在发出前做公网目标守卫 Reader(可选) · r.jina.ai 的 API key,或一个可访问的自托管 Jina Reader 端点;不配置时继续用 readable-http 或 wire-http 浏览器 · DSH Web GUI(设置页只在 Web 端注册)
DSH 本身仍是 preview 软件,接口可能变化。插件把 peer 范围锁在已验证的 0.2.1-rc.2 线,升级 DSH 前请先看 CHANGELOG。
dsh-search-tools设置页出现,说明 Host 与浏览器两半都已加载。
dsh plugin --profile <profile> add dsh-search-tools`` 换成实际 profile 名。安装后启动该 profile:
dsh --profile <profile>从 GitHub Releases 下载最新可用的 dsh-search-tools-.tgz,然后:
dsh plugin --profile <profile> add ./dsh-search-tools-<version>.tgz发布资产与 npm 产物字节一致,适合内网或无法访问 npm 的环境。
DSH 插件目前不支持自动更新。升级步骤:
dsh-search-tools 或新的 tarball。CLI 对应:
dsh plugin --profile <profile> remove dsh-search-tools
dsh plugin --profile <profile> add dsh-search-tools不要在接管仍开启时直接卸载。内置web_search会指向一个不存在的 provider,直到你重装插件或手动恢复web.searchProvider。
web_research。有两条零代码路径:
profile 设置。查询会离开本机发往启用的引擎;首次使用请确认所在网络能访问它们。http(s) 绝对 URL,例如 https://searx.example.com;JSON API 需要 search.formats 包含 json,HTML-only 也可以;有认证时准备 Bearer token 或 username:password;有限流时准备多个实例或代理。插件会自动去掉末尾 /search、query 和 hash,实例 URL 里不能带用户名/密码。Local Direct 或 SearXNG。Bearer / Basic 并保存密钥。https://example.com。https://r.jina.ai/,在 Jina API key 保存密钥;http://127.0.0.1:3000/(仅 loopback 允许明文 HTTP)或 HTTPS 反代地址;browser;需要新鲜内容时打开 Bypass Reader cache。web_fetch 工具默认 30 秒;把 Reader 超时调到 30 秒以上时,必须同时调高 DSH tool-web.fetchTimeoutMs,否则会先收到 TOOL_TIMEOUT。在 概览:
web_search 使用本插件的搜索 provider。开启前会先用当前配置跑一次搜索测试,失败则不会接管。web_fetch 使用本插件的抓取 provider。接管状态会写入 DSH 的 web.searchProvider / web.fetchProvider。关闭时插件会恢复之前记录的 provider(activation.previousSearchProvider / previousFetchProvider)。
如果只想用 web_research,不一定要开启接管。web_research 调用的是当前 DSH 的搜索/抓取 provider;不接管时就使用 DSH 默认后端。
模型会话中可以直接使用:
web_search:DSH 内置工具,接管后走本插件;web_fetch:DSH 内置工具,接管后走本插件;web_research:本插件注册的研究工具,不依赖接管,但会使用当前 provider。web_research 示例参数:
{
"query": "DeepSeek Harness release notes",
"max_results": 8,
"fetch_top": 3,
"max_chars": 12000
}返回内容包含 sources、fetched 和 truncated;会话卡片会显示来源数、成功抓取数、抓取详情和截断标记。
Search notes(例如单个引擎被限流或解析为空);wire-http 时显示本地边界 notice、浏览器指纹/超时/PDF 字段;它不需要 Key,也不执行页面 JavaScript;jina-reader 时显示数据边界 warning、API key 和浏览器/Reader 选项;readable-http 仍保留原有字段;readable-http 的 SSRF 防护或 jina-reader 的公网目标守卫拒绝,这是预期行为。web_research;web_research 后,保存后模型将看不到这个工具。fetch.available / research.registered);Cmd/Ctrl+S:保存并应用当前草稿(仅在配置有效且有未保存更改时)。← / → / Home / End。aria-live 播报。