dsh-ghCLI:DeepSeek Harness 的 GitHub CLI 集成插件

前言

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」界面提供三大能力:

  1. gh 安装检测与自愈

    • 自动检测本机是否安装 gh 及版本号。
    • 一键安装、更新或指定 gh 安装路径。
    • Windows 网络代理自愈:解决 Windows 下 git 不读取系统代理导致的连接超时问题(踩坑解决方案)。
  2. 多账户认证管理

    • 支持 Token 登录(含企业版 GH_HOST 配置)。
    • 账户切换、登出及 Token 刷新。
    • 同步管理 Git 全局配置(user.name / user.email)。
  3. 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 按钮仅当仓库存在差异且本地领先时可用。

生态与链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