dsh-proxy-env
DeepSeek Harness(DSH)代理环境开关插件:Host 侧设置全局 dispatcher / 子进程代理环境,Web 设置页提供「代理环境」配置卡片。
兼容:dsh >= 0.1.2-rc.1(Web profile)
安装
dsh plugin --profile web add github:localSummer/dsh-proxy-env#main
本地开发(仓库检出):
dsh plugin --profile web add /path/to/dsh-proxy-env
安装后重启 dsh --profile web(或当前使用的 Web 进程)。
用 --dump-config 确认出现 # == dsh-proxy-env layer,且含 id: proxy-env 行。
卸载
dsh plugin --profile web remove dsh-proxy-env
然后重启 DSH。
功能
- 模式
all:模型 API、子进程、Git、npm 等流量走代理(写 HTTP(S)_PROXY / ALL_PROXY / NO_PROXY)。
include:仅代理指定主机清单内的 in-process fetch(子进程 env 不变)。
- 代理地址:
http:// 或 https://
- 豁免清单(all):与机器既有
no_proxy 合并,强制包含 localhost,127.0.0.1
- 安全:代理不可达时启动降级直连并告警;
on 在不可达时拒绝写入 enabled=true
配置命名空间:settings.yaml 的 proxy-env 段(设置页 / /proxy / proxy_env 共用)。
配置项
| 字段 | 类型 | 说明 |
|---|
enabled | boolean | 是否启用 |
url | string | 代理地址,默认 http://127.0.0.1:7890 |
mode | all | include | 代理模式 |
proxyHosts | string[] | include 模式下的主机清单 |
noProxy | string | all 模式豁免清单 |
也可在设置页「代理环境」中编辑。
命令与工具
/proxy
/proxy on [代理地址]
/proxy off
/proxy status
proxy_env
action: on | off | status
url / mode / proxyHosts / noProxy(可选)
包结构
dsh-proxy-env/
├── package.json # dsh.bundle + dsh.client
├── cordis.patch.yml # 插入 id: proxy-env
├── index.mjs # Host:settings / tools / commands / dispatcher
├── client.js # Web:settings.section 卡片(ModuleLoader 工厂)
├── LICENSE
└── README.md
开发说明
- Host:
export const inject = ['tools', 'commands', 'settings'];卸载时经 ctx.effect 还原 dispatcher 与环境变量。
- Client:
window.__ModuleLoader__.load({ id: "dsh-proxy-env", ... }),注入 slots + settingsScope。
- 运行时依赖:
schemastery、undici(已写入 dependencies)。
作者
localSummer · v0.1.0 · MIT