DeepSeek Harness (DSH) 采用插件化架构,旨在通过扩展满足多样化需求。在开发或测试环境中,有时需要通过代理访问 GitHub,但并不希望长期占用系统配置。wjt0321/dsh-git-proxy 提供了一个 Web UI 开关,允许用户按需配置 git 和 SSH 代理,并在下载完成后恢复直连。
核心功能¶
该插件主要解决 GitHub 访问的代理配置问题,具体能力包括:
- 一键开关代理:在 Web UI 中控制 git 和 SSH 代理的开启与关闭。
- 保存代理地址:输入并保存代理地址,按 profile 存储于本地。
- 下载前测试连通性:在下载前验证代理端口与 GitHub 隧道的连通性。
- 自动配置:
- 配置
git的 https 代理。 - 配置
ssh的ProxyCommand。
- 配置
- 地址校验与移除:校验代理地址格式,并在关闭时移除配置。
安装与启用¶
通过插件市场安装,或使用命令行:
dsh plugin --profile web add github:wjt0321/dsh-git-proxy
重启 Web UI 后,打开 设置 → Git 代理。
典型用法¶
- 输入代理地址:在界面中输入代理地址(如
127.0.0.1:10808)并点击保存。 - 开启代理:点击开启代理,插件会执行以下配置:
- Git (HTTPS):执行
git config --global http.https://github.com.proxy http://<地址>。 - SSH:在
~/.ssh/config的Host github.com块写入ProxyCommand(使用 Git for Windows 自带的connect工具)。
- Git (HTTPS):执行
- 验证连通性:点击测试连通性,验证代理端口与
github.com:443/github.com:22的隧道是否畅通。 - 执行下载:进行 git 拉取或克隆操作。
- 关闭代理:下载完成后点击关闭代理,两项配置立即被移除,恢复直连。
注意事项与限制¶
- 依赖环境:SSH 代理功能依赖 Git for Windows 自带的
connect工具,缺失时 SSH 部分将标记为不可用。 - 代理要求:不支持认证代理(用户名/密码)和 IPv6 代理地址。代理软件必须处于运行状态,否则开启代理会导致 git 操作失败。
- 作用范围:仅影响
github.com的 git 操作(HTTPS 和 SSH),npm/pnpm 包下载不受影响。 - 配置冲突:如果用户在
~/.ssh/config中已存在ProxyCommand行,插件会将其插入在其前,并优先读取插件行。若存在Match段或多主机github.com行,插件会提示并保留原状。 - 格式处理:编辑 ssh config 会把行尾统一为 LF。
生态背景¶
DSH 理念是「一切皆插件」,该插件由社区开发者维护,安装前建议检查源码与许可证。