the-qian/dsh-commit-review

一个DSH插件:为Web GUI增加/commit与/review两个斜杠命令

Project Overview项目介绍

dsh-commit-review is a DSH host-side plugin that adds two slash commands to the Web GUI: /commit analyzes git changes and creates a real Conventional Commits-style commit, while /review inspects staged and unstaged changes and outputs a severity-graded markdown report without modifying files. Install via dsh plugin --profile web add from GitHub or a local path; no build step is required. Pre-checks short-circuit with a card when the directory is not a git repo, the working tree is clean, or git is missing, saving a model turn. The model runs through DSH's sandbox and approval policy, never amends commits, and never alters git config. The command parser uses spaces instead of colons, so modifiers are written as /review security. Restart the profile after installation so the bundle loads at boot.

dsh-commit-review 是 DSH 宿主侧插件,为 Web GUI 注册 /commit 与 /review 两条斜杠命令:前者分析 git 变更并按 Conventional Commits 规范真实创建提交,后者仅审查暂存与未暂存变更并按严重度输出 markdown 报告。安装方式为 dsh plugin --profile web add GitHub 或本地路径,无构建步骤。预检在非 git 仓库、工作区干净或 git 缺失时直接返回卡片,不消耗模型轮次。模型经 DSH 沙箱与审批策略执行,钩子失败会修复后新建提交,绝不 amend 或改 config。命令解析器以空格分隔修饰词,故使用 /review security 而非冒号语法。需重启 profile 使 bundle 在 boot 时装配。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add https://github.com/the-qian/dsh-commit-review.git

the-qian/dsh-commit-review 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-commit-review

DSH version License Host side No build step

一个 DSH(DeepSeek Harness) 插件:为 Web GUI 增加 /commit/review 两个斜杠命令,对标 Claude Code 内置的同名命令,把「分析变更 → 生成 Conventional Commits 提交」和「代码审查」变成一条命令即可触发的标准工作流。

  • ✅ 官方 dsh 插件形态(dsh.bundle.patch),通过 dsh plugin add 一键安装
  • ✅ 纯 Host 侧、零依赖、无构建步骤(lib/index.js 即最终产物)
  • ✅ 预检失败(非 git 仓库 / 工作区干净 / git 未安装)直接返回卡片提示,不浪费一轮模型
  • ✅ 提交与审查由模型用自身工具执行,天然走 DSH 的沙箱与审批策略
  • ✅ 注册随插件行生命周期自动装卸(ctx.effect 包裹)

安装

方式一:从 GitHub 安装(推荐)

dsh plugin --profile web add https://github.com/the-qian/dsh-commit-review.git

本包没有 prepare 构建脚本,pnpm 不会要求 allowBuilds,安装即可用。

方式二:本地路径安装

git clone https://github.com/the-qian/dsh-commit-review.git
dsh plugin --profile web add D:\path\to\dsh-commit-review

安装完成后重启 profile(bundle 层在 boot 时装配):

dsh web

重启后在输入框输入 /,即可在命令面板看到 commitreview。包名与仓库名均为 dsh-commit-review(与 cordis.patch.yml 中的行引用保持一致)。

命令

/commit [message guidance]

分析当前 git 变更并真正创建提交(不只是给出建议)。可选参数会成为提交消息的引导,例如:

/commit
/commit fix the login bug

处理流程:

  1. 预检:git status --porcelain=v1 --branch + 暂存/未暂存 diff 统计(经 subprocess 直接调用 git,无 bash 依赖,20s 超时保护)
  2. 预检通过后,将完整工作流注入模型:
    • 检查真实 diff 与最近提交风格(git log
    • 选定 Conventional Commits 类型/范围(feat/fix/docs/style/refactor/perf/test/build/ci/chore/revert,破坏性变更用 !BREAKING CHANGE footer)
    • 逻辑分组暂存(永不提交 .env、凭据、私钥等密钥)
    • 生成祈使句、一般现在时、≤72 字符的主题行
    • 执行 git commit 并用 git log -1 --stat 验证后报告哈希与消息
  3. 内置 git 安全协议:不改 config、不 force、不跳过 hooks、hooks 失败时修复后新建提交(不 amend)

/review [security|performance|simplicity|style|i18n|with-context|guidance]

审查当前未提交的变更(暂存 + 未暂存),在对话中输出按严重度分级的 markdown 审查报告,只审查、不修改任何文件

/review                  # 通用审查
/review security         # 安全优先
/review performance      # 性能优先
/review simplicity       # 简洁性优先
/review style            # 代码风格优先
/review i18n             # 国际化优先
/review with-context     # 结合全仓库上下文审查

报告格式:一段总结 → 按 critical / major / minor / nit 排序的发现(每条含 文件:行号 引用、原因说明、具体修复建议)→ 正面观察。工作区干净时提示可用 /review HEAD~1 审查指定提交。

与 Claude Code 的对标

维度 Claude Code 本插件
/commit 分析变更、生成消息并提交 ✅ 同流程,另加 git 安全协议与预检短路
/review 审查当前变更并输出报告 ✅ 同流程,支持全部官方修饰词
修饰词语法 /review:security(冒号) /review security(空格;DSH 命令解析器 [a-z0-9_-] 不支持冒号)
提交执行 模型直接执行 模型经 DSH 沙箱/审批策略执行(更安全)
会话语言 跟随用户 跟随用户(默认简体中文)

工作原理

用户输入 /commit 或 /review
        │
        ▼
commands 注册表执行 handler(dsh-commands,与 /plan 同一机制)
        │
        ├─ 预检:subprocess 直接 spawn git(status + diff --stat)
        │        ├─ 失败/无变更 → 直接返回卡片,不进模型
        │        └─ 通过 → 携带上下文快照
        ▼
agent.steer(用户消息) 把完整工作流注入模型的下一步
        │
        ▼
模型用自身工具(pwsh/read)执行真实 diff 分析、暂存、提交或审查
  • 注册表:行只消费 commands + subprocess 两个服务,不发布服务,因此无需 isolate realm
  • 生命周期:两条注册都用 ctx.effect(() => commands.register(...)) 包裹,插件行卸载时自动反注册
  • 平台无关:git 通过 subprocess.resolveExecutable('git') 解析,Windows/POSIX 通用

目录结构

dsh-commit-review/
├── cordis.patch.yml   # dsh.bundle.patch:向 profile 组合插入插件行
├── lib/
│   └── index.js       # 插件本体 { name, inject, apply },纯 JS 无构建
├── package.json       # 包元数据 + dsh.bundle 声明
├── LICENSE            # MIT
└── README.md

本地开发

# 1. 以链接方式装进 profile(改代码即时生效,重启 profile 后应用)
dsh plugin --profile web add D:\path\to\dsh-commit-review

# 2. 编辑 lib/index.js(纯 JavaScript,无需编译)
# 3. 重启 profile 验证:
dsh web

语法检查:node --check lib/index.js

License

MIT © the-qian

上一个 Prev gitcontribute 下一个 Next dsh-tts