DeepSeek Harness plugin

dsh-git-component

Git panel for the DeepSeek Harness Web GUI — floating right-side panel showing working-tree changes, inline diff viewer, commit & push, AI commit-message autofill.

Jump to install

Source facts

Repository
nieyunliang/dsh-git-component
Latest update
Aug 19, 2026
Category
Notifications & Integrations
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/nieyunliang/dsh-git-component
Plugin: dsh-git-component
Author: nieyunliang

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-git-component — Git 面板(DeepSeek Harness WebUI 插件)

> DeepSeek Harness Web GUI 的 Git 插件:悬浮在窗口右侧的面板,实时查看当前更改(已暂存 / 未暂存 / 未跟踪),支持提交、提交并推送、推送,提交信息留空时自动用 AI 生成。 > > A Git plugin for the DeepSeek Harness Web GUI: a floating right-side panel showing your working-tree changes, with commit / commit-and-push / push and AI commit-message autofill.

功能 / Features

  • 右侧悬浮面板(376px 宽,透明卡片风),可折叠为 Git 分支小图标
  • 三个分组:已暂存 / 未暂存 / 未跟踪(porcelain v1 精确解析,含重命名)
  • 点击文件内联查看 diff(最多 400 行)
  • 提交 / 提交并推送 / 推送(提交前自动 git add -A 暂存全部更改)
  • 提交信息留空 → 自动用当前默认模型生成中文提交信息(≤60 字,单行)
  • 15 秒自动刷新;跟随当前会话的工作目录(切换会话/工作区自动重载)
  • 操作通过宿主 shell 执行 git,尊重沙箱策略;GIT_TERMINAL_PROMPT=0 禁止交互

安装 / Install

从 GitHub(git 源,推荐):

dsh plugin --profile web add github:nieyunliang/dsh-git-component

从本地源码目录(开发/测试,需在插件父目录执行):

dsh plugin --profile web add ./dsh-git-component

> dsh plugin add 会自动把声明了 dsh.bundle.patch 的包加入该 profile 的 > dsh.profile.bundles 层(即 dsh plugin --profile web --dump-config 里能看到 > git-component 这一行)。之后重启 webui 进程生效(Node 模块缓存不会热替换旧代码)。 > > 注意:本插件没有构建脚本,git 源安装通常无需额外 prepare/allowBuilds 配置; > 若 pnpm 仍提示构建脚本被拦截,再按提示在 profile 的 pnpm-workspace.yaml > 的 allowBuilds 中加入对应 key 后重试。

要求:web profile(提供 webServershell 服务)、Node ≥ 22、Git ≥ 2.x。 插件零运行时依赖(不 import 任何包,直接消费 Cordis ctx)。

使用 / Usage

1. 重启后打开 WebUI,右侧出现 Git 面板(右上角小分支图标可展开/收起) 2. 面板显示当前仓库的三个分组与变更文件;点击文件看 diff 3. 提交:填入信息后点「提交」或「提交并推送」(Ctrl/⌘+Enter 提交);提交前会自动暂存全部更改(git add -A) 4. 留空提交信息:点提交后自动生成 AI 提交信息并提交 5. 「推送」按钮推送当前分支到上游

安全说明 / Security

  • git 命令在当前会话工作目录下执行(自动 git rev-parse --show-toplevel 定位仓库根)
  • 面板调用宿主 /git-component/* 路由,宿主侧按会话沙箱策略执行;不会放宽你当前的文件权限模式
  • 仓库内执行的 git 操作与你在终端里敲等价命令的风险一致

原理 / How it works

单个 npm 包同时承载两半:

| 半 | 文件 | 机制 | |---|---|---| | Host 路由 | index.js | 包主入口;inject: [webServer, shell]webServer 就绪后注册 /git-component/status\|diff\|commit\|push\|stage\|automessage 六个 exact 路由 | | 浏览器面板 | client.js | exports["./client"] + dsh.client.platform: web,由 dsh-client-modules 扫描发现,经 /plugins/dsh-git-component/client.js 注入页面(client-modules 以 loader entry name dsh-git-component 为 id),注册到 shell.overlay 插槽(id git-component, order 90) |

cordis.patch.yml 是 bundle 层:profile 列出本 bundle 时插入一行 git-component。 激活顺序由服务可用性驱动,inject 保证 webServer/shell 就绪后才 apply。

开发 / Development

dsh-git-component/
├── package.json        # dsh.bundle.patch + dsh.client 声明
├── cordis.patch.yml    # bundle 补丁层(一行 insert)
├── index.js            # Host 半:git 操作 + HTTP 路由(零依赖)
├── client.js           # 浏览器半:手写 __ModuleLoader__ bundle(无构建步骤)
├── README.md
└── LICENSE             # MIT

修改后本地验证:

dsh plugin --profile web add ./dsh-git-component   # 重装(或先 remove)
dsh --profile web --dump-config | grep git-component # 确认行存在
# 重启 webui 进程

License

MIT © nieyunliang