前言¶
在 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。