DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Network Settings — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@dsh-plugin/dsh-network-settings

Network Settings

DSH (DeepSeek Harness) 网络插件,集成 User-Agent 重写、HTTP/CONNECT/SOCKS5 代理,以及针对每个传出 global-fetch 请求的可配置自动重试功能,所有设置均在单独的“网络设置”选项卡中完成。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:dsh-plugins/dsh-network-settings#8f0c8db2cfe8213dcffdc94e5aec30514ad25190
README兼容性版本

兼容性与来源证明

Network Settings 以 @dsh-plugin/dsh-network-settings 发布,当前版本为 1.1.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/21

版本

1.1.2stable
2026/9/3
1.1.1stable
2026/8/29
1.1.0stable
2026/8/24
查看其余 7 个版本收起版本
1.1.2-dev.33723606345dev
2026/9/3
1.1.1-dev.33219013076dev
2026/8/28
1.1.1-dev.32934571287dev
2026/8/26
1.0.1stable
2026/8/21
1.0.1-dev.32513468026dev
2026/8/21
0.1.0-dev.32510082692dev
2026/8/21
0.1.0stable
2026/8/21
最新版
1.1.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
146
最近提交
2026/9/3
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

@dsh-plugin/dsh-network-settings

A DeepSeek Harness plugin that bundles three network capabilities — User-Agent rewriting (from @dsh-plugin/dsh-user-agent), a HTTP / HTTPS-CONNECT / SOCKS5 proxy (from dsh-net-proxy), and configurable request auto-retry — all driven from a single 网络设置 (Network) tab in the Web settings.

Features

  • User-Agent rewriting — force a custom User-Agent on every outgoing request that uses global fetch (LLM API calls from dsh-llm-deepseek, web search, HTTP tools, …), overriding the caller's own header. Toggle on/off, edit the string, applies to the very next request.
  • Network proxy — route the agent's network requests through an HTTP (CONNECT tunnel) or SOCKS5 proxy, with optional username/password, NO_PROXY direct-connection list (host / suffix / host:port / IPv4 CIDR / * / <local>), and a request timeout. A 测试连接 (Test connection) button runs a real connectivity + latency probe (proxy TCP handshake, total round-trip, target HTTP status) from the settings page.
  • Request auto-retry — configure the maximum request retry count (0 = off): when an outbound request fails with a network-layer error (undici connect/timeout/reset codes) or a retryable status (429, 500, 502, 503, 504), it is retried automatically with bounded exponential backoff (500 ms base, 10 s cap) + 10% jitter. Aborts (user cancellation) and non-replayable streaming bodies are never retried; the request body is replayed only when it is replayable (string / URLSearchParams / ArrayBuffer / Blob / FormData).
  • One settings tab, three independent sections — the UA, proxy, and retry sections each have their own 保存 (Save) button; changes are applied live on the next request without a restart. All values live in the standard dsh-network-settings user-settings namespace.
  • Clean lifecycle — globalThis.fetch is wrapped only while the plugin runs; the original fetch is captured once and restored on stop / update / removal.
  • Same-origin probe route — /_dsh/dsh-network-settings/probe performs the proxy connectivity test (read-only, never writes config).

Install

The package is a dsh bundle plugin (dsh.bundle.patch), installable with the standard dsh plugin add command:

dsh plugin add @dsh-plugin/dsh-network-settings
# or, with a specific profile
dsh plugin --profile web add @dsh-plugin/dsh-network-settings

Then open Settings → 网络设置 in the Web GUI: edit any of the three sections and hit its 保存 button.

Replacing the old plugins

This plugin supersedes both @dsh-plugin/dsh-user-agent and dsh-net-proxy (it implements their full functionality). Remove them from the profile once installed:

dsh plugin remove @dsh-plugin/dsh-user-agent
dsh plugin remove net-proxy

Existing data is migrated automatically: if the old ~/.dsh/net-proxy.json (or $DSH_HOME/net-proxy.json) exists, its proxy fields are merged into the plugin's base layer on startup (values you save in the 网络设置 tab always win).

Configuration

Plugin entry (cordis.patch.yml / profile override) — the values act as the composition base layer and are merged with the user-settings section:

FieldTypeDefaultMeaning
uaEnabledbooleantrueUA rewriting master switch; when off the caller's User-Agent passes through.
userAgentstringDeepSeek-Harness/0.1 (+https://github.com/deepseek-ai/dsh)The User-Agent applied to every rewritten request.
proxyEnabledbooleanfalseProxy master switch; when off requests go direct.
proxyProtocolstringhttpProxy protocol: http (CONNECT tunnel) or socks5.
proxyHoststring127.0.0.1Proxy address.
proxyPortnumber7890Proxy port.
proxyUsernamestring''Optional proxy username.
proxyPasswordstring''Optional proxy password.
proxyNoProxystring[]['127.0.0.1','localhost','::1']Direct-connection host list; matched requests bypass the proxy.
proxyTimeoutMsnumber60000Proxy request timeout in ms.
retryEnabledbooleantrueAuto-retry master switch.
maxRetriesnumber2Maximum request retry count (0 = no retries).

How it works

  • The host half installs the dsh-network-settings settings namespace (installSettingsSection) and wraps globalThis.fetch once with a three-layer stack, read per request: retry → User-Agent rewrite → proxy → original fetch. Each attempt of a retried request re-reads the latest resolved config, so saved changes apply to the very next request.
  • The proxy engine is the ported dsh-net-proxy implementation (HTTP absolute-URL forwarding, HTTPS via CONNECT, SOCKS5 negotiation with RFC 1929 auth, streaming response bodies with gzip / br / deflate decoding, HTTP/2 via ALPN, redirect following, NO_PROXY matching).
  • The browser half registers the settings.section tab and reads/writes the namespace through the connection's ApiProxy (api.settings.describe / update), the same seam the aux/mainline DSH plugins use; the proxy connectivity test goes through the same-origin probe route.

Development

npm install          # dev deps + auto-installed peers
npm run build        # tsc (host + client) + strip client module-ification artifact
npm test             # node --test (TypeScript tests run natively on Node ≥ 23.6)
npm pack --dry-run   # inspect published contents

All source — host, proxy engine, settings UI, and tests — is TypeScript.

License

MIT