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 仓库

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

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

Xiaoye