dsh-plugin-git-command:在 DSH 里用斜杠命令登记 Git 提交与推送

前言

在 DeepSeek Harness(DSH)里让 Agent 帮你改代码后,下一步往往是 git status、写提交说明、再 push。这些步骤可以交给 Agent 在终端里做,但你需要在对话里反复说明「只提交会话改过的文件」「按 conventional commit 写 message」「推送前先 rebase pull」等约束,容易漏说或每轮重复。

dsh-plugin-git-command 把 /commit、/push、/commit-push 注册进 DSH。插件本身不执行 git,而是在当前会话登记一段系统侧指令,随下一轮模型请求交给 Agent,由 Agent 用 shell 核对改动并完成提交或推送。下面介绍它的定位、安装方式、命令与配置。

这是什么

  • 包名:dsh-plugin-git-command(npm / DSH 插件包)
  • 仓库与维护:GitHub 仓库 rh666666/dsh-plugin-git-command,README 与 package.json 中作者字段为 adoleiiiiii
  • 版本:资料中 package.json 为 0.1.0,许可证 MIT,运行环境 Node.js >=18
  • 解决的问题:用固定斜杠命令触发一轮「按配置规则提交 / 推送」的 Agent 工作流,而不是在聊天里临时口述整套 git 规范

DSH 生态里插件是扩展能力的主要方式;社区目录页见 skillhub.cn 上的插件条目,与 DeepSeek / 幻方无官方从属关系,本文仅以仓库 README 与 package 信息为准。

核心功能

三条斜杠命令

命令 作用
/commit 提交,不推送
/push 推送,不创建提交
/commit-push 先提交,再推送

三条命令均可选 [<备注>],备注会作为开启这一轮的用户消息内容。

与直接让 Agent 跑 git 的区别

  • 命令不调用 git;只向当前会话注入指令,指令只走系统提示,对话历史里看不到。
  • 输入命令后立即开始一轮模型请求,不会留到下一条无关消息。
  • Agent 需自行用 git status 等核对改动;拉取或推送失败(含冲突)时应停下说明情况,不强制推送(行为由插件 README 约定,实际仍取决于 Agent 与 DSH 会话策略)。

可配置项

在 DSH 设置 → Git 提交命令(或 profile 的 cordis.patch.yml)中可改,保存即生效;缺失字段用默认值,非法枚举回退默认并告警。

配置项 取值 默认 说明
messageExample 多行文本 feat(scope): 说明这处改动为什么必要 只学格式,不抄内容
note 多行文本 空 追加的要求
scope session / repository session 只提交本次会话改过的文件 / 提交全部改动(git add -A)
pushStrategy rebase / merge rebase 推送前用 git pull --rebase 还是 --no-rebase

不想用面板时,可在 profile 的 cordis.patch.yml 追加例如:

- id: git-command
  config:
    messageExample: |-
      feat(scope): 说明这处改动为什么必要
    note: 只提交源码,不要提交构建产物。

安装与启用

先做安装:将 <profile> 换成目标 profile(例如 desktop)。需要锁版本时可写 dsh-plugin-git-command@0.1.0。

dsh plugin --profile <profile> add dsh-plugin-git-command

也可以在 设置 → 插件 → 添加插件 里直接填包名;同一输入框还支持 Git 地址、压缩包和本地绝对路径,或把代码仓库交给 DSH 自行安装(以 DSH 当前版本文档为准)。

装完后在 设置 → 插件 里启用,并重启 DSH 才会加载新模块。

典型用法

1、在设置里写好 messageExample、note,按需把 scope 设为 session 或 repository,把 pushStrategy 设为 rebase 或 merge。

2、改完代码后,在会话里输入例如:

/commit 修复登录表单校验

或只推送、或一步完成:

/push
/commit-push 同步本次会话改动

3、插件登记指令并立刻开启一轮;Agent 按配置与备注执行 git 操作。你可在终端或 Agent 输出里确认 git status、提交信息与 push 结果。

适用场景与注意

适合:经常在 DSH 里用 Agent 改仓库、希望用统一斜杠入口触发「提交 / 推送」且把 message 格式、暂存范围、pull 策略写进配置,减少每轮重复说明的场景。

注意:

  • 插件以当前 DSH 进程权限运行;Agent 执行的 git 命令同样受本机权限与仓库状态影响。安装前建议阅读 仓库源码 与 MIT 许可证,确认符合你的安全与合规要求。
  • 插件不替代 code review 或 CI;冲突、未跟踪敏感文件等问题仍需人工判断。
  • 星标、下载量等动态数据以 GitHub / npm 页面为准,本文不列举未在已抓取资料中出现的统计。

结尾

dsh-plugin-git-command 的价值在于:把 Git 提交与推送的流程入口和格式 / 范围 / 拉取策略收进 DSH 插件配置,用 /commit、/push、/commit-push 触发一轮 Agent 执行,而不是插件自己去跑 git。

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

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

Xiaoye