前言¶
在 DSH 會話裏讓智能體生成 git commit 信息時,常見的問題是:內容能寫出來,但不一定符合團隊提交規範。日誌不規範會影響 review、Release Notes 和版本管理。
7dgroup-ai/dsh-skill-7d-git-commit 是一個 DSH 組合層插件包。它在 ctx.skills 上註冊 7d-git-commit 技能,並在生成 git commit 信息前,按 7DGroup 提交規範進行客戶端校驗。
下面介紹它的定位、校驗規則、安裝方式、使用示例,以及當前資料中可確認的 GitLab 集成邊界。
插件定位¶
- 倉庫 owner:
7dgroup-ai - npm 包名:
@7dgroup/dsh-skill-7d-git-commit - 版本:
0.1.0-rc.3 - 許可證:
MIT - 類型:DSH bundle 插件,屬於組合層,資料中標明“零核心改動”
- 啓用方式:安裝 bundle 後,在對應 DSH profile 會話中可用;移除 bundle 即可卸載
它的主要作用是把提交規範檢查前移到 DSH 會話中:在真正執行 git commit 前,先檢查提交信息是否符合 7DGroup 規範。
校驗規則¶
資料中可確認的校驗點包括:
- 在
git commit執行前進行客戶端提交信息校驗 - 支持 9 個固定中文類型標籤,例如
【新增】、【修復】、【優化】、【文檔】;完整標籤列表以規範文件爲準 - 校驗標題長度、標點、禁用字符 / 禁用短語和措辭規則
- 校驗正文格式:編號列表、每行最多 70 字符
- 對合並提交和緊急
[skip-check]部署提供豁免 - 附帶
references/git-commit-message.md作爲按需加載的規範來源
README 中給出的高層規則如下:
- 標題格式:
【類型】簡短描述 - 標題長度:標籤後不超過 50 個字符
- 標題末尾不使用
。、,、.、, - 標題和正文中禁用字符:
@ # $ % ^ & * ~ - 禁用短語:臨時記錄、
TODO、FIXME、情緒化措辭 - 正文行最多 70 字符,且只使用編號列表
README 的項目結構將規範文件路徑寫爲:
assets/7d-git-commit/references/git-commit-message.md
安裝與啓用¶
環境要求¶
dsh CLI
Node ^22.19.0 || >=24.0.0
pnpm 10+
peerDependencies 爲:
@deepseek-ai/cordis ^4.0.1
@deepseek-ai/dsh-invariants ^0.1.0-rc.5
@deepseek-ai/dsh-skill ^0.1.0-rc.5
包中 dsh.bundle.patch 指向:
./cordis.patch.yml
使用 GitHub 安裝¶
資料給出的安裝命令是:
dsh plugin --profile web add github:7dgroup-ai/dsh-skill-7d-git-commit
該示例使用 web profile。
首次通過 git 安裝時,pnpm 會拒絕運行 build script,直到你把精確 package key 加入對應 profile 的 pnpm-workspace.yaml 的 allowBuilds。加入後,重新運行同一條安裝命令。
使用 npm 包安裝¶
資料同時給出 npm 包安裝命令:
dsh plugin --profile web add @7dgroup/dsh-skill-7d-git-commit
資料說明,爲避免 build 授權,可使用預構建 tarball 或已發佈 npm 包。當前資料未說明 GitHub 安裝和 npm 安裝哪個是唯一默認方式。
在 dsh 會話中安裝¶
資料建議在 dsh 會話中直接要求智能體安裝:
安裝插件 github:7dgroup-ai/dsh-skill-7d-git-commit
資料說明,git 安裝時智能體可能會遇到同一個 pnpm allowBuilds 檢查,並打印需要加入的 key。按提示加入對應 profile 的 pnpm 配置文件後,再讓智能體重試。
資料中給出的會話示例路徑是:
~/.dsh/profiles/<name>/pnpm-workspace.yaml
典型用法¶
安裝後,在 dsh 會話中提出 commit 相關請求即可。資料給出的示例包括:
Generate a commit message for the current changes.Write a commit message for these changes.Check whether my commit message follows the 7DGroup convention.Fix the commit message so it passes the validation rules.
也可以顯式觸發技能:
/7d-git-commit
資料描述的技能步驟如下:
1、分析當前變更。
2、從允許的 9 類標籤中選擇最匹配的類型標籤。
3、生成 subject line,格式爲 【類型】動作 + 對象,標籤後不超過 50 字符,且結尾不加標點。
4、對複雜變更增加編號正文,每行不超過 70 字符。
5、運行校驗清單,拒絕或修復不符合項。
GitLab 集成¶
資料說明,該插件同時提供客戶端 DSH skill 和服務端 GitLab hook,用於“客戶端預檢 + 服務端強制”。
- 客戶端:
assets/7d-git-commit/SKILL.md在git commit前校驗提交信息 - 服務端:
docs/gitlab-integration/pre-receive在 push 到達 GitLab 前校驗 - 共享規則來源:
assets/7d-git-commit/references/git-commit-message.md - 兼容說明:服務端集成適配並驗證於
GitLab CE 19.2.0的 server-side hooks
資料中給出的 pre-receive 流程是:從 stdin 讀取 pushed refs,格式爲 oldrev newrev refname,然後使用 git log 提取 author、date、subject,並通過正則檢查 subject 前綴。
需要說明的是,資料中的 pre-receive 正則示例被截斷,完整服務端 hook 規則未確認。使用 GitLab 側規則時,應以倉庫中的實際文件和配置爲準。
適用場景與注意¶
適合以下使用方式:
- 希望在 DSH 會話中生成 commit message 前先按固定規範檢查
- 希望客戶端預檢和服務端 GitLab hook 使用同一份規範來源
- 希望以 bundle 方式安裝,避免核心改動
注意:
- DSH 插件會在當前 dsh 進程權限下運行相關動作。安裝前應檢查源碼、許可證和依賴。
- 本插件許可證爲
MIT。 - 運行要求包括
dshCLI、Node ^22.19.0 || >=24.0.0、pnpm 10+,以及上述 peerDependencies。 - 通過 git 安裝會觸發 pnpm build script 授權檢查;若環境不允許運行 build script,可改用資料給出的 npm 包安裝方式。
- 資料未提供分類、星標數、目錄頁 URL 等字段;本文不把這些無法確認的信息寫成確定事實。
結尾¶
7dgroup-ai/dsh-skill-7d-git-commit 的價值在於把 7DGroup commit 規範變成 DSH 會話中的前置檢查,並在需要時配合 GitLab 服務端 hook 使用。
當前已覈實資料未提供目錄頁 URL;GitHub 倉庫爲:
https://github.com/7dgroup-ai/dsh-skill-7d-git-commit