前言¶
DeepSeek Harness(DSH)把能力拆成可安装的插件与 bundle,日常仍要自己去 GitHub 或 npm 找 dsh-plugin、核对 package.json 是否可装,再用 dsh plugin add 或设置里的插件页装到当前 profile。步骤分散,私有源和本地加速器还容易在 TLS 或 git/pnpm 上踩坑。
下面介绍维护者 GuaPiaaaaa 发布的客户端插件 dsh-github-hub(仓库 GuaPiaaaaa/DSHplugin)。它在 DSH 桌面端提供原生面板(宿主侧 + 浏览器侧),用与 Settings → Plugins、dsh plugin add 相同的路径,完成发现、预检和安装。
这是什么¶
dsh-github-hub 是面向当前 DSH profile 的 GitHub 插件中心:登录 GitHub、保留登录记录,搜索 GitHub / npm 上的 deepseek-harness(dsh-plugin)包,并一键安装。package.json 中声明了 dsh.bundle.patch 与 dsh.client(platform: web),属于带 Web 客户端的 bundle 插件。许可证为 MIT。
社区目录页:SkillHub — GuaPiaaaaa/DSHplugin(独立站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
发现(Discover)¶
- 在 GitHub 上按 topic、名称/描述/README 等条件搜仓库;在 npm 上按
keywords:dsh-plugin搜包。 - Inspect:读取仓库
package.json,判断是否真是可安装的 DSH 插件(是否声明dsh.bundle.patch、是否包含dsh.client半部)。 - Install:用当前 profile 自带的 pnpm 路径安装,带实时日志、可取消;若 pnpm 拦截生命周期脚本,面板提供「允许被拦截的构建脚本并重试」。
已安装(Installed)¶
展示当前 profile 的 bundle 与插件行,支持启用 / 禁用 / 移除,并显示加载错误与只读原因。
账号(Account)¶
- Personal Access Token(推荐):在 GitHub Token 设置 创建,建议 scope 含
read:user;访问私有仓库需加repo。令牌存入 DSH 凭据服务(记录名dsh-github-hub/github,类型grant),不会下发到页面;界面仅显示登录态、头像、scope 与令牌末四位。 - OAuth Device Flow:自备 OAuth App 的
client_id(无需 client secret),在面板发起流程后到 https://github.com/login/device 输入一次性码。
登录 / 登出历史会持久化,可清空。
诊断(Diagnostics)¶
输出 GitHub API、npm、DNS、hosts 文件、git 与 pnpm 的连通性报告,以及当前请求使用的 TLS 信任阶梯。
宿主只读接口(排障)¶
均在 ctx.webServer 的 /dsh-github/* 下,需浏览器会话 cookie;受 loopback(或显式信任的 Host)、禁止跨站、写请求仅本机等约束。
| 端点 | 作用 |
|---|---|
GET /dsh-github/state |
账号、设置、登录历史、信任阶梯、客户端 bundle 图状态 |
GET /dsh-github/health |
连通性检查与说明 |
GET /dsh-github/client |
客户端图 rev 与真实 URL,对比磁盘文件计算的 rev(不一致表示改动尚未加载) |
GET /dsh-github/search?source=github\|npm&q=… |
搜索 |
POST /dsh-github/repo/package |
读仓库 package.json 并判定 |
POST /dsh-github/inspect |
经真实插件管理器预检 spec(含 GitHub 连接检查,不安装) |
安装与启用¶
在目标 profile 执行官方安装命令(以 README 为准):
dsh plugin --profile desktop add dsh-github-hub
本地开发可链接目录:
dsh plugin --profile desktop add link:/absolute/path/to/dsh-github-hub
安装后必须重启桌面应用(仅刷新页面不够):DSH 在宿主启动时收集一次启动注入表,新插件的 client bundle 要到下次启动才进入 manifest;Web profile 同理需重启 dsh web 进程。重启后左侧栏会出现 git 分支图标,点击在中央区域打开面板。
典型用法¶
- 安装并重启桌面端,打开侧栏 git 分支图标进入面板。
- 在 Account 用 PAT 或 Device Flow 登录 GitHub。
- 在 Discover 选择 GitHub 或 npm 源搜索,对候选仓库执行 Inspect,确认
package.json判定通过后再 Install。 - 安装过程在面板查看 pnpm 日志;若被生命周期脚本策略拦住,按提示允许并重试。
- 在 Installed 管理已装 bundle / 插件的启用与移除。
- 网络异常时打开 Diagnostics,或访问
GET /dsh-github/health对照 GitHub、npm、git、pnpm与 TLS 阶梯说明。
从 GitHub 安装走 pnpm 的 github:owner/repo(git)传输,git 须在 PATH 上;插件管理器会在启动 pnpm 前做有界连接检查。
数据与本地代理¶
| 项 | 位置 |
|---|---|
| GitHub token | DSH 凭据服务(dsh-github-hub/github) |
| 设置与登录历史(不含 token,最多 200 条) | $DSH_HOME/.dsh-github-hub.json |
| 安装日志 | $DSH_PROFILE_DIR/.plugin-manager/logs/operation-*/pnpm.log |
若使用 Watt Toolkit / Steam++ 等把 github.com、api.github.com、raw.githubusercontent.com 指到本机反向代理,Node 可能不信任其 CA。插件会按阶梯尝试:默认信任链 → 默认根 + 系统根存储(类似 node --use-system-ca)→ 在对端确实解析到 loopback 且开启设置时信任本地拦截器(界面会标明 tls: local-interceptor)。
适用场景与注意¶
适合经常在 GitHub / npm 上找 DSH 插件、希望与官方插件管理路径一致、并需要在同一界面处理登录与连通性问题的桌面 profile 用户。
请注意:
- 新装插件侧栏图标也常需应用重启后才出现(与 DSH 启动时收集注入表的行为一致)。
- 安装第三方插件会在当前 DSH 进程内执行第三方宿主代码;面板展示仓库元数据与
package.json判定,不做源码审计。安装前应自行查看仓库、许可证与风险。 - 移除 bundle 不会删除第三方插件写在
$DSH_HOME下的数据文件。
结尾¶
dsh-github-hub 把「搜插件 → 预检 → 安装 → 管理已装项」收进 DSH 客户端,并与 PAT / Device Flow、诊断和只读 HTTP 接口对齐官方插件管理行为。需要细节时可查阅仓库 README 与中文版 README.zh.md。