- Главная
- Плагины
- Git и код-ревью
- dsh-git-composer
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.
Установка
dsh plugin --profile web add github:ls-open/dsh-git-composerREADME
dsh-plugin-git-composer
DeepSeek Harness (DSH) 桌面客户端与 Web 端的 Git 工作区状态感知与 PR 协同胶囊插件。
在输入框上方常驻显示 Git 分支名、真实代码增删行数(+X -Y)、一键点击审查行级 Diff,并无缝联动 GitHub PR 与 Actions CI 流水线状态。
🖥️ 界面效果一览
挂载于 DSH 桌面端 / Web 端对话输入框(Composer)正上方:
🎯 核心功能特性
全面打通本地代码修改感知、差异审查与 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 客户端「插件市场」一键安装(最便捷)
- 打开 DSH 桌面客户端,点击左侧菜单栏 Plugins(插件市场);
- 在搜索框输入
dsh-plugin-git-composer; - 点击 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:本地源码 / 离线目录安装(开发者调试推荐)
如果你需要二次开发或处于离线内网环境:
- 下载或克隆源码至本地目录(例如
~/Downloads/dsh-git-composer); - 运行构建:
cd ~/Downloads/dsh-git-composer && npm install && npm run build - 在 DSH 客户端的 Settings → Plugins 中点击 Install Local Plugin,选择该文件夹即可。
⚠️ 注意事项与前置说明
- GUI 客户端完全兼容:
- DSH 桌面客户端基于 Electron 构建,其前端渲染层与 Web 端共用一套 Cordis 插件插槽体系(
composer:header)。包含cordis.patch.yml自动配置 Host 与 Client 端,两端完全通用。
- DSH 桌面客户端基于 Electron 构建,其前端渲染层与 Web 端共用一套 Cordis 插件插槽体系(
- Git 环境要求:
- 宿主机需安装基础
git工具; - 打开非 Git 文件夹时,插件会自动保持静默,绝不占用任何界面空间或弹错。
- 宿主机需安装基础
- GitHub PR / CI 特性依赖:
- “一键创建 PR”与“CI 流水线监控”通过本地官方 GitHub CLI(
gh)完成; - 若未安装或未登录
gh,插件会自动优雅降级为本地模式(只显示Commit changes和行级 Diff 审查),不影响正常使用。
- “一键创建 PR”与“CI 流水线监控”通过本地官方 GitHub CLI(
📂 项目结构
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
Похожие плагины
Z
dsh-web (dsh-git-graph)
zhu1090093659/dsh-web
8.8kпозавчераGit и код-ревьюApache-2.0
Z
dsh-web-ui (dsh-git-graph)
zhu1090093659/dsh-web-ui
6.3k2 месяца назадGit и код-ревьюApache-2.0
A
codex-guard (dsh)
akimiya-z/codex-guard
136вчераGit и код-ревьюMIT
L
dsh-file-review
left0ver/dsh-file-review
4415 дней назадGit и код-ревьюMIT