Mr-remon219/dsh-search-boost8

dsh-search-boost

Multi-engine fused web search, page fetch, real-time X (Twitter) search with credential-free fallback, deep research and parallel multi-agent research for DeepSeek Harness. Free-by-default engine chain (Antigravity CLI / Bing / DuckDuckGo / Exa MCP) with keyed Tavily/Brave/Exa failover.

包名
dsh-search-boost
版本
0.1.1
许可证
MIT
最近更新
2026年8月17日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Mr-remon219/dsh-search-boost

Configuration (API keys)

The published bundle contains no secrets. The bundle runs in the host process and loads keys from the following sources in order:

  1. ~/.dsh-search-boost-keys.json (recommended) or workspace ./.search-boost-keys.json:
{
  "tavily": "tvly-...",
  "exa": "...",
  "brave": "..."
}
  1. Environment variable fallback: TAVILY_API_KEY / EXA_API_KEY / BRAVE_API_KEY

Engines without a key are automatically dropped from the fan-out. Free engines need no configuration at all: Antigravity CLI (macOS/Linux — install once, sign in once in the browser), Bing, DuckDuckGo and Exa MCP (exa-free) work out of the box, and the keyless ones run in parallel so a single-engine failure never leaves you empty-handed. In the free layer only these keyless engines are dialed; the api layer adds the keyed Tavily / Brave / Exa when keys are present.

x_search credentials (optional)

x_search works with zero credentials — it routes to the multi-engine route (site-restricted to x.com) + oEmbed full-text, with structured user profiles via X's anonymous guest GraphQL. The official hosted path (the xAI x_search tool, real-time in-app search with advanced syntax) is an explicit opt-in:

CommandEffect
/x-loginImport your grok login (~/.grok/auth.json) into ~/.dsh-search-boost-xauth.json — the official path is then used (tokens auto-refresh via OIDC, best-effort sync back to grok's file). Requires a SuperGrok / X Premium+ tier
/x-login -k Same, but with an API key from console.x.ai (public api.x.ai endpoint)
/x-login statusShow the credential chain (env key → local copy → grok file present-but-not-imported)
/x-logoutDelete the local copy — official path disabled, x_search back to the credential-free chain. Never touches grok CLI's own login

~/.grok/auth.json is never auto-consumed: without an explicit /x-login (or XAI_API_KEY env), x_search uses only the credential-free chain. /x-login sets recordInput: false, so an API key passed on the command line never lands in the session log — the state file owns the payload. Routing: keyword/semantic → hosted x_search ∥ multi-engine in parallel, merged and deduped (with no credentials: multi-engine + oEmbed in ~2s); user → guest GraphQL structured profile + timeline → multi-engine profile links; thread → oEmbed single-post full text.