Zum Hauptinhalt springen
L

dsh-git-composer

ls-open/dsh-git-composer

Claude-style composer header bar: shows working-tree diff counters, quick branch switcher, native diff drawer integration, and adaptive PR creation with Actions CI status.

Installation

dsh plugin --profile web add github:ls-open/dsh-git-composer

README

dsh-plugin-git-composer

CI Release License: MIT

DeepSeek Harness (DSH) 桌面客户端与 Web 端的 Git 工作区状态感知与 PR 协同胶囊插件。

在输入框上方常驻显示 Git 分支名、真实代码增删行数(+X -Y)、一键点击审查行级 Diff,并无缝联动 GitHub PR 与 Actions CI 流水线状态。


🖥️ 界面效果一览

挂载于 DSH 桌面端 / Web 端对话输入框(Composer)正上方:

DSH Git Composer Preview


🎯 核心功能特性

全面打通本地代码修改感知、差异审查与 GitHub 云端流水线协同:

交互模块功能细节行为表现
工作区胶囊分支与仓库常驻毫秒级提取当前所在仓库名与分支名(如 my-repo main)
一键快速切分支零 Token 快捷检出点击分支名下拉展开本地分支列表,毫秒级本地切换,无需额外向 AI 发送指令
真实增删统计动态 +X -Y底层调用 git diff --numstat,随着模型每次修改文件实时动态刷新,非静态伪造
行级 Diff 审查点击胶囊看改动点击 +X -Y 徽章,自动调用 DSH 官方内置的 Diff 审查抽屉,逐行高亮查看改动细节
自适应按钮本地提交 vs 提 PR• 无 Remote(纯本地仓库):自适应为 Commit changes,点击即让 AI 自动写提交信息并在本地 commit
• 有 Remote(GitHub 仓库):自适应为 Create PR ▾ 下拉菜单
PR 发起菜单3 种提交模式点击下拉可选:Create PR(直接提审)、Create draft PR(草稿 PR)、Manually create PR...(网页打开)
PR 状态感知自动状态升级当分支已关联 PR 时,自动渲染第二条独立卡片:显示 ⑂ #PR号 及该 PR 的增删统计
CI 流水线指示灯⚬ CI ▾ 实时状态轮询 GitHub Actions Checks:通过显示绿色点、构建中显示旋转动画、失败显示红色点,点击下拉可看每项 Job 结果
风琴折叠堆叠Show more / less存在多条卡片时自动收折,绝不遮挡或挤占主对话输入框
卡片独立关闭右侧 × 按钮点击可临时隐藏单条胶囊卡片

🚀 安装与启用指南(支持多种灵活方式)

DSH 原生支持从内置市场、GitHub 远程直装、npm 镜像、本地目录等多种途径安装插件,你可以按自己的使用习惯选择最便捷的方式:

方式 1:DSH 客户端「插件市场」一键安装(最便捷)

  1. 打开 DSH 桌面客户端,点击左侧菜单栏 Plugins(插件市场);
  2. 在搜索框输入 dsh-plugin-git-composer;
  3. 点击 Install(安装),安装完成后在列表中确保勾选为 Enabled(启用) 即可。

方式 2:GitHub 远程直链安装(无需手动下载文件)

如果你不想手动下载 zip 或源码,可以直接通过 GitHub 仓库地址远程安装:

  • GUI 界面操作: 进入 DSH 客户端 Settings(设置) → Plugins(插件) → 点击 Install from URL,输入 GitHub 仓库地址:
    https://github.com/ls-open/dsh-git-composer
    
  • 或者通过终端命令直装:
    dsh plugin --profile web add github:ls-open/dsh-git-composer
    # 或默认 profile:
    dsh plugin add github:ls-open/dsh-git-composer
    

方式 3:npm / 包管理器一键安装

对于通过包管理运行 DSH 的开发者,可通过标准 npm 方式加载:

dsh plugin --profile web add dsh-plugin-git-composer

方式 4:本地源码 / 离线目录安装(开发者调试推荐)

如果你需要二次开发或处于离线内网环境:

  1. 下载或克隆源码至本地目录(例如 ~/Downloads/dsh-git-composer);
  2. 运行构建:
    cd ~/Downloads/dsh-git-composer && npm install && npm run build
    
  3. 在 DSH 客户端的 Settings → Plugins 中点击 Install Local Plugin,选择该文件夹即可。

⚠️ 注意事项与前置说明

  1. GUI 客户端完全兼容:
    • DSH 桌面客户端基于 Electron 构建,其前端渲染层与 Web 端共用一套 Cordis 插件插槽体系(composer:header)。包含 cordis.patch.yml 自动配置 Host 与 Client 端,两端完全通用。
  2. Git 环境要求:
    • 宿主机需安装基础 git 工具;
    • 打开非 Git 文件夹时,插件会自动保持静默,绝不占用任何界面空间或弹错。
  3. GitHub PR / CI 特性依赖:
    • “一键创建 PR”与“CI 流水线监控”通过本地官方 GitHub CLI(gh)完成;
    • 若未安装或未登录 gh,插件会自动优雅降级为本地模式(只显示 Commit changes 和行级 Diff 审查),不影响正常使用。

📂 项目结构

dsh-git-composer/
├── cordis.patch.yml        # DSH 插件自动挂载声明(Host 端与 WebUI Client 端)
├── src/
│   ├── core/
│   │   ├── git.ts          # 高性能 Git 状态、动态增删行数与 Diff 提取 (<15ms)
│   │   └── github.ts       # GitHub CLI 交互与 Actions CI 状态解析
│   ├── ui/
│   │   └── ComposerGitBar.tsx # 输入框上方高保真胶囊组件(动态行数、Diff 触发、PR 状态灯)
│   ├── client.ts           # 浏览器端插件入口(挂载 composer:header 插槽)
│   └── index.ts            # Cordis 宿主端插件入口(apply(ctx) 及工作区监听)
├── assets/
│   ├── preview.png         # 真实 DSH 对话框效果预览图
│   └── preview.svg         # 矢量设计源文件
├── package.json            # 双模导出(ESM/CJS、./client)与类型定义
├── tsup.config.ts          # 现代化打包配置
├── tsconfig.json
└── README.md

📄 授权协议

MIT License

Ähnliche Plugins