DSH Git 插件
为 DeepSeek Harness(DSH)提供可视化 Git 工作台。在 DSH 中查看改动、管理改动列表、提交代码、切换分支和浏览历史,无需频繁切换到终端。
npm 包名:@happyqu/dsh-plugin-git
支持中文与英文界面,适配深色和浅色主题。

安装
- 安装 Git,确保
git在 PATH 中可用。 - 在 DSH 中打开 插件 → 添加插件,输入
@happyqu/dsh-plugin-git并安装、启用。 - 打开项目工作区,通过顶部 Git 入口打开弹窗或完整工作台。
本包是 DSH 插件,需要在 DSH 中加载使用。使用者无需自行构建客户端。
如果插件未找到 Git,可在设置中指定 Git 可执行文件路径并重新检测。提交前需要配置 Git 用户名和邮箱;插件沿用本机已有配置,也可在设置中调整。
主要功能
改动与提交
- 查看工作区、未暂存和已暂存改动,支持文件树、文件搜索及批量操作。
- 创建、重命名和拖动排序改动列表,设置活动列表,移动文件或屏蔽某个列表的提交。
- 按完整文件或代码块选择提交范围,保留未选中的改动和其他暂存内容。
- 暂存、取消暂存、丢弃改动,以及提交、提交并推送等常用操作。
- 查看文件全文与行内差异,支持语法高亮、自动换行、Ctrl+F 搜索和改动概览。
- 提交前预览实际提交范围;按记住文件的滚动位置和分页。
- 通过文件右键菜单在 VS Code 中打开,或仅在本机忽略未跟踪文件;在“设置 → 当前仓库 → 忽略规则”中查看和取消本机忽略。
分支与历史
- 管理本地及远端分支、标签和远程仓库,执行 Fetch、Pull、Push 与合并。
- 浏览提交历史与提交图,按关键字或文件路径查找记录。
- 查看提交中的文件列表、差异、修改前后内容及完整文件,支持图片预览和历史文件导出。
- 选择历史文件批量导出 ZIP,保留相对目录。
- 比较分支、标签或提交之间的差异。
- 对符合条件的未推送提交改写提交信息,或将多个提交合并为一个。
储藏、冲突与 Git LFS
- 创建、查看、应用和删除储藏(stash),支持按改动列表储藏。
- 查看冲突文件,逐块处理或编辑内容,并标记解决。
- 管理 Git LFS 跟踪规则与内容同步,支持带备份的历史迁入、迁出。
AI 辅助与命令输出
- 使用 DSH 的模型服务生成提交信息、解释提交。
- 查看 Git 命令、输出和错误日志,便于排查操作失败的原因。
AI 功能需要 DSH 中可用的模型服务。普通 Git 操作不依赖 AI。
快速使用
提交改动: 在“改动”中勾选文件或代码块,填写提交信息后提交。需要暂时排除的文件可放入屏蔽提交的改动列表;右键文件选择“移出当前列表…”可将完整文件移至其他列表。
浏览历史: 在“提交历史”或分支工作台选择提交,再选择文件查看差异。切换“文件内容”可浏览全文;“提交前/提交后”可查看对应版本,导出图标可保存历史文件。
获取远端更新: 点击 Fetch 获取远端分支信息。也可在“设置 → 常规”开启后台自动 Fetch,默认关闭;开启后默认每 5 分钟获取一次,间隔可设为 1–120 分钟。仅对活动仓库调度,不会自动合并或修改工作文件。
兼容性与使用说明
插件会检测 Git 版本,并为部分操作使用兼容命令。以下功能有最低版本要求:
| 功能 | Git 版本 |
|---|---|
| 恢复文件历史版本 | 2.23+ |
| 按改动列表储藏 | 2.25+ |
| 按改动列表提交 | 2.29+ |
| 仅储藏已暂存内容 | 2.35+ |
- Git LFS 功能需要安装 Git LFS。图片预览优先读取本地缓存;缺少实际内容时会显示提示,可手动获取。
- 历史文件导出保留原始文件字节,单文件上限为 32 MiB。LFS 文件导出对应版本的本地实际内容;尚未下载时会提示先获取内容,不会导出指针文件。
- 较大文件的高亮、全文预览和差异显示有大小或行数限制,部分内容采用分页展示。
- 远端认证沿用本机 Git 凭据管理器或 SSH 配置。
- 外部编辑由插件 Host 调用 VS Code,需要在运行 Host 的设备上安装 VS Code。可在设置中指定可执行文件路径;远程 Host 会打开远程设备上的编辑器。
- ZIP 导出最多选择 100 个文件,文件总大小上限为 32 MiB;已删除文件可通过单文件导出获取提交前版本。
- 更新插件后,如果提示某个功能尚未在 Git Host 中加载,请重新加载插件 Host 或重启 DSH。
解决合并冲突
冲突编辑器参考 VS Code:上方对照传入版本与当前版本,下方查看合并结果。窄窗口可切换对照版本;每个冲突块提供接受当前、传入或双方的操作,可跳转未解决冲突并切换手工编辑,也可在版本标题栏选择完整版本。支持撤销最近处理,整文件替换已有编辑前会确认;对照区与结果区之间可拖动调整高度。Rebase 会明确标注变基目标与正在重放的提交。修改/删除冲突可明确选择“接受删除”。检查结果后点击“保存并标记已解决”,也可选择“保存并处理下一个”。全部解决后,继续操作前会展示暂存文件摘要;此处使用整个暂存区,不受改动列表勾选范围影响。确认后会再次校验操作和暂存内容;也可以确认后中止操作。普通暂存及全部提交入口不能绕过未解决冲突。
未保存结果在切换文件、关闭窗口或重新读取时会提醒。选择保留的草稿仅在当前插件会话内保存,草稿与撤销记录共用最多 100 个文件、32 MiB 的会话容量;冲突版本变化后需要重新核对。重启插件后草稿不保留。大于 4 MiB、子模块及符号链接冲突请使用外部工具,完成并暂存后刷新。
文本冲突可选择“在 VS Code 中合并…”,使用独立副本打开三方合并编辑器。保存并关闭该编辑器后,返回插件点击“读取外部结果”,检查草稿再保存并标记已解决;打开外部工具或读回结果都不会自动修改工作区或暂存区。外部合并会话仅在当前 Host 会话内有效,最多同时保留 10 个;已退出的会话最多保留 24 小时。二进制和修改/删除冲突仍可在插件中选择完整版本或接受删除。
反馈与源码
遇到问题时,可在“输出”中查看失败命令,并在 GitHub Issues 提交反馈。请附上插件版本、Git 版本、操作步骤及相关错误信息,避免包含凭据或私密仓库内容。
许可证
MIT
No comments yet. Be the first to write one.