vcxmug/dsh-enhance--packages-dsh-native-web ↗★ 1
@vcxmug/dsh-native-web
Native (no-MCP, no-cloud) web search and page scrape tools for DeepSeek Harness agents — direct HTTP to your local Firecrawl-compatible instance. Fills the gap of cloud-search token cost and MCP bridge overhead.
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗@vcxmug/dsh-native-web
Native (no-MCP, no-cloud) web tools for DeepSeek Harness agents.
The built-in web search depends on a cloud provider (extra token cost), and
MCP bridges add protocol hops and session turns. This package instead talks
directly over HTTP to your local Firecrawl-compatible web instance — one
fetch per call, no bridge, no cloud dependency.
| Tool | Purpose |
|---|---|
native_search | real-time web search (query, limit, lang/country) |
native_scrape | one URL → clean markdown or raw HTML |
Requirements
- Node 18+ (global
fetch). - A reachable web instance — typically self-hosted Firecrawl (docker compose, see the firecrawl repo). Any Firecrawl-compatible instance works, local or remote.
Install (local, no npm publishing)
npm pack ./packages/dsh-native-web
npm install -g ./vcxmug-dsh-native-web-0.1.0.tgz
Add a pure mount-point row to your agent preset
($DSH_HOME/.agent-presets//agent.cordis.yml, or edit the preset in the
Web UI: Settings → Agent presets):
- id: native-web
name: '@vcxmug/dsh-native-web'
Configure in the Web UI: Settings → Plugins → dsh-native-web (baseUrl — empty auto-probes 3002 —, apiKey, apiVersion, timeouts). Changes apply on the next tool call — no session restart.
Start a NEW session with that preset. The model sees native_search and
native_scrape and prefers them for fresh, local, token-cheap web access.
Why native instead of MCP?
- MCP: session → DSH MCP client →
firecrawl-mcpprocess → instance API. - Native: session → instance API (one direct call).
No intermediate process, no protocol bridge, no extra tool-lifecycle turns — and no cloud search provider, so fresh results stay on your own instance.
Known limitations
native_scrapehealth depends on the instance's playwright service; a misbuilt playwright service can return empty markdown while search still works (see in the repo root).