dsh-proxy-config
One configurable outbound HTTP proxy for DeepSeek Harness, with a live reachability check and an automatic no-proxy fallback while the proxy does not answer. 适合需要为DSH配置网络代理,并要求在代理失效时自动切回直连的用户。
Other repositories with this package name
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:dthcle/dsh-proxy-configREADME
Read the full README ↗Configuration
Every field has a default, so the bare row already targets http://127.0.0.1:11811.
In the desktop client (recommended)
Settings → “HTTP proxy” — a settings page of its own, listed beside General, Models, and
Built-in plugins. The top line shows the live state (using the proxy / fallen back to direct /
disabled, whether the endpoint answers, the last error, the managed .env state) with a
Check now button, followed by four groups of inputs: the endpoint (scheme, host, port,
user name, password), routing (enable, bypass list, ALL_PROXY, fallback), probe and
fallback, and the Harness-home .env. Save writes the profile's patch layer and applies
it immediately — these fields are volatile, so neither a plugin reload nor a client restart is
needed. The password is redacted by the Host, so leaving it empty keeps the stored value.
The same form is on sidebar Plugins → dsh-proxy-config → the row proxy-config → Configure.
In the configuration file
Override what you need in the profile's patch layer, for example
~/.dsh/profiles/desktop/cordis.patch.yml:
- id: proxy-config
name: dsh-proxy-config
config:
enabled: true
host: 127.0.0.1
port: 11811
noProxy: localhost,127.0.0.1,::1
| Field | Default | Meaning |
|---|---|---|
enabled | true | Apply the proxy. Off removes the managed .env block and applies nothing. |
scheme | http | Endpoint scheme; http and https only. |
host / port | 127.0.0.1 / 11811 | The proxy endpoint. |
username / password | empty | For a proxy that requires authentication; password carries the secret role. |
noProxy | localhost,127.0.0.1,::1 | Bypass list; the harness always adds its loopback entries. |
includeAllProxy | true | Also publish ALL_PROXY/all_proxy, which non-Node tools read. |
fallbackToDirect | true | Connect directly while the proxy does not answer. |
probeUrl | empty | An http:// URL fetched through the proxy on every check, to verify forwarding; empty means a connect-only probe. |
probeTimeoutMs | 1500 | Deadline for one probe. |
checkIntervalMs | 30000 | Re-probe interval; 0 probes only at mount, on a config change, and on demand. |
unhealthyAfter / healthyAfter | 2 / 1 | Consecutive failures before falling back / successes before returning. |
manageEnvFile / envFile | true / $DSH_HOME/.env | Whether and where the managed .env block lives. |
All fields are volatile: an edit applies on the next evaluation without reloading the plugin.
In the configuration file
Override what you need in the profile's patch layer, for example
~/.dsh/profiles/desktop/cordis.patch.yml:
- id: proxy-config
name: dsh-proxy-config
config:
enabled: true
host: 127.0.0.1
port: 11811
noProxy: localhost,127.0.0.1,::1
| Field | Default | Meaning |
|---|---|---|
enabled | true | Apply the proxy. Off removes the managed .env block and applies nothing. |
scheme | http | Endpoint scheme; http and https only. |
host / port | 127.0.0.1 / 11811 | The proxy endpoint. |
username / password | empty | For a proxy that requires authentication; password carries the secret role. |
noProxy | localhost,127.0.0.1,::1 | Bypass list; the harness always adds its loopback entries. |
includeAllProxy | true | Also publish ALL_PROXY/all_proxy, which non-Node tools read. |
fallbackToDirect | true | Connect directly while the proxy does not answer. |
probeUrl | empty | An http:// URL fetched through the proxy on every check, to verify forwarding; empty means a connect-only probe. |
probeTimeoutMs | 1500 | Deadline for one probe. |
checkIntervalMs | 30000 | Re-probe interval; 0 probes only at mount, on a config change, and on demand. |
unhealthyAfter / healthyAfter | 2 / 1 | Consecutive failures before falling back / successes before returning. |
manageEnvFile / envFile | true / $DSH_HOME/.env | Whether and where the managed .env block lives. |
All fields are volatile: an edit applies on the next evaluation without reloading the plugin.