dshbase

插件目录 / Developer / dsh-github-login

dsh-github-login

未验证 Noob-stupid

✓ 持续维护

查看 GitHub ↗ ← 返回插件目录

6Stars
0Forks
2未关闭 issue
HTML语言
2026-08-16最近推送
跨平台平台

功能简介

DeepSeek Harness 生态的 GitHub 可视化登录工具(零终端):设备码流程,令牌同步 gh CLI | Visual GitHub login for the DSH ecosystem - no terminal needed

我们的评价
未验证 — 尚未实测

DeepSeek Harness 生态的 GitHub 可视化登录工具(零终端):设备码流程,令牌同步 gh CLI | Visual GitHub login for the DSH ecosystem - no terminal needed 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

576e3125-a190-4608-a42b-60010b6df02d 601b77fd-517d-4be4-b2c8-b25a13c3e852 7efef08e-0326-47d3-bfa1-f55427fa6cb4

DSH GitHub Login —— 独立的 GitHub 可视化登录插件


Awesome DSH Plugin

一个零终端的 GitHub 登录小工具:打开窗口 → 生成设备码 → 授权 → 完成。
设备码流程在窗口内(Chromium 网络栈)执行,与你的浏览器共用同一网络通道——
浏览器能打开 GitHub,这里就能完成登录,不受终端/代理配置差异影响。

安装(DSH 插件模式)

一条命令装进 DSH,并自动启用宿主端插件(提供登录状态接口 + 一键唤起登录窗口):

dsh plugin --profile web add github:Noob-stupid/dsh-github-login

宿主端环回接口:

  • GET /github-auth/status{ok, loggedIn, login}(只含账号名,绝不下发令牌)
  • POST /github-auth/open → 唤起登录工具窗口(本机存在 exe 时直接启动)

独立工具用法(不带 DSH 也行):

功能

  • 窗口内授权:授权页直接内嵌在窗口里(<webview>),带 前进 / 后退 / 刷新 按钮,
    也可以一键改用外部浏览器打开;
  • 登录成功后令牌保存在 ~/.dsh/github-auth.json
  • 同时同步进 gh CLI 的 ~/.config/gh/hosts.ymlgh 命令行立即可用(keyring 存在时 gh 以 keyring 优先);
  • 托盘常驻:随时查看账号状态 / 一键退出登录;
  • 复用 GitHub CLI 的公开 OAuth client_id(178c6fc778ccc68e1d6a),权限范围
    repo workflow gist read:org

用法

npm install        # 安装 electron(已配置国内镜像)
npm start          # 直接运行
npm run dist       # 打包为便携版单文件 exe(dist/DSH-GitHub-Login.exe)

与 dsh-plugin-hub 配套

dsh-plugin-hub(插件管理面板)会读取
本工具写入的同一份令牌文件:登录后面板的 GitHub 市场显示"已登录 GitHub:<账号>",
且服务端回退通道自动带认证(搜索配额 10 → 30 次/分钟)。

集成到其他应用(如桌面客户端)

把它当作一个独立进程调用即可:登录状态通过同一份文件(~/.dsh/github-auth.json
共享,任何 DSH 生态工具都能读取:

spawn('<path>/DSH-GitHub-Login.exe', [], { windowsHide: false })

之后用 gh auth status 或直接读取 ~/.dsh/github-auth.json 验证登录状态。

原理

GitHub Device Flow:

  1. POST https://github.com/login/device/codeuser_code + device_code
  2. 在窗口内嵌浏览器(或外部浏览器)打开 https://github.com/login/device,输入 user_code 授权
  3. 按 GitHub 给出的 interval 轮询 POST https://github.com/login/oauth/access_token
  4. 拿到 access_token → 主进程落盘 + 写入 gh 配置

轮询严格遵循服务器间隔;网络抖动不中断(验证码 15 分钟有效期);授权成功
即完成,用户名查询是尽力而为的补充。

与桌面端的关系

本仓库只包含登录插件本身,不包含任何桌面客户端代码。桌面客户端可在本地
集成它(见上);两者通过令牌文件共享登录状态。

帮助 / Help

遇到问题先看这里;仍有疑问请到 议题 提问。

  • 一直"等待授权":轮询与浏览器共用同一网络通道,浏览器能打开 GitHub 就一定能完成;
    提示行会显示轮询次数,卡住时把提示文字发到 Issue。
  • 显示 unknown:授权已成功、令牌已保存,只是用户名查询失败;重启程序后状态页会重试。
  • gh 仍显示未登录:本工具写入 ~/.config/gh/hosts.yml;若系统 keyring 里有旧凭证,
    gh 会优先用 keyring——先 gh auth logout 清掉旧凭证即可。
  • 浏览器打开 GitHub 显示未登录:gh/DSH 令牌登录与浏览器网页登录是两套独立会话——
    本工具认证的是 gh 命令行层(令牌写进 github-auth.jsonhosts.yml),并不会登录你的浏览器;
    浏览器需单独登录一次 github.com(或在授权时选"改用外部浏览器打开",完成授权会顺带登录该浏览器)。
  • 如何退出登录:托盘菜单 GitHub: <账号> (click to log out),或窗口中点"退出登录"。

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-github-login」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:Noob-stupid/dsh-github-login

Headless(CLI)profile:

dsh plugin --profile headless add github:Noob-stupid/dsh-github-login

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending
备注:验证: runtime-fail (0.1.0-rc.6) 浏览全部待验证失败 →

使用场景

扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。

适合谁

想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。

二次开发建议

工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7795 个插件 →