前言¶
在 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
安装后刷新页面。芯片会出现在模型选择器左侧。
典型用法¶
- 安装后,芯片出现在编辑器输入行左侧,显示当前分支名与状态。
- 点击芯片打开分支流程面板。
- 在面板中查看变更文件(仅已跟踪),确认后点击“提交”。
- 选择“推分支”将变更推送到远程。
- 在目标分支下拉框中选择合并目标,点击“合并”完成合并。
- 通过搜索框或刷新按钮查看/切换本地或远程分支,或创建新分支。
适用场景与注意¶
适合在 DSH Web GUI 中需要规范分支命名与提交信息的团队。使用前请检查源码与许可证(MIT)。插件以当前 DSH 进程权限运行,注意权限范围与安全。
短结尾¶
dsh-branch-flow 将分支流程与规则校验整合到 DSH 编辑器中,减少重复操作并提升规范性。更多信息见:目录页 与 GitHub。