在 DeepSeek Harness (DSH) 的生态中,现有的 GitHub 插件无法完全覆盖发布流水线中关于发布、标签及净化镜像的需求。dsh-github-ops 插件针对这些场景提供了补充。
插件简介¶
该插件由 GooDAnDReaDY 维护,旨在为 DSH 提供 GitHub 运维能力。它包含发布管理、标签管理、受保护的通用 API 转发、净化镜像发布、工作流运行以及仓库设置等功能。
核心功能¶
插件提供了以下核心工具集:
-
发布与标签管理
- 发布管理:支持列表查看、单个查看、创建、编辑、删除以及资产和备注的管理。通过
gh_release_edit并设置makeLatest: true,可以保持仓库徽章指向当前版本。 - 标签管理:支持列表查看、创建(支持轻量级或带注释)以及删除。
- 发布管理:支持列表查看、单个查看、创建、编辑、删除以及资产和备注的管理。通过
-
通用 API 访问
gh_api工具用于访问 Typed Tools 未覆盖的接口(如 refs、rulesets、organizations、gists)。读取操作无需确认,写入操作(POST/PATCH/PUT/DELETE)需要设置confirm: true。
-
Issue 与 Pull Request 管理
- 支持列表、搜索、创建、评论、关闭、合并 PR。
gh_review提供代码审查打包功能,包含元数据、区域、差异、评论和 CI 汇总。review_post用于发布审查结果。
-
CI/CD 检查
gh_checks用于检查运行、遗留状态和合并审查。ci_run提供基于规则的 PR 审查。
-
净化镜像发布
gh_mirror_check用于检查发布计划,确认哪些文件会到达镜像。gh_mirror_publish用于发布净化后的树,该操作仅在镜像分支上快进合并,不使用强制推送。
安装与启用¶
安装插件需要 DeepSeek Harness 环境,并确保已安装 Node 20+。
dsh plugin --profile web add @goodandready/dsh-github-ops
安装后,需要在 DSH 凭证服务中配置一个 GitHub Token,默认使用名为 GITHUB_TOKEN 的凭证。
典型用法¶
以下为插件提供的典型命令示例:
- 列出发布
gh_release_list
- 创建发布
gh_release_create
- 查看发布详情
gh_release_view
- 生成发布备注
gh_release_notes_generate
- 发布净化镜像
gh_mirror_publish
- 编辑发布并保持最新
gh_release_edit makeLatest: true
适用场景与注意¶
- 开发状态:该插件目前处于开发中,尚未正式发布。
- 权限与安全:插件以 DSH 进程的权限运行。删除仓库、转移仓库或删除组织等高风险操作会被拒绝,即使用户设置了
confirm: true。 - 缓存策略:读取操作会使用内存缓存(默认 TTL 为 60 秒),但写入操作总是直接写入网络并清除缓存。
- 前置条件:使用前需在 DSH 凭证服务中配置 GitHub Token。
总结¶
dsh-github-ops 插件填补了 DSH 在 GitHub 发布流程和镜像管理上的空白。通过提供受保护的 API 和净化发布功能,它适合需要精细化控制 GitHub 发布流程的开发者。