dsh-branch-flow:DSH Web GUI 分支流程面板

前言

在 DSH Web GUI 中完成代码编辑后,需要手动执行一系列机械操作:暂存、写提交信息、切分支、拉取、合并、推送。这些步骤不仅占用时间,还容易因为人为疏漏导致分支或提交信息不符合团队规范。dsh-branch-flow 在编辑器右侧放入一个状态芯片,点击即可打开分支/提交/合并面板,在输入过程中按规范校验分支名与提交信息,减少重复劳动并降低出错率。

是什么

dsh-branch-flow 是一个 DSH Web GUI 插件,由 crystal-hang 维护。它提供分支流程面板:状态芯片显示当前分支名与变更状态(干净/有变更/冲突),点击展开后可提交变更、推送到远程、合并到目标分支、查看本地/远程分支列表与创建新分支。插件通过规则校验分支名与提交信息,并支持 AI 生成分支名与提交信息。

核心功能

  • 状态芯片:位于编辑器输入行左侧,显示分支名、状态点(绿色=干净、黄色=有变更、红色=冲突)、变更数量与领先/落后分支数。点击打开面板。
  • 分支流程面板:依次包含提交变更、推分支、合并到目标分支,以及分支列表与创建分支。所有操作通过按钮完成,插件不注册模型工具。
  • 分支列表:分为本地分支(默认展开)与远程分支(默认折叠)。远程分支来自 origin/* 但未在本地创建,切换时会自动创建跟踪分支。
  • 分支搜索:一个搜索框同时过滤两组分支(不区分大小写),支持一键清空。折叠组也会显示匹配数量。
  • 刷新分支:顶部按钮执行 git fetch --prune 并重新读取分支列表。
  • 提交变更列表:仅显示已跟踪的文件(修改/新增/删除/重命名),未跟踪文件默认隐藏,右上角显示“N files not in Git”供展开。
  • 分支规则校验:创建分支时校验名称格式与语义,包括大小写、字符集、长度、环境名、用途表达等。
  • AI 辅助:当主机提供 llm 和 agentDefaultModel 时,可生成分支名与提交信息;缺失时面板会明确报错。

安装与启用

插件是 DSH 配置包,安装前需确认 DSH 版本 ≥ 0.2.1-rc.2,主机提供 webServer、subprocess、workspaceRegistry 服务。使用时将 <profile> 替换为你的配置文件名(通常为 desktop):

# 1) 从 GitHub(推荐,可固定版本)
dsh plugin --profile <profile> add github:crystal-hang/dsh-branch-flow#v0.1.0

# 2) 从 GitHub,使用最新提交
dsh plugin --profile <profile> add github:crystal-hang/dsh-branch-flow

# 3) 从本地目录(开发/个人使用)
dsh plugin --profile <profile> add link:/path/to/dsh-branch-flow

# 4) 从 npm(如已发布)
dsh plugin --profile <profile> add dsh-branch-flow

安装后刷新页面。芯片会出现在模型选择器左侧。

典型用法

  1. 安装后,芯片出现在编辑器输入行左侧,显示当前分支名与状态。
  2. 点击芯片打开分支流程面板。
  3. 在面板中查看变更文件(仅已跟踪),确认后点击“提交”。
  4. 选择“推分支”将变更推送到远程。
  5. 在目标分支下拉框中选择合并目标,点击“合并”完成合并。
  6. 通过搜索框或刷新按钮查看/切换本地或远程分支,或创建新分支。

适用场景与注意

适合在 DSH Web GUI 中需要规范分支命名与提交信息的团队。使用前请检查源码与许可证(MIT)。插件以当前 DSH 进程权限运行,注意权限范围与安全。

短结尾

dsh-branch-flow 将分支流程与规则校验整合到 DSH 编辑器中,减少重复操作并提升规范性。更多信息见:目录页 与 GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye