前言¶
DeepSeek Harness (DSH) 采用插件化架构,扩展其功能通常需要编写自定义脚本。对于需要频繁操作 GitHub 仓库的开发者,直接在 DSH 环境中集成 GitHub CLI (gh) 是提高效率的常见需求。dsh-ghCLI 是一款为此设计的插件,它将 gh 和 git 的核心操作能力封装在 DSH 的设置界面中,无需离开当前环境即可完成从安装、认证到仓库管理的全流程。
插件定位¶
dsh-ghCLI 是面向 DeepSeek Harness(DSH)的 gh CLI 集成插件。
* 维护者:sweven-tears
* 许可证:MIT
* 核心价值:在 DSH 内部提供统一的 GitHub CLI 管理入口,解决环境配置、多账户切换及网络代理等痛点。
核心功能¶
该插件通过 DSH 的「设置 → GitHub CLI」界面提供三大能力:
-
gh 安装检测与自愈
- 自动检测本机是否安装
gh及版本号。 - 一键安装、更新或指定
gh安装路径。 - Windows 网络代理自愈:解决 Windows 下
git不读取系统代理导致的连接超时问题(踩坑解决方案)。
- 自动检测本机是否安装
-
多账户认证管理
- 支持 Token 登录(含企业版 GH_HOST 配置)。
- 账户切换、登出及 Token 刷新。
- 同步管理 Git 全局配置(
user.name/user.email)。
-
Git 仓库高频操作
- 克隆仓库(支持浅克隆,非空目录需确认)。
- Push / Pull / 创建 Pull Request / 打开远程页面。
- Fork 仓库、创建新仓库及远程仓库 Star 管理。
安装与启用¶
插件以 npm 包形式发布,通过 dsh plugin 命令安装。
安装命令¶
在终端中执行以下命令将插件安装到 web profile:
dsh plugin --profile web add @sweven-tears/dsh-ghcli -w
安装说明:
* -w 参数必须:web profile 目录是 pnpm workspace root,不加会报错。
* 认证步骤:若通过 GitHub Packages 安装,需先执行 npm login --registry=https://npm.pkg.github.com/ --scope=@sweven-tears。
* 验证:安装完成后重启 DSH,刷新页面进入「设置 → GitHub CLI」即可看到插件界面。
典型用法¶
插件启动后,需确保本机已安装 gh CLI 并完成认证。
1. 安装 gh CLI(如未安装)¶
插件设置页提供引导,也可手动安装:
* Windows(推荐 winget):
winget install --id GitHub.cli -e --source winget
- macOS:
brew install gh
- Linux:
sudo apt install gh
2. 认证登录¶
在设置页「🔐 账户与 Git」标签页,粘贴 Personal Access Token(需 repo、read:org 权限)或执行命令行登录:
gh auth login --with-token
可选执行 gh auth setup-git 让 git 复用 gh 凭证。
3. 执行仓库操作¶
在「📁 仓库管理」标签页,可直接点击按钮进行克隆、创建 PR 或 Fork,无需手动编写 git/gh 命令。
技术实现与注意事项¶
架构说明¶
该插件为标准 DSH 插件包(npm 形态),包含两个半区:
* Host 半区:运行在 DSH 宿主进程,负责底层命令执行(gh / git),使用绝对路径执行以保证兼容性。
* Client 半区:加载进 Web GUI,注册设置页插槽。
关键特性¶
- 绝对路径执行:所有
gh和git命令均解析为绝对路径执行,避免因 PATH 环境变量未刷新导致的执行失败。 - 长命令控制:克隆、安装等长命令(默认 5 分钟超时)支持随时取消。
- 安全性:克隆非空目录前会强制确认;Token 仅通过本地
gh auth login --with-token写入,不上传。
注意事项¶
- 认证 Token 仅经本机写入,不上传。
gh repo create --source <目录> --push会推送当前目录内容,使用前请确认。- Create PR 按钮仅当仓库存在差异且本地领先时可用。