Introduction¶
DeepSeek Harness places web access on provider seams like ctx.web: models continue to use web_search / web_fetch, while the underlying backend can be replaced. dsh-crw connects these two tools to fastCRW, providing search and scraping providers based on fastCRW, and moves address resolution, validation, and rejection of private network segments to the fastCRW server side for scraping target processing. Below is an introduction to its positioning, installation, and configuration methods.
What is this¶
dsh-crw is a DSH plugin with repository path us/dsh-crw, package.json version 0.1.0, and license MIT. It registers a crw provider in DSH’s ctx.web, providing web_search and web_fetch providers based on fastCRW. fastCRW itself is AGPL-3.0.
Core Features¶
- Register
crwprovider in DSH’sctx.web - Provide
web_searchprovider based on fastCRW - Provide
web_fetchprovider based on fastCRW - Scraping targets are resolved, validated, and private network segments are rejected by the fastCRW server side
- Upgrade from plain HTTP to browser layer as needed by the page
- Search results are mapped to
url,title,snippet; results withouturlare discarded - Scraping returns
markdown - Optional
answerconfiguration to let fastCRW synthesize answers based on results
Installation and Usage¶
Using Cloud fastCRW¶
First set the fastCRW API key, then install dsh-crw, and finally start the default profile.
export CRW_API_KEY=...
dsh plugin --profile default add dsh-crw
dsh --profile default
When using the cloud endpoint, apiKey is required. The fastCRW free tier is 500 credits one-time, consuming 1 credit per page.
Using Self-hosted fastCRW¶
If fastCRW is running locally, start the service first, then point the plugin’s baseURL to the local address.
crw serve
Configuration example:
baseURL: http://127.0.0.1:3002
When self-hosted, apiKey can be empty.
Installing from Repository¶
When installing from the repository, you need to pin the commit and allow builds according to environment requirements.
dsh plugin --profile default add github:us/dsh-crw#<sha>
After installation, you can check the configuration of the default profile.
dsh --profile default --dump-config
Configuration and Usage¶
Search¶
Search results from web_search are mapped to url, title, and snippet. If a result lacks a url, it will be discarded.
If you want search to continue using deepseek-official while fetching uses crw, you can configure it like this:
searchProvider: deepseek-official
fetchProvider: crw
Fetching¶
The result of web_fetch returns markdown. The default value of maxBodyChars is 100000.
For 404 targets, fastCRW may report success:false but still return the retrieved content.
Answer¶
answer allows fastCRW to synthesize an answer based on results. When enabled, it adds one LLM call per search.
Notes¶
- The plugin runs with the current
dshprocess permissions; you should check the source code and license before installing. - dsh-crw license is
MIT; fastCRW isAGPL-3.0. - When using the cloud endpoint, a valid
CRW_API_KEYis required; when self-hosted,apiKeycan be empty. - When
answeris enabled, an additional LLM call is added. - When installing from the repository, you need to pin the commit and allow builds.
Links¶
- Plugin directory: https://www.skillhub.cn/plugins/us/dsh-crw
- GitHub: https://github.com/us/dsh-crw