DeepSeek Harness Git 工作区管理插件

前言

DeepSeek Harness (DSH) 是一个插件化平台,旨在通过模块化扩展其核心功能。在 Web UI 环境中直接管理 Git 工作区,通常需要切换到外部客户端,这会中断操作流。本插件通过集成 Git 操作,将工作区管理收敛在 DSH 的 Web UI 内部,提供统一的交互体验。

插件简介

MoonlitDropOfBlood 维护的 DSH 客户端插件。它不依赖外部 Git 客户端,直接在 DSH 环境内提供 Git 工作区管理能力。

核心功能

  • 仓库感知入口:在输入框工具行显示 Git 按钮,仅在当前目录是 Git 仓库时显示(60s 轮询缓存)。
  • 设置同规格面板:800px 居中弹窗,圆角 24,毛玻璃遮罩,DOM 通过 Portal 渲染至 body 层。
  • 变更管理:支持 staged/unstaged/untracked 文件,提供 unified diff 渲染,支持 commit 和 amend。
  • 分支管理:支持本地/远程分支列表,新建、切换、改名、删除以及合并操作。
  • 历史查看:提供带分支线图形的提交历史、refs 徽章以及 cherry-pick 功能。
  • 冲突解决:提供横幅提示,支持逐文件选择 ours/theirs 或手动编辑解决冲突。
  • Worktree 管理:支持 Worktree 列表、添加和删除。添加 Worktree 后会自动注册为 DSH 工作区。
  • 主题适配:颜色跟随 DSH 设计 token,自动适配明暗主题。

安装与启用

使用官方 dsh plugin 命令安装。

dsh plugin --profile web add @duke-dsh-plugins/dsh-git-manager

安装后重启 DSH。当当前工作区是 Git 仓库时,输入框工具行的“模式”选择器旁会出现 Git 按钮。

使用方法

  1. 打开面板:点击输入框工具行的 Git 按钮(分支图标 + 当前分支名)。
  2. 变更操作:勾选文件进行 stage 或 unstage,点击文件查看 diff,底部输入提交信息进行 commit。
  3. 远程同步:在顶部执行 Fetch/Pull/Push,分支列表会显示 ahead/behind 状态。
  4. 分支管理:支持新建、切换、改名、合并、删除分支。
  5. 历史查看:点击提交可查看该提交的文件级 diff,并支持 cherry-pick。
  6. 解决冲突:合并冲突时,在面板中逐文件选择 ours/theirs 或手动编辑。
  7. Worktree:添加 Worktree(可同时开启新分支),添加成功后自动注册为 DSH 工作区。
  8. 关闭面板:按 Esc 键或点击遮罩层关闭。

注意事项

  • 安全性:所有危险操作(如 force push、删除分支、丢弃文件)均需 UI 二次确认。Force push 仅允许 --force-with-lease。
  • 性能限制:Diff 输出超过 1.5MB 时会截断提示;Log 默认每页加载 200 条。
  • 路径校验:涉及写文件的操作(如丢弃未跟踪文件、手动解决冲突)会先校验路径是否越出仓库根目录。
  • 非官方产品:本项目是基于 DeepSeek Harness 构建的社区插件,并非 DeepSeek 官方产品。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