DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
W

dsh-web-tools

Web Tools

面向 DeepSeek Harness 的多提供商网页搜索与获取——9 个深度适配的提供商、SearchHints、稳健的回退机制,以及原生 X / Xiaohongshu 检索

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:A3Boy/dsh-web-tools#686d87bdf688e18966733c3d070fd3698779c255
README兼容性版本

兼容性与来源证明

Web Tools 以 dsh-web-tools 发布,当前版本为 0.3.9。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/11/4

版本

0.3.9stable
2026/11/4
0.3.8stable
2026/10/25
0.3.7stable
2026/10/18
查看其余 7 个版本收起版本
0.3.5stable
2026/10/3
0.3.4stable
2026/9/29
0.3.3stable
2026/9/3
0.3.1stable
2026/9/1
0.3.0stable
2026/8/26
0.2.0stable
2026/8/22
0.1.0stable
2026/8/21

相关插件

正在加载相关插件…

最新版
0.3.9
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 41
周下载
0
最近提交
2026/11/4
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 search-research 分类下经过校验的插件。

Free Searchdsh-free-searchDeepSeek Harness 的免费网页搜索:27 个引擎(Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl/Parallel/You.com 无需密钥;通过 MCP 支持 Zhihu 全局/站内搜索,以及 Perplexity/SerpBase/DeepSeek(官方 + 原生工具/搜索)/Baidu/Kimi/Aliyun/Douba)Ab Wechat Scrapedsh-ab-wechat-scrape--- description: "树外 wechat_scrape 工具:获取微信公众号文章,过滤推广区块,并将每篇文章保存为 Markdown 文件,供此机器的 dsh 配置文件维护者使用。" kind: "package-reference" ---Ab Market Researchdsh-ab-market-research一个树外 DeepSeek Harness 插件:将 trade_search 工具(多轮扩展方面的查询规划、出版商级别排序、来源多样性、JSON 快照)及其浏览器卡片集成在一个包中。Arisdsh-arisARIS research-workflow 技能作为 DeepSeek Harness 捆绑包:包含 82 项技能,以及通过 Codex 进行的跨模型对抗性审查。

README

dsh-web-tools

dsh-web-tools

Empower DeepSeek Harness with unified search and deep content extraction across the open web and social platforms.

Native-Capability Adaptation Across 9 Web Providers · SearchHints Semantic Compilation · Multi-Source Resilience · Xiaohongshu & Twitter / X Retrieval

English | 简体中文

What problem does it solve?

When web access depends on a single provider, exhausted quota, rate limits, or timeouts can interrupt retrieval. Wrapping multiple APIs with a naive proxy often flattens them to a lowest common denominator, failing to leverage each provider's specialized search modes, categories, freshness, domain rules, and extraction capabilities.

dsh-web-tools connects Exa, Tavily, Firecrawl, Parallel, Brave, You.com, Jina, Keenable, SearXNG, Xiaohongshu, and Twitter / X to DSH’s standard web_search / web_fetch interface.

While keeping the tool interface unified, dsh-web-tools normalizes search intents through SearchHints and compiles queries into native provider-specific parameters. This leverages each engine's native categories, freshness filters, domain policies, regional targeting, and content extraction, while maximizing uptime through multi-key allocation, automated failover, and dedicated browser profiles.


Key Highlights:

  • Native-Capability Adaptation Across 9 Web Providers: Keeps the standard web_search / web_fetch contracts while compiling unified search intent into provider-specific native parameters instead of reducing every backend to the same lowest-common-denominator feature set.
  • SearchHints → Provider-Specific Parameter Compilation: Normalizes technical, research, news, date, region, and domain constraints from queries, compiling them into provider-native parameters through deterministic code without additional LLM latency.
  • Xiaohongshu & Twitter / X Platform Sources: Both platforms support signed-in native search, detail extraction, and returned comments or replies through dedicated local browser profiles.
  • Multi-Source Scheduling & Resilience: Features multi-API-key pooling, 401 failover, 429 cooldown windows, configurable Ordered / Round-Robin / Random routing, and failover chains.
  • Native DSH Tool Integration: Plugs directly into standard web_search / web_fetch without requiring new tool declarations, and includes a session-level "Search Mode" toggle.
                         DSH Agent
                            │
                 web_search / web_fetch
                            │
                            ▼
                       SearchHints
            topic / freshness / domains
               locale / cleanQuery ...
                            │
                 Provider-specific
                    compilation
                            │
      ┌────────┬─────────┬───────────┬──────────┐
      │  Exa   │ Tavily  │ Firecrawl │ Parallel │ ...
      │        │         │           │          │
      │category│ topic   │ github    │objective │
      │ date   │ chunks  │ research  │ policy   │
      │domains │ time    │ tbs       │ queries  │
      └────────┴─────────┴───────────┴──────────┘

