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 官方產品。
羽毛球分组比赛记分
小程序二维码

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

小夜