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 提交信息的开发者。
설치
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 运行就会读到新值。
| 键 | 默认 | 说明 |
|---|---|---|
autoPush | true | 提交后推送 |
autoAdd | true | 提交前 git add -A |
tagOnVersionChange | true | 版本文件变动 → 询问打 tag |
tagOnBreaking | true | 检测到公共声明被删除 → 询问 |
tagOnFileCount | 10 | 改动文件数 ≥ N → 询问(0 关闭) |
tagPrefix | "v" | 建议标签前缀 |
askBeforeTag | true | false 则不问,直接打建议标签(唯一会「不问就打」的开关) |
askTimeoutMs | 120000 | 标签询问等待上限 |
defaultLanguage | "zh" | 规则生成信息的语言(zh/en) |
maxFilesShown | 12 | prepare 卡片最多列几个文件 |
pinnedIdentity.name/email | 空 | 非空时以 -c user.name/-c user.email 仅对本次提交生效;不改你的 git 配置 |
用户文件不一定要写全:只想改一两个键,就只写那两个键,其余保持内置默认值。 包内模板是随包出货的那一份,改它会在升级包时被覆盖——你自己的设置放用户文件。 用户文件里没有的键,就是插件后来新增的:插件不会改写你已有的文件(怕覆盖你的手改),新键直接走内置默认值。 字段的说明文字是中文(提交信息的默认语言)。
环境变量:
DSH_HOME:DSH 主目录,默认~/.dsh(Windows 下默认%USERPROFILE%\.dsh)。它同时决定用户配置文件的位置。