dsh-git-workbench
Verified@civilization/dsh-git-workbench · v0.4.7 · Apache-2.0 · Web UI
IntelliJ IDEA 级别的 Git 版本控制工作台;DAG 拓扑提交图谱、多分支合并轨道可视化、状态栏底部分支切换胶囊与全量变动管理。
Install
dsh plugin add @civilization/dsh-git-workbench Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Readme
@civilization/dsh-git-workbench
IntelliJ IDEA 级别的专业 Git 版本控制工作台插件,专为 DeepSeek Harness (DSH) 打造。
本插件为 DeepSeek Harness 提供了媲美 IntelliJ IDEA / VS Code 的全套 Git 工程化版本控制能力,包括 DAG 拓扑提交图谱、多分支合并轨道渲染、工作区变动检查与暂存提交、底部分支快速切换胶囊、全量标签管理与 DAG 视图定位、彩色代码差异对比,以及供 AI Agent 自主调用的 Git 原生模型工具集。
说明:本插件已实现完全独立化拆分,严格仅依赖官方公开 API 组件(
@deepseek-ai/cordis,@deepseek-ai/schemastery,@deepseek-ai/dsh-tools及 React 18),没有任何私有组件库或单体仓库内部包的依赖,可在官方纯净版 DeepSeek Harness 环境中直接安装使用。
🌟 核心特性
1. 🌲 IntelliJ IDEA 级 DAG 提交拓扑树与轨道图
- 多泳道动态压缩算法:根据提交历史(
git log --parents)精确计算并排分支泳道,支持主线、特性分支、热修复分支与合并分支。 - 平滑贝塞尔曲线连线:基于 SVG 实时渲染分支分叉与合并连接线,采用 IntelliJ 调色板渲染多彩轨道。
- 提交引用徽章:直接在提交节点旁渲染带颜色与边框的
HEAD、当前分支(高亮绿)、本地分支(蓝)、远程分支(紫)与发布标签(橙)。 - Conventional Commits 智能解析:自动解析
feat,fix,docs,style,refactor,test,chore等类型前缀,渲染高对比度彩色胶囊。 - 主线筛选与全文过滤:支持「全部 / 仅主线」切换,并提供按 Commit Hash、提交信息、作者名字的即时高亮检索。
2. 🗂️ 工作区代码改动(Changes)与快捷提交控制台
- 三态工作区树形/扁平分类:
- 已暂存改动 (Staged Changes)
- 未暂存改动 (Changes)
- 未追踪文件 (Untracked Files)
- 快速动作支持:单文件/批量一键 Stage、Unstage、丢弃更改(Discard)、全选暂存。
- 快捷提交控制台 (Commit Console):
- 内置提交说明输入框,支持
Ctrl+Enter快速提交; - 顶部集成常见 Conventional Commits 前缀快捷插入芯片(
feat:,fix:,docs:,refactor:,chore:)。
- 内置提交说明输入框,支持
- 实时同步工具栏:支持一键
Fetch、Pull、Push与Refresh。
3. 🏷️ 全量标签管理器(Tags)与 DAG 拓扑精确定位
- 现代 Release 卡片布局:采用 GitHub / JetBrains 风格的两行式紧凑卡片,彻底移除了原生操作系统杂色 Emoji,全量采用矢量 SVG 图标与 DSH 官方设计变量(
--dsw-alias-*); - Conventional Commits 智能解析:标签附注与提交说明自动解析
feat,fix,chore等前缀并高亮展示规范徽章; - 作者头像与相对时间:采用确定性调色盘渲染作者首字母圆形头像,清晰直观;
- 标签创建与删除:支持创建轻量标签(Lightweight)或带说明的附注标签(Annotated),支持为指定 Commit 打标;
- 一键精确定位与视口居中:在标签列表中点击「在拓扑树中定位」图标,自动平滑切换到提交图谱视图,精确定位至对应 Commit 节点并带有呼吸光晕高亮与平滑滚动居中。
4. 🔀 分支管理与底部分支切换胶囊(Composer Dock Pill)
- 顶栏交互联动:点击顶栏分支徽章直接平滑跳转至分支管理视图;
- 分支管理视图:提供即时搜索过滤栏、一键新建并检出分支、本地与远程分支矢量状态标识及「当前检出」高亮徽章;
- 注入 Composer Dock 状态栏:注入官方对话框底部的 Composer Dock 状态栏(顺序优先);
- 实时分支与领先/落后状态:实时展示当前所在分支与远程追踪状态(
↑ahead本地领先 /↓behind落后远程); - 微弹簧触感反馈:严格遵循 UI Motion 规范(
cubic-bezier(0.16, 1, 0.3, 1)),提供灵敏丝滑的悬浮与点击反馈。
5. 🔍 彩色代码差异对比查看器(Unified Diff)
- 点击工作区任意改动文件或 DAG 拓扑图中的任意提交,右侧立即展开对应代码差异;
- 增删行彩色对比高亮(绿色背景新增、红色背景删除、淡紫色块头范围定位)。
6. 🤖 AI Agent 原生感知与控制模型工具集
插件自动向模型注入以下标准 Tools:
git_view:自主查询状态、提交图谱、分支列表、差异内容与标签列表。git_checkout:自主切换分支或创建检出新分支。git_tag:自主创建版本标签或清理临时标签。
🏗️ 架构与技术实现
- 独立双端输出:
- Host Node 端 (
lib/index.js):采用标准 Cordis ESM 插件规范,注册/git安全 RPC 拦截器与 Agent 工具。 - Client Browser 端 (
lib/client.js):打包为自包含的浏览器端模块,遵循window.__ModuleLoader__.load({ id: '@civilization/dsh-git-workbench', factory: ... })协议。 - 自包含样式编译:利用
lightningcss在构建期将 CSS Modules 直接转译并内联在 Client bundle 中,载入时自动注入<style data-plugin="@civilization/dsh-git-workbench">,无需宿主额外加载外部 CSS。
- Host Node 端 (
- 公共依赖:
@deepseek-ai/cordis:^4.0.0@deepseek-ai/dsh-tools:^0.2.0@deepseek-ai/schemastery:^3.18.5react:^18.0.0
📥 安装与使用指南
1. 安装依赖
在官方 DeepSeek Harness 运行时环境或项目中安装:
pnpm add @civilization/dsh-git-workbench
2. 在 cordis.yml 中启用插件
编辑运行配置文件 cordis.yml(或通过 cordis.patch.yml):
plugins:
- name: "@civilization/dsh-git-workbench"
启动 DeepSeek Harness 后,右侧栏将出现专属的 Git 图标标签页,底部状态栏将展示实时的分支胶囊。
⌨️ 快捷键
Ctrl + Shift + G(Windows / Linux)或Cmd + Shift + G(macOS):一键呼出并聚焦右侧 Git 工作台。Ctrl + Enter:在提交信息框中一键触发提交。
🛠️ 本地开发与测试
# 进入插件目录
cd D:\project\dsh-plugins\dsh-git-workbench
# 安装依赖
pnpm install
# 静态类型检查
pnpm run typecheck
# 单元测试(基于 Vitest)
pnpm run test
# 生产环境打包构建
pnpm run build
📄 开源许可证
本项目基于 Apache-2.0 协议开源。