Repository navigation
Web profile: dsh-tool-web (web_fetch) disabled by default -> agents fall back to bash+curl with default UA and get blocked by WAF/CDN #323
Closed
maxwell-feng
started this conversation in
General
Replies: 1 comment
|
这个场景可以先用现成 Pi Web 工具把“没有 dsh plugin --profile web add pi2dsh@0.11.0
dsh plugin --profile web add @juicesharp/rpiv-web-tools装完重启后会向 DSH 注册 export WEB_SEARCH_PROVIDER=searxng
export SEARXNG_URL=https://your-searxng.example.com这条路径已经做过真实运行验证: 它不能保证绕过所有站点的 WAF,但能直接补上原帖缺失的正式 fetch/search 工具,并避免因为工具不存在而自动滑向默认 UA 的裸 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Web profile:
dsh-tool-web(web_fetch) is disabled by default → agents fall back tobash+curlwith a fingerprintable default UA and get blocked by WAF/CDNIn a real session on the
webprofile, asking the agent to fetch a web page produced this chain:web_search(deepseek-official provider) fails —DEEPSEEK_API_KEYis not set. Configuring API keys on the user side is understood to be the design; the problem is what happens after that failure.web_fetchis not in the agent's tool list at all — even though the tool exists in the codebase.bashtool and runscurl https://...directly → defaultcurl/x.xUser-Agent, no browser fingerprint → the request is blocked by WAF (reproduced on Baidu's search page) → the agent then improvised UA spoofing with-A "Mozilla/5.0 ... Chrome/125..."(fragile), and repeated blocked requests risk IP bans.The effective web-profile config shows why:
Requests:
web_fetchby default in the web profile. Plain HTTP fetch does not need an API key — it runs through the localctx.webfetch provider. If it is intentionally off by default, please document the override in the README; right now the only way to find it is dumping the config:bash+curlwith default headers.Happy to provide the config/UX details if useful.
All reactions