dsh-sidebar-git:DeepSeek Harness 右側欄 Git 頁籤

在 DeepSeek Harness 中進行智能體開發時,頻繁查看倉庫變更、提交代碼或切換分支往往需要跳轉到終端或外部工具,打斷開發流。dsh-sidebar-git 是一個原生集成在右側欄的 Git 插件,它跟隨當前會話的倉庫,提供變更查看、暫存提交、分支切換及遠端同步等功能,讓 Git 操作不離開會話頁面。

核心功能

  • 原生右側欄頁籤:註冊爲 sidebar-git 類型,與聊天、終端等並列,不依賴第三方 UI 庫,使用 DSH 內置組件庫渲染。
  • 跟隨會話綁定:默認自動解析當前會話的工作目錄(cwd),支持手動改綁。當會話不在倉庫內時,提供空態表單進行綁定。
  • 變更查看:分組展示已暫存、未暫存及未跟蹤文件。支持行內展開 diff,顯示增刪行着色及文件統計。
  • 提交與推送:底部卡片式提交框,支持 amend 上一次提交。推送與拉取僅支持 --ff-only 模式。
  • 分支與 Stash 管理:支持分支切換、新建、刪除及推拉操作。Stash 支持存入、彈出、應用與刪除。
  • 危險操作分級:對於破壞性操作(如刪除分支),採用 prepare -> confirm 機制,防止誤觸。
  • 狀態實時感:輪詢 /overview 接口,實時聚合分支狀態與文件變更。

安裝與啓用

安裝腳本會自動處理軟鏈、依賴掛載及清理舊版腳本,無需使用 dsh plugin add。

node tools/install-into-profile.mjs

如需臨時停用而不卸載,編輯 profile 的 cordis.patch.yml,添加 disabled: true。

- id: sidebar-git
  name: dsh-sidebar-git
  disabled: true

典型用法

  • 查看變更:打開 Git 頁籤,即可看到當前的文件變更列表。點擊行可以展開查看具體的 diff 內容。
  • 手動綁定路徑:如果當前會話不在任何倉庫目錄中,頁面會顯示空態,直接在輸入框中填入倉庫路徑並確認即可綁定。
  • 切換分支:在分支頁籤點擊頂部的分支 chip 進行切換,或點擊新建按鈕創建並切換新分支。
  • 提交代碼:在底部的提交卡片填寫信息,提交後可點擊推送到遠端,或從遠端拉取代碼。

安全與邊界

  • 插件不提供任意 Git 命令輸入框,也不進行 shell 拼接或參數模板注入。
  • 明確不做 reset --hard、clean、push --force(非 lease)、cherry-pick、rebase 及 merge 衝突解決 UI。
  • 憑據完全交給用戶自己的 git credential helper,插件不讀、不存、不傳任何憑據。
  • pull 操作固定爲 --ff-only,若需要 merge 或 rebase,會給出終端指引。
  • 併發設計上,Agent 與本插件都能改工作區,以實時 status 爲準。

結語

dsh-sidebar-git 提供了一個在 DSH 環境內完成基礎 Git 流程的輕量級方案。它通過嚴格的操作分級和參數校驗,在便利性與安全性之間取得了平衡。

插件目錄頁
GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

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

小夜