dsh-webstack
WebStack (网栈): integrated web search + fetch kernel plugin for DeepSeek Harness
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zsagi1368/dsh-webstack说明文档
阅读完整 README ↗Configuration
Full key set lives in src/settings/schema.ts (DEFAULT_SETTINGS). Hot means "the next operation picks it up"; restart means "engine/process structure changes, reload the plugin".
| Key | Default | Hot? | Notes |
|---|---|---|---|
enabled | true | hot | master switch; off = provider reports unavailable, seam falls back |
search.layer | free | hot | native / free / api / selfhosted / mcp |
search.autoFallback | true | hot | false = first-choice engine only |
search.maxResults | 8 | hot | request-level maxResults wins when present |
search.fusion.enabled | true | hot | RRF fusion switch |
search.fusion.timeDecayHalfLifeH | 24 | hot | reserved (not yet consumed) |
search.fusion.authorityBoost | 1.0 | hot | reserved (not yet consumed) |
search.fusion.diversityDiscount | 0.85 | hot | reserved (not yet consumed) |
search.complexityRouting | true | hot | off = fixed medium-band width |
fetch.pipeline | t1 | hot | t1 / t1+t2 / t1+t2+t3 |
fetch.defaultMode | raw | hot | preferred extract mode (fallback chain may downgrade) |
fetch.maxContentChars | 12000 | hot | rendered budget; canonical derives ×4 capped at 8 MiB |
mode.sessionOnline | off | hot | session online mode vocabulary off/on/ask |
cache.enabled | true | hot | search-result cache |
cache.ttlSearchMin | 10 | hot | search domain TTL |
cache.ttlFetchMin | 60 | hot | fetch domain TTL (domain wiring pending) |
cache.persist | memory | hot | L0 memory only today; L1 via PersistenceAdapter |
safety.ssrfExempts | [] | hot | G2-only exemptions, host:port or IPv4 CIDR |
engines | {} | restart | per-engine enabled / apiKey / credentialRef |
mcpServers | [] | restart | MCP server list (engines pending) |
verticals.packEnabled | false | hot | vertical satellite packs (pending) |
advanced.hintsLocale | auto | hot | hints word-list language |
The install-time entry config accepts a flat subset mirroring the above: enabled, layer, autoFallback, maxResults, complexityRouting, fusionEnabled, maxContentChars, ssrfExempts, searxngBaseUrl (selfhosted SearXNG root URL; empty = engine not registered).