dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Proxy-egress fetch provider for DeepSeek Harness
为 DSH ctx.web 增加一个代理出网的 web_fetch provider(id http-proxy):
所有请求经一个显式配置的 HTTP(S) 代理(undici ProxyAgent)发出,由代理负责
域名解析与出网。用于本机代理采用 fake-ip/TUN DNS 的环境——内置本地 provider
在连接前校验「公网单播 IP」,而 fake-ip 会把所有域名解析为 198.18.0.0/15
保留段,导致任意网页都报 resolves to a non-public IP address。本插件不改
DSH 核心,纯注册表扩展。
npx --yes github:shaomingbo/dsh-web-fetch-proxy#v0.1.2
无参数等同 install,默认 profile 为 web;另提供幂等的 install、只读
status、uninstall 与 --profile <name>、--source link:<本地路径>、--help。
安装器要求 PATH 中存在 dsh 0.1.2-alpha.3 或 0.1.5-rc.1(仅接受这两个
精确版本,dsh --version 逐字核验,不兼容即失败并给出定位办法)与 pnpm,
所有依赖操作经官方 dsh plugin --profile <name> add ... --ignore-scripts 完成,
不手改 manifest、不回退;安装器不管理 DSH 进程生命周期——Bundle 集合变化后
手动重启对应 profile,Web 端强刷新现有 GUI。安装器兼容范围:上列两个精确 CLI
版本,各自经一次性 DSH_HOME 中的真实 launcher 走完官方 absent→install→
reinstall→status→uninstall→repeated-uninstall 闭环(见
test/installer.test.mjs);其他宿主版本未知,安装器会拒绝。
本地开发可用 --source link:<checkout>;link: 验收不能替代正式 tag 的
安装闭环。换装边界:本插件无 HMR 承诺,候选变更需重启并强刷新。
发布固定 tag 之前,可先用 lab 候选 tgz 经官方 CLI 安装(见 CHANGELOG)。
# 1) 插件条目(其 cordis.patch.yml 已 insert;这里补 config)
- id: web-fetch-proxy
config:
proxyUrl: http://127.0.0.1:7890
# 可选,与内置 provider 同默认值:
# maxResponseBytes: 5000000
# maxBodyChars: 100000
# timeoutMs: 30000
# maxRedirects: 5
# userAgent: deepseek-harness/0.0.1 (+https://github.com/deepseek-ai)
# 2) 把 web seam 的 fetch provider 指到本插件
# 注意:entry patch 的 config 是整项替换,必须保留原有字段。
- id: web
config:
searchProvider: deepseek-official
fetchProvider: http-proxy
proxyUrl 必填且在加载时校验(仅 http/https、不得内嵌凭据),配置缺失或非法
fail loud;不做隐藏 env 兜底。回退:删除上面两段 patch 即恢复内置 provider。
User-Agent 为显式产品标识,不伪装浏览器。Content-Length 超限直接拒绝)、100k 字符截断、30s 超时、5 跳重定向。普通 ProxyFetchError(带 code),词表与 ctx.web seam 一致:
WEB_INVALID_URL、WEB_BLOCKED_URL、WEB_REDIRECT_BLOCKED、
WEB_UNSUPPORTED_CONTENT_TYPE、WEB_FETCH_TOO_LARGE、WEB_FETCH_TIMEOUT、
WEB_ABORTED、WEB_PROVIDER_ERROR。工具端以 isError 结果呈现,不中断会话。
node --test test/(本地 fixture:URL 校验、限额、content-type、
charset、同源/跨源重定向、hop 上限、超时、插件注册与 agent 释放)。develop dsh-web-fetch-proxy smoke:proxy — 经
127.0.0.1:7890 抓取 registry.npmjs.org 与 example.com,并验证死代理
fail-closed。install test → dump test(组合含 fetchProvider: http-proxy)→ serve test 真实加载。ToolRuntime/WebRuntime、发布版 web_fetch、默认
http provider 与本插件并存,错选/漏配 fetchProvider 走默认 provider 的
真实网络边界(loopback 拒绝)与 seam 的歧义拒绝;安装器对 0.1.5-rc.1
launcher 跑同样的官方 CLI 闭环。dump-config/启动 smoke 与 GUI 验证过的宿主组合:CLI 0.1.2-alpha.3,
Web/Base 0.1.2-rc.1,Node 24.18.0。0.1.5-rc.1 上未做 dump-config/启动
smoke/GUI 验收,已验证范围限于安装器官方 CLI 闭环与工具入口 pipeline 测试;
其他宿主版本未验证,未知。