鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

dsh-web-tools

统一的多供应商网络搜索与抓取:多 Key 轮询容灾、用量与健康监控、原生设置面板及搜索模式。

网页浏览
访问 GitHub
文档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 8 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, 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 8 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.
▼
text
复制代码
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 8 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.
  • Native Page Extraction (web_fetch): Transparently routes to provider-native scraping backends (Exa /contents, Tavily /extract, Firecrawl /scrape, Parallel /v1/extract, You.com /v1/contents, Jina Reader).

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


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: Requires at least one completed web_search or web_fetch call before an answer. A failed call still counts as an attempt, and the agent is instructed to disclose what could not be verified.
  • Proxy Support: Supports the Windows system proxy, HTTP_PROXY, HTTPS_PROXY, and NO_PROXY, with automatic loopback bypass.

Installation & Updates

▼
bash
复制代码
# 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 controlBest-effort
SearXNGYes—Open-source self-hosted metasearch with categories and supported time_range values; the adapter requires no API keyInstance-defined

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

Local Development

▼
bash
复制代码
pnpm install # Install dependencies pnpm test # Run test suite pnpm run typecheck # Type checking pnpm run build # Build bundle into lib/

Frequently Asked Questions

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

▼
bash
复制代码
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

网页浏览

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:A3Boy/dsh-web-tools

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
dsh 插件推荐
dsh-chrome-cdp
Chrome DevTools Protocol 插件 for DeepSeek Harness。通过 chromremote-interface 以 CDP 连接并操控 Chrome。连接带有图形界面。
dsh-webmcp
WebMCP 桥接器:让 agent 通过内置无头 Chromium,发现并调用网站按 W3C WebMCP 协议暴露的站点工具。
dsh-web-search-ollama
让 DSH 的 web_search 工具走 Ollama 联网搜索 API,复用 OLLAMA_API_KEY,无需 DeepSeek 官方 Key。
dsh-web-search-tavily
为原生 web_search 提供 Tavily 搜索后端,并在设置 → 插件中提供 API Key 管理与是否替换 DeepSeek 的开关。
dsh-search-hub
可配置的原生 web_search 后端:在 DeepSeek 官方原生搜索与智谱 GLM web_search 之间切换当前生效入口,并在设置页管理搜索入口与凭证引用。
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题