DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
B

dsh-branch-cleaner

Branch Cleaner

DeepSeek Harness 的冗余分支清理工具:找出已经落地到主线的 git 分支(普通合并 / squash 合并 / rebase 落地 / 上游已删 / PR 已合并)并可一键删除,默认只报告、删除前自动备份到 refs/backup/branch-cleaner/。适用于 DSH 的分支清理插件——检测已合并、已 squash 合并、补丁等价、上游已删除和 PR 已合并的分支,然后安全删除。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:ramwin/dsh-branch-cleaner#3e4862351e5da53dfc3624f835b9d499537db4dd
README兼容性版本

兼容性与来源证明

Branch Cleaner 以 dsh-branch-cleaner 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/20

版本

0.1.1stable
2026/10/20
0.1.0stable
2026/10/20

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/20
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hubExperimental Inspector Profile@deepseek-ai/dsh-experimental-inspector-profile用于原始 Session 日志和 Chat 节点检查的可选 Web 捆绑包

README

dsh-branch-cleaner

清理 已经落地到主线 的 git 分支:默认只报告,删前自动备份。 A DeepSeek Harness plugin that finds branches whose work already landed in the mainline — merged, squash-merged, patch-equivalent (rebase/cherry-pick), upstream-gone, or PR-merged — then deletes them safely.

为什么需要它

git branch --merged 只认祖先合并。用 squash merge 或者 rebase 落地的分支,它永远认不出来, 于是本地几十个、远程上百个分支越积越多。这个插件把几种「其实已经落地」的情况都判出来:

落地方式--merged 认得出吗插件用的判定
merge / fast-forward认git merge-base --is-ancestor
squash merge不认git merge-tree --write-tree:把分支合回主线,主线内容一点不变 → 已落地
rebase / cherry-pick不认git cherry:没有 + 开头的行 → 补丁全在主线
PR 已合并看落地方式gh pr list --head <branch> --state merged(可选)
上游分支已删不认%(upstream:track) 里的 [gone]

安装

# npm
dsh plugin --profile web add dsh-branch-cleaner

# 或从 GitHub 装(跟随 main,永远最新)
dsh plugin --profile web add github:ramwin/dsh-branch-cleaner

# 本地开发
dsh plugin --profile web add /path/to/dsh-branch-cleaner

装完重开 dsh web(或刷新页面),模型就多了 git_clean_branches 工具。

用法

直接在对话里说:

看看这个仓有哪些分支已经合过了,能删的列出来

把已经合并的分支删掉,保留 develop 和 release/*

模型会先 mode=report 列一遍,你确认后才用 mode=delete。也可以明确要求一步到位。

工具参数

参数类型说明
modereport / delete默认 report,只列出不删除;只有 delete 才真删
repostring仓库路径,默认当前会话工作目录,相对路径按它解析
basestring对比基线,默认 origin/HEAD → main/master → 当前分支
squashboolean识别 squash 合并
patchesboolean识别 rebase / cherry-pick 落地
goneboolean识别上游已删除的分支
prboolean用 gh 识别已合并的 PR
allboolean= squash + patches + gone + prune(不含 remote)
remoteboolean连 origin 上的已合并远程分支一起清(要单独加,all 不含它)
pruneboolean先 git fetch --prune 刷新 [gone]
ageinteger只处理 tip 提交早于 N 天的分支
keepstring[]额外保护的 glob,如 wip/*(默认已保护 main/master/develop/release/* 等)
recurseSubmodulesboolean对每个已初始化子模块各跑一遍(只做本地清理,不带 prune/remote)
timeoutMsinteger协作式超时,默认 180000

安全性

  • 默认只报告:mode=report 一个分支都不动,连 git checkout 都不执行。

  • 绝不 rebase、绝不切分支、绝不碰工作区:只跑只读的判定命令 + git branch -d/-D。

  • 永不动的分支:基线本身、当前检出的、任何 worktree 里检出的、命中保留规则(main master develop trunk release/* hotfix/* gh-pages backup/* dependabot/*)的。

  • 删前备份:每个被删分支的 SHA 记到 refs/backup/branch-cleaner/<时间戳>/<分支名>,恢复:

    git for-each-ref refs/backup/branch-cleaner/     # 看备份
    git branch feat/x $(git rev-parse refs/backup/branch-cleaner/20260101-120000/feat/x)
    
  • squash 判定不会误杀:它问的是「把这个分支合回去,主线会不会变」——会变就不删。

输出

branches / remoteBranches 里每行都带 repo 字段(. 表示顶层仓库,其余是相对路径), deleted / failed 是整棵子模块树的合计。递归时只列可删分支,未合并的会折成一句 「其余 N 个已略过」。

和脚本的关系

插件的 assets/delete_redundant_branch.sh 是 linux-reference 里同一份脚本的副本(唯一事实来源在那边, 判定逻辑、回归测试都在那儿)。插件只负责:把参数翻译成 argv → 在会话工作目录跑脚本 → 解析 JSON → 渲染给模型。

同步:

scripts/sync-from-linux-reference.sh

开发

node --test test/             # 10 个用例:参数翻译 / JSON 解析 / 真实仓库 report 与 delete
node scripts/mount-check.mjs  # 挂进真 ToolRuntime, 跑一次 report + delete

mount-check 依赖上层目录里已安装的 @deepseek-ai/*(也就是本机装了 dsh 才行)。

License

MIT © Xiang Wang