dsh-web-tools search strategy and multi-provider routing

Native-Capability Adaptation Across 9 Web Providers

The tool interface and search semantics are unified for the DSH agent, but underlying provider capabilities are not.

dsh-web-tools expresses query intent through SearchHints and crafts dedicated requests for each provider, rather than compressing all backends into a single set of lowest-common-denominator parameters.

For example, when searching for "AI coding references from the past week":

  • Exa: Maps category filters, ISO date ranges, and domain constraints;
  • Firecrawl: Maps technical queries to the native github category, research queries to research, and applies tbs freshness filters;
  • Parallel: Deconstructs the query into objective, clean search_queries, and source_policy;
  • Brave Search: Maps freshness, country, and language parameters with priority LLM Context endpoint;
  • You.com: Leverages boost_domains for soft domain preference.

All adaptations run through deterministic code without invoking an extra LLM call.

  • Exa: Category mapping (publication / news / financial report), ISO-8601 date ranges, and domain constraints.
  • Firecrawl: Maps coding and technical queries to the github category, academic queries to research, and supports tbs, domain constraints, and clean Markdown extraction.
  • Parallel: Dual-layer semantics (objective soft-steering + clean search_queries) and source_policy domain/freshness filters.
  • Tavily: Supports basic / advanced / fast / ultra-fast search depths; basic, advanced, and fast support chunks_per_source, with native news / finance topics, date ranges, country, and domain constraints.
  • Brave Search: LLM Context endpoint with pd/pw/pm/py freshness filters, country, and search language.
  • You.com: Native boost_domains soft-weighting, freshness presets, and geo/language targeting.
  • Jina: Query noise reduction and ReaderLM-v2 high-precision markdown extraction.
  • SearXNG: Self-hosted metasearch with categories (it/science/news) and time_range.
  • Keenable: Web search with site domain scoping and published_after / published_before date filters.
  • Native & Generic Page Extraction (web_fetch): Automatically routes to provider-native scraping backends (Exa /contents, Tavily /extract, Firecrawl /scrape, Parallel /v1/extract, You.com /v1/contents, Jina Reader) when available; seamlessly falls back to the built-in generic HTTP fetcher (powered by local Defuddle Markdown parsing with SSRF/DNS protection) for SearXNG-only / Brave-only setups or when native extractors fail.

Social Platform Sources

Unlike general search engines, the plugin connects directly to native social platform sessions:

  • Native Isolated Browser Architecture:

    • Directly controls local Edge / Chrome instances using dedicated profiles over CDP.
    • 0 browser extensions and 0 Playwright / Chromium bundles. Cookies remain managed by the dedicated browser profile and are not written to plugin configuration, logs, or relays; the browser still sends them to the platform during normal authenticated requests.
  • Xiaohongshu:

    • Note Detail & Comment Fetch (web_fetch): Uses the dedicated browser profile to extract structured __INITIAL_STATE__ data with DOM fallback while preserving signed xsec_token URLs. When the page loads comment data, top-level comments and returned nested replies are extracted individually.
    • Native Search Discovery (web_search): Uses the signed-in browser and the real search controls on /explore, entering only the cleaned topic query rather than platform names or site: operators. It distinguishes login walls, security verification, and a genuinely signed-out session. Operators can temporarily disable this path with XHS_NATIVE_SEARCH=0 while diagnosing browser issues.
  • Twitter / X:

    • Native Search, Tweet Detail & Replies: Captures the X web client's GraphQL data streams (SearchTimeline / TweetDetail) over CDP, parses the target tweet and its reply tree structurally, and uses DOM extraction as a supplement and fallback. Supports from:, since:, and until: operators.

