ygzhang-lab/dsh-plugin-git-commit-push ↗★ 1

dsh-plugin-git-commit-push

0 Token Git 提交推送插件,一次调用完成,按 Conventional Commits 为每个变更文件自动生成提交信息,必要时询问打标签。One-call Conventional-Commits git workflow for DeepSeek Harness: survey + commit + optional tag + push, plus a /git-commit-push slash command that runs with no model involvement. Windows and macOS/Linux. 适合需要快速、免模型消耗自动生成规范 Git 提交信息的开发者。

Package
dsh-plugin-git-commit-push
Compatibility
Unverified
Harness peer range
^0.2.0-rc.1
Version
1.0.4
License
MIT
Last updated
Oct 9, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ygzhang-lab/dsh-plugin-git-commit-push

配置

配置只有一条通道:JSON 文件。 本插件不导出 Cordis Config schema,没有挂载行 config 这一层, DSH 的设置页里也不会有它的表单。原因很直白:那个表单在受支持的 profile 上从未真正出现过, 而一个悄悄什么都不做的配置界面,比没有配置界面更糟——于是 lib/schema.js 被删除, @deepseek-ai/schemastery 不再是依赖,uiOverrides / resolveSettings 那套行配置层也一并去掉。

装完就有得改:插件在挂载时把配置模板写到 /git-commit-push.config.json。 DSH 启动加载插件时,如果这个文件还不存在,插件就用包内模板生成一份(里面每个键、每段说明都在), 所以装完重启 DSH 之后,你直接打开 ~/.dsh/git-commit-push.config.json 编辑即可——不必去 node_modules 里翻模板,也不必担心重装插件把它冲掉(它不在包目录里)。规则很简单:

  • 只在文件不存在时创建(用排他写 wx,不是先判断再写),所以你手改过的文件永远优先,绝不会被覆盖;
  • 不会因为这件事失败:家目录不可写、$DSH_HOME 指向一个文件等情况下只记一条日志,插件照常挂载(用内置默认值);
  • 删掉它就是「回到默认值」——下次 DSH 启动会再生成一份全新的。

两层来源,自上而下覆盖:

层位置谁写它
1/git-commit-push.config.json(默认 ~/.dsh/git-commit-push.config.json)插件首次挂载时自动生成,之后你自己编辑
2包内模板 git-commit-push.config.json随包出货(重装会被替换)
—内置默认值兜住以上都没设的字段

文件缺失不是错误(用默认值);文件存在但不是合法 JSON 时,结果卡片里会追加一行 「配置未生效:…」,而不是静默忽略。没写的键保持默认值。改完不用重启 DSH:下一次工具调用 或 /git-commit-push 运行就会读到新值。

键默认说明
autoPushtrue提交后推送
autoAddtrue提交前 git add -A
tagOnVersionChangetrue版本文件变动 → 询问打 tag
tagOnBreakingtrue检测到公共声明被删除 → 询问
tagOnFileCount10改动文件数 ≥ N → 询问(0 关闭)
tagPrefix"v"建议标签前缀
askBeforeTagtruefalse 则不问,直接打建议标签(唯一会「不问就打」的开关)
askTimeoutMs120000标签询问等待上限
defaultLanguage"zh"规则生成信息的语言(zh/en)
maxFilesShown12prepare 卡片最多列几个文件
pinnedIdentity.name/email空非空时以 -c user.name/-c user.email 仅对本次提交生效;不改你的 git 配置

用户文件不一定要写全:只想改一两个键,就只写那两个键,其余保持内置默认值。 包内模板是随包出货的那一份,改它会在升级包时被覆盖——你自己的设置放用户文件。 用户文件里没有的键,就是插件后来新增的:插件不会改写你已有的文件(怕覆盖你的手改),新键直接走内置默认值。 字段的说明文字是中文(提交信息的默认语言)。

环境变量:

  • DSH_HOME:DSH 主目录,默认 ~/.dsh(Windows 下默认 %USERPROFILE%\.dsh)。它同时决定用户配置文件的位置。