wjt0321/dsh-git-proxy
Web UI 按需 GitHub 代理:一键开关 git/SSH 代理并测试连通性。
Bundle 已验证
MIT
TypeScript
未知
Bundle 已验证
已收录
0
Tools
Bundle 已验证
★ 0
在 GitHub 查看
预览
功能介绍
Web UI 按需 GitHub 代理:一键开关 git/SSH 代理并测试连通性。
适合
- 偶尔需要专门为 GitHub git 操作启用代理的 DSH Web 用户。
- 希望在下载 GitHub 内容前通过可见开关和连通性测试确认代理状态的工作流。
- 使用 Git for Windows,且同时需要 GitHub HTTPS 与 SSH 代理的 Windows 环境。
不适合
- 需要代理 npm、pnpm、非 GitHub 主机或普通浏览器流量的场景;插件仅作用于 github.com 的 git 操作。
- 需要认证代理或 IPv6 代理地址的环境;两者均明确不受支持。
- 缺少所需 connect 工具的系统上的 SSH 代理;HTTPS 仍可单独使用。
- 无法容忍代理服务未运行时 git 操作失败的工作流。
README
dsh-git-proxy
DeepSeek Harness 的按需 GitHub 代理插件。在 Web UI 设置里一键开关 github.com 的 git/SSH 代理、保存代理地址、下载前测试连通性。
安装
通过插件市场安装,或:
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(
git@github.com:):在~/.ssh/config的Host github.com块写入插件拥有的ProxyCommand(使用 Git for Windows 自带的connect工具)
- git(https):
- 用测试连通性验证代理端口与
github.com:443/github.com:22隧道。 - 下载完成后点击关闭代理——两项配置立即移除。
截图

开启状态——git 与 SSH 代理均已打开。

关闭状态——点击关闭代理后两项均关闭,恢复直连。
安全
- 只影响对
github.com的 git 操作(https 与 SSH)。npm/pnpm 包下载不受影响。 - 代理地址经过校验(host 字符 + 端口范围),按 profile 存储于
<profile>/git-proxy.json。 -
~/.ssh/config编辑非常保守:只会替换或移除插件拥有的ProxyCommand行(本插件写出的带引号 connect 格式);用户已有的ProxyCommand行会保留,插件行插入在其前(ssh_config 取第一个匹配值)。其余内容逐字保留;包含Match段或多主机github.com行的配置完全不动(界面会提示)。 - 变更路由只接受同源 POST。
已知限制
- SSH 代理依赖
connect工具(Git for Windows 自带)。缺失时 SSH 部分标记不可用,https 照常。 - 不支持认证代理(用户名/密码)。
- 不支持 IPv6 代理地址。
- 代理软件未运行时开启代理会导致 git 操作失败(测试按钮可提前预警)。
- 用户自写的、恰好匹配插件格式(引号路径 +
-H+%h %p)的ProxyCommand行会被当作插件行处理。 - 编辑 CRLF 的 ssh config 会把行尾统一为 LF。
开发
pnpm install
pnpm test # vitest 套件
pnpm typecheck
pnpm build # tsc host + tsdown client bundle(lib/client.js)
client bundle 是 __ModuleLoader__ factory(id dsh-git-proxy),经 exports["./client"] 子路径由 client-modules 服务。
许可
MIT
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:wjt0321/dsh-git-proxy。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。