Each detail fetch includes at most 30 comments or replies, with up to 800 characters per entry. Additional pages or nested replies are explicitly marked as truncated to keep model context bounded.

Capability Boundary: For Xiaohongshu notes where the primary content resides in images, the fetcher returns the title, text description, engagement metrics, image count, and loaded comments; it does not perform optical character recognition (OCR) on image text or automatically paginate through all comments.

Agents use 小红书: or X: as a platform-routing prefix. The prefix selects the platform and is removed before the native search runs; for example, 小红书: DeepSeek Harness enters only DeepSeek Harness into Xiaohongshu's search box.

  • General-Web Fallback: Uses configured general search or fetch providers when a platform source is disabled, temporarily unavailable, or reports a retryable failure. Non-retryable sign-in, access-control, search-restriction, and invalid-detail errors are returned directly so indexed content is not presented as native platform results, details, or comments.
  • Automated Session Verification: Cookies are only the first gate. Xiaohongshu requires both a1 and web_session, then performs a stabilized live /explore check in the interactive browser. A visible login wall invalidates the old session and restores the sign-in action; a wall appearing only after search submission is reported directly as search-restricted rather than being hidden behind indexed web results.

Xiaohongshu and Twitter X signed-in sessions verified automatically


Custom Search Providers & Address Overrides (Issue #9)

In addition to the 9 built-in search adapters and social platforms, dsh-web-tools natively supports Custom Search Providers and Built-in Service Address Overrides:

  • Built-in Base URL Overrides:
    • All 9 built-in search providers (Exa, Tavily, Firecrawl, Brave, You, Parallel, Jina, Keenable, SearXNG) support custom service addresses (e.g. self-hosted API gateways, reverse proxies).
    • Preserves path prefixes (such as /v1, /v2), prompts for confirmation on foreign destinations to protect API keys, and supports instant restoration to official defaults.
  • Three Parallel Access Paths (Progressive Modal UX):
    • Compatible Provider API: Follows the standard Tavily POST JSON specification with zero manual mapping. Ideal for self-hosted proxies and compatible gateways.
    • Protocol Template: Pre-configured standard meta-search protocol (e.g. SearXNG JSON GET /search?format=json), keyless by default with automatic result mapping.
    • Custom JSON API (Generic JSON): Full declarative mapping engine for internal knowledge bases, private clusters, or arbitrary RESTful search endpoints:
      • Custom Request Headers: Add arbitrary HTTP headers with {{apiKey}} and {{query}} placeholder interpolation.
      • Nested JSON Body Template (bodyTemplate): In POST JSON mode, author arbitrary nested JSON request bodies (e.g. {"query": "{{query}}", "limit": "{{maxResults}}"}) without writing code.
      • Query Parameters Template (paramsTemplate): In GET or query-encoded mode, configure custom query parameters with full placeholder support.
      • Declarative Response Mapping: Non-executable dot-path reader (itemsPath, urlPath, titlePath, snippetPath, etc.) with prototype pollution defenses.
      • Single-Pass Interpolation: Prevents recursive placeholder expansion and secret leakage when user query contains placeholder syntax.
      • Real-Time Syntax Validation: Invalid JSON in the body template immediately triggers visual error feedback and disables testing/saving to prevent stale config writes.
  • Credential Isolation & Key Pooling:
    • Supports Bearer Token, API Key Header, HTTP Basic (isolated username/password storage with rollback compensation), and Keyless modes.
    • API secrets are managed securely by the DSH credentials service and never echoed back to browser configuration views. Integrates with key rotation and health tracking.
  • :

Fallback & Resilience

  • Multi-API-Key Pooling: Assigns keys per provider, balances concurrent requests by lowest in-flight count, and fails over across keys on authentication errors.
  • Deterministic Provider Fallback: Automatically cascades through the fallback chain on network failures, timeouts, 5xx server errors, 429 rate limits, or exhausted quotas.
  • 429 Retry-After Cooldown: Enforces zero-request cooldown windows when servers return Retry-After headers, skipping rate-limited providers immediately.
  • Configurable Routing Policies: web_search supports Ordered, Round-Robin, and Random starting-provider selection. web_fetch always follows the deterministic fetch-capable chain.
  • Session-Level Search Mode: A refined, compact picker in the composer offering three deterministic retrieval behaviors (defaults to Smart):
    • Smart (智能联网): Elastic semantic dispatch. The agent autonomously determines whether real-time web retrieval is needed based on conversational intent.
    • Always (始终联网): Strong-consistency knowledge verification. Mandates at least one completed web_search or web_fetch per turn to ensure claims are grounded in external sources.
    • Off (关闭联网): Deterministic physical isolation. Replaces fragile prompt-only requests with a three-tier runtime enforcement barrier (dynamically withholds tools from the agent's schema, blocks model inertia via a monotonic guard before execution, and injects a single-turn explanation), ensuring zero outbound network leakage regardless of historical context.
Dropdown Picker MenuActive Trigger States
Search Mode Picker Menu Smart Mode
Smart: Adaptive autonomous dispatch (Default)

Always Mode
Always: Enforced verification highlight

Off Mode
Off: Runtime physical guard
  • Intelligent Proxy Routing & Intranet Bypass: Seamlessly integrates with Windows system proxy settings and HTTP_PROXY, HTTPS_PROXY, NO_PROXY environment variables. Equipped with DNS preflight routing: public traffic follows configured proxies, while loopback addresses and private subnets (RFC 1918) automatically bypass the proxy gate with direct dialing — completely eliminating connectivity drops for LAN-hosted SearXNG or custom private gateways when system proxies are active.

Installation & Updates

DSH version support: 0.1.0-rc.6 and later, including the 0.2.0-rc.x and 0.2.1-rc.x lines (both the latest and next channels are verified). The requirement lives in peerDependencies, which DSH uses to decide whether the plugin may activate; if the plugin stays inactive after a DSH upgrade, run dsh plugin --profile web update dsh-web-tools once.

# Install
dsh plugin --profile web add github:A3Boy/dsh-web-tools

# Update
dsh plugin --profile web update dsh-web-tools

# Remove
dsh plugin --profile web remove dsh-web-tools

Restart dsh web and navigate to Settings → Web Search.


Provider Capabilities

ProviderSearchFetch / ExtractKey Integrations & AdaptationsQuota Inspection
ExaYesYes, /contentsSemantic retrieval (auto / fast / deep), category mappings, query-aware highlights, ISO-8601 date rangesDashboard only
TavilyYesYes, /extractSearch depths (basic / advanced / fast / ultra-fast); the first three support chunking, plus news / finance, date, country, and domain parametersOfficial API
FirecrawlYesYes, /scrapeTechnical queries map to github, academic queries to research; supports tbs, domain constraints, and clean Markdown extractionOfficial API
ParallelYesYes, /v1/extractAgent dual-layer semantic search (advanced / basic / turbo), objective soft-steering, source_policyDashboard only
Brave SearchYes—Preferred LLM Context pre-extraction with pd/pw/pm/py freshness, country/lang filters, auto fallback to Classic SearchResponse headers
You.comYesYes, /v1/contentsSnippet highlights, native boost_domains soft-weighting, freshness and country/lang filters, markdown endpointOfficial API
JinaYesYes, ReaderSearch query noise filtering, ReaderLM-v2 high-precision markdown, token budget and truncation control

Quick Recommendation Guide

New installations default to Exa; existing installations keep their saved provider configuration.

ScenarioRecommended ProviderNotes
Social Discovery & Content DetailXiaohongshu / Twitter / XBoth platforms provide signed-in native search, detail retrieval, and returned comments or replies
Semantic Search / Technical DocumentationExaSemantic modes plus category, date, domain, and highlight parameters
Pre-Extracted Search ContextBrave SearchPrefers LLM Context with Classic Search fallback
Configurable Search Depth and ExtractionTavily / ParallelProvider-native depth modes and content extraction endpoints
Content-to-Markdown ExtractionFirecrawl / JinaMain-content filtering, scraping, and Reader conversion
Freshness, Region, and Domain PreferenceYou.comFreshness, locale, and boost_domains parameters
Self-Hosted MetasearchSearXNGUses your SearXNG endpoint; the adapter requires no API key
Agent Search & Clean SummariesKeenableNative site domain filtering, published_after / published_before date filtering, and concise snippets

Local Development

pnpm install          # Install dependencies
pnpm test             # Run test suite
pnpm run typecheck    # Type checking
pnpm run build        # Build bundle into lib/


Frequently Asked Questions

Self-Hosted SearXNG Configuration & Troubleshooting

When using Docker or self-hosted SearXNG, if you encounter no usable provider or HTTP 403 Forbidden errors, check the following:

  1. Enable JSON Output Format: SearXNG defaults to HTML-only output for privacy. Edit your SearXNG settings.yml and add - json under search.formats:
    search:
      formats:
        - html
        - json # Required for API queries
    
    Restart your SearXNG container (docker restart searxng) to apply changes.
  2. Keyless Setup: SearXNG is keyless by default — leave the API Key field empty in the settings card. Enter your instance URL in the Base URL field (e.g. http://127.0.0.1:8080) and click "Test Search" to verify connectivity.

Cache & Reinstallation

If cache issues occur after upgrading via local path or symlinks, reinstall from the profile directory:

cd ~/.dsh/profiles/web && pnpm install

Exa and Parallel balances are checked in their provider dashboards; Brave quota information comes from actual search response headers. Quota display is informational and does not affect routing or fallback.

Xiaohongshu and Twitter / X each use a dedicated local browser profile. The plugin does not export raw cookies to configuration, logs, or third-party relays; the browser sends them through normal authenticated requests to the corresponding platform domains.


License

MIT © A3Boy

Draft Testing & Routing Integration
  • Test search drafts directly before saving to verify latency and field mapping without contaminating runtime health or circuit breakers.
  • Custom providers seamlessly participate in fallback chains and routing policies (Ordered, Round-Robin, Random).
  • Tiered Outbound Security & SSRF Defense:
    • Default Safe Destinations: Public HTTPS targets and default self-hosted SearXNG (127.0.0.1:8080, localhost:8080) are pre-authorized with zero dialogs.
    • Explicit Operator Confirmation (409 Conflict): Private RFC 1918 networks, plain unencrypted HTTP, and custom domains resolving to private IPs (probed via resolvesToPrivateIp()) require explicit one-time confirmation before issuing outbound grants. Silent auto-authorization is strictly prohibited.
    • Shared Endpoint Lifecycle Cleanup: Managed authorizations (managedBy: "custom-source") are safely reused when multiple custom sources share an internal endpoint, and automatically revoked when the last source is deleted or reassigned. System defaults remain untouched.
    • Unconditional Cloud Metadata & Link-Local Hard Blocks: 169.254.0.0/16, fe80::/10 (fe80:: to febf::), IPv4-mapped variants (::ffff:a9fe:a9fe, etc.), and IMDSv6 are unconditionally blocked at the transport layer, even if explicitly authorized.
    • Proxy Egress & Pinned Connections: Public custom endpoints automatically route through undici.ProxyAgent when a Windows system proxy or HTTP_PROXY is configured; private and loopback targets strictly bypass the proxy and dial directly with IP pinning.
    • Configuration Plane Integrity: Privileged management routes verify genuine TCP socket remoteAddress to prevent Host header spoofing.
  • Best-effort
    SearXNGYes—Open-source self-hosted metasearch with categories and supported time_range values; the adapter requires no API keyInstance-defined
    KeenableYes—Web search API (X-API-Key); maps the first included domain to site and freshness dates to published_after / published_before; returns published_at. web_fetch uses the built-in generic fetcherDashboard only