dsh-git-component
by nieyunliang
DeepSeek Harness Web GUI的Git面板 — 浮动右侧面板,显示工作树变更、差异查看器、提交与推送、AI自动填充提交信息。
Git panel for the DeepSeek Harness Web GUI — floating right-side panel with working-tree changes, diff viewer, commit & push, AI commit-message autofill.
安装
dsh plugin --profile web add github:nieyunliang/dsh-git-componentGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
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(提供 webServer 与 shell 服务)、Node ≥ 22、Git ≥ 2.x。
插件零运行时依赖(不 import 任何包,直接消费 Cordis ctx)。
使用 / Usage
- 重启后打开 WebUI,右侧出现 Git 面板(右上角小分支图标可展开/收起)
- 面板显示当前仓库的三个分组与变更文件;点击文件看 diff
- 提交:填入信息后点「提交」或「提交并推送」(Ctrl/⌘+Enter 提交);提交前会自动暂存全部更改(
git add -A) - 留空提交信息:点提交后自动生成 AI 提交信息并提交
- 「推送」按钮推送当前分支到上游
安全说明 / 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
原始 README: https://github.com/nieyunliang/dsh-git-component/blob/main/README.md ↗
同类插件
查看全部 →
k8e
k8e.sh — 开源 Agentic AI 沙箱矩阵

hol-guard
开源AI代理防病毒:运行时拦截风险工具、秘密访问、提示注入、恶意软件包、MCP服务器、插件和技能。

anolisa
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture):具备运行时、安全性、可观测性和 Tokenless 响应压缩能力的 Agentic OS,可降低 Token 使用量与成本。

mobius
首个自我演进的开源 Agent OS:连接你的团队、AI agent、设备与算力

deepseek-harness-desktop
DeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup. Windows / macOS / Linux.

open-managed-agents
开源Claude管理代理API实现和自托管Claude标签式代理运行时。即插即用;在Cloudflare Workers/Durable Objects或Node.js上运行。Apache 2.0。