前言¶
在 DeepSeek Harness(DSH)里做智能体或自动化开发时,经常要连 GitHub:拉私有仓库、走 API、或确认本机 Git 推送是否可用。常见做法是单独装 GitHub CLI(gh)、在终端里 gh auth login,再在 DSH 外记当前用的是哪套凭据。DSH 社区把能力拆成插件;oliblue-evan/dsh-github-auth(包名 dsh-liao-github)把「准备 gh、网页登录、看账号与权限、切换/退出、SSH 与仓库只读检查」收进插件页和全局设置,优先复用本机已有 gh,且不另存完整令牌、不把完整令牌交给界面。
这是什么¶
维护者 oliblue-evan,分类 admin-security。插件在 DSH 插件页面与设置页面中管理 github.com 上的本机 GitHub CLI 授权:查看当前账号、验证结果、scope、凭据来源与 Git 协议;用 gh 官方网页流程添加或重新授权;切换当前账号、本机退出指定账号;只读检查 SSH 身份与指定仓库的 API 写入权限;打开 GitHub 应用授权与 SSH 密钥管理页。第一版不管理 GitHub Enterprise 主机。
宿主需 Node 18+;客户端无额外运行时 npm 依赖。当前资料中 package 版本为 0.3.1,许可证 MIT。
核心功能¶
账号与授权¶
- 概览卡展示本地字母头像、授权状态、凭据来源、Git 协议与可读权限标签;原始 scope 保留在提示中。
- 使用 gh 官方网页登录:显示一次性代码、授权入口与等待状态,支持取消等待;登录等待最多 15 分钟。
- 切换当前账号、退出指定本机账号前需确认影响范围;本机退出仅移除 gh 登录配置与该账号本机存储凭据,远端令牌与 SSH 需在 GitHub 官方页单独管理。
- 若环境变量
GH_TOKEN/GITHUB_TOKEN优先控制授权,本机账号变更相关功能会禁用,需在原启动环境管理变量。
工具准备(0.3.x)¶
缺少 gh 时可「一键准备工具」:按 OS/架构下载 GitHub CLI 官方稳定版,校验官方 SHA-256 清单后解压并检查版本;安装到 ~/.local/bin/gh(Windows 为 gh.exe),不装包管理器、不需管理员权限、不修改 PATH、不覆盖已有文件。可取消、重试;已手动安装后点「我已安装,重新检测」,无需重启 DSH。支持 macOS、Linux、Windows 的 x64 / ARM64 官方便携包。
SSH 与仓库¶
- 单独检查 SSH 身份;只读检查指定仓库的 API 写入权限,并说明分支保护与 SSH 仍可能影响 Git 推送。
- SSH 检查不接受新的主机密钥,需事先配置并核对 GitHub 主机指纹;SSH 身份可能与当前 gh 账号不一致。
安全与边界(摘要)¶
- 登录授权由 gh 处理,通常请求
repo/read:org/gist;插件不接收密码、不额外设置 scope、不上传或生成 SSH 密钥、不改写 Git 协议或 git credential helper。 - 本机网页 API 限制来源;修改操作须 POST JSON、携带页面 nonce 并明确确认;不用 shell 拼接参数。
- 插件以当前 DSH 进程权限运行;安装前宜自行查看 GitHub 仓库 源码与许可证。社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系。
安装与启用¶
将插件加入 DSH profile(资料原文命令如下,勿凭目录名自行拼接):
dsh plugin --profile desktop add github:oliblue-evan/dsh-liao-github
完成后在 DSH 中打开 插件 → GitHub 授权,或 设置 → GitHub 授权,两处为同一界面。
典型用法¶
- 首次使用:若缺少工具,点「一键准备工具」,完成后点「连接 GitHub 账号」;已有
gh则跳过准备;本机已有 gh 账号则直接进入概览。 - 网页登录:阅读权限说明后开始网页登录,在终端/界面输入一次性代码,在 GitHub 页面确认账号与权限;完成后界面自动显示账号。
- 手动安装 gh:展开备用说明,按 GitHub CLI 官方文档 安装,再点「我已安装,重新检测」。Windows 等若终端 PATH 未含用户工具目录,其他程序可能需用完整路径调用
gh;插件自身能定位已安装的 gh。 - 日常维护:顶部刷新与添加账号;SSH 与仓库检查分别看状态与错误,可重试;远端撤销授权、SSH 密钥入口与 CLI 诊断在「高级选项」中,彻底撤销 GitHub CLI 应用授权可能影响其他设备,最终在官方页面确认。
适用场景与注意¶
适合:已在 DSH desktop profile 下开发、希望在本机统一管理 gh 多账号与授权状态、并快速做 SSH / 仓库 API 权限自检的开发者。
注意:
- 仅管理 github.com;Enterprise 不在此页列出。
- 本机退出、切换对共用同一 gh 配置的其他工具同样生效;插件不是独立授权副本。
- 披露的网络访问包括
github.com、api.github.com、GitHub 发布资源域名及ssh://git@github.com:22等;需联网,非离线模式。 - 账号状态有约 5 秒缓存,手动刷新可绕过;普通页面不定时轮询,仅在登录等待或准备工具期间短时轮询。
结尾¶
dsh-github-auth 把 GitHub CLI 的安装引导、网页登录与本机账号视图放进 DSH,凭据仍由 gh 保管,界面侧重可读的状态与受控的本机操作。目录页:SkillHub - oliblue-evan/dsh-github-auth;源码与 README:github.com/oliblue-evan/dsh-github-auth。