Bundle
dsh-git-proxy
On-demand GitHub proxy for DeepSeek Harness: one-click git/SSH proxy switch in the Web UI. · DSH 按需 GitHub 代理:设置区一键开关 git/SSH 代理。
- Source
- wjt0321
- stars
- 1 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
[中文](./README.md) · [English](./README.en.md) # 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 代理**。 ## 使用 1. 输入代理地址(如 `127.0.0.1:10808`)并点击**保存**。 2. 点击**开启代理**——它会配置: - 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` 工具) 3. 用**测试连通性**验证代理端口与 `github.com:443` / `github.com:22` 隧道。 4. 下载完成后点击**关闭代理**——两项配置立即移除。 ### 截图  *开启状态——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
Install
dsh plugin --profile web add github:wjt0321/dsh-git-proxy
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-git-proxy from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.