DeepSeek Harness Git 插件:`taontech/dsh-git`

前言

DeepSeek Harness (DSH) 採用插件化架構。在智能體開發或代碼協作場景中,開發者需要在會話中頻繁查看倉庫狀態、提交歷史以及執行 Git 操作。taontech/dsh-git 插件通過在 DSH 會話界面新增一個 Git 標籤頁,將倉庫概況、文件狀態、提交歷史以及常用 Git 操作集成到瀏覽器端,避免頻繁切換終端。

安裝與啓用

插件通過 npm 包分發,安裝後需重啓 GUI 才能生效。

  1. 安裝插件
    在終端執行以下命令,將插件安裝到指定的 profile 中:
   dsh plugin --profile <name> add @taontech/dsh-git
  1. 確認配置
    驗證插件是否正確注入到配置中:
   dsh --profile <name> --dump-config

輸出中應包含 dsh-git 相關配置行。

  1. 重啓 GUI
    安裝完成後,必須重啓 web profile 的 GUI 才能看到新增的 Git tab。

核心功能

該插件主要包含以下能力:

  • 倉庫概況
    展示當前項目的 Git 狀態,包括根目錄、當前分支、遠程地址、領先/落後提交數、最近一次提交信息以及是否處於 dirty 狀態。
  • 文件與提交管理
    顯示文件修改狀態(暫存、未暫存、未跟蹤)與提交歷史。支持查看提交的 hash、作者、日期和 subject。
  • 分支與提交圖
    展示分支列表,並提供基於 ASCII 字符的提交圖(git log --graph),直觀展示分支演變。
  • 貢獻日曆
    展示最近一年的每日提交熱力圖(date -> count),用於快速瞭解提交頻率。
  • Git 操作
    插件封裝了常用操作:暫存文件、取消暫存、提交(帶消息校驗)、推送、拉取、切換分支以及初始化。
  • 非 Git 目錄處理
    當目錄未被 Git 初始化時,插件會顯示文件列表,並提供一鍵 git init 按鈕。
  • macOS 快速打開
    在 macOS 環境下,支持在宿主機終端(Terminal / iTerm)中打開倉庫,或直接啓動交互式代理 app(OpenCode / Claude / Codex / Antigravity)。

技術架構

插件通過一個 npm 包實現“Server”和“Client”雙面邏輯:

  • 依賴庫
    git 命令執行全部委託給 gmc 庫(gmc/lib/git.js 的 runGit 方法),插件僅負責解析與展示。
  • Server 端(數據與接口)
    通過 dsh.bundle.patch 注入 webServer。提供一系列 RESTful 端點用於獲取數據和執行操作:
    • GET /dsh-git/info:獲取倉庫概況。
    • GET /dsh-git/status:獲取文件修改狀態或非 Git 目錄列表。
    • GET /dsh-git/log:獲取提交歷史。
    • GET /dsh-git/branches:獲取分支列表與提交圖。
    • GET /dsh-git/contributions:獲取貢獻日曆數據。
    • POST /dsh-git/*:執行提交、推送、初始化等操作。
  • Client 端(UI 集成)
    註冊 conversation.view 插槽以展示 Git tab,並註冊 conversation.input.dock 插槽以展示 Hero 概況卡片(包含分支、熱力圖和快捷啓動按鈕)。

注意事項

  • 環境要求
    插件依賴 Node.js 版本 >= 18。
  • macOS 限制
    macOS 上的終端快速打開和代理 app 啓動功能僅支持迴環地址,不能直接穿透到遠程 SSH 會話。
  • 路徑顯示
    在 macOS 上,git 返回的路徑可能包含 /private/var/...,這是 /var 的符號鏈接,屬於正常現象。
  • 重啓生效
    安裝後務必重啓 GUI 才能激活 Git tab。

總結

taontech/dsh-git 是一個功能完備的 DSH Git 插件。它利用 gmc 庫處理底層命令,通過標準 JSON API 與前端通信,爲開發者提供了一個無需離開 DSH 界面即可管理代碼庫的解決方案。適合需要在 DeepSeek Harness 中進行代碼審查、分支管理和日常提交的開發者使用。

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

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

小夜