编者按

7dgroup-ai/dsh-skill-7d-code-reviewer

这是一个专业级的 DSH(DeepSeek Harness)代码审查技能插件,由 7DGroup 团队开发,专为 AI 辅助代码审查场景设计。基于 TypeScript + Cordis 开发,以组合包(bundle)形式安装,通过 ctx.skills 注册 7d-code-reviewer 技能:五步审查流程、严重/中等/轻微三级问题分级、四维度评分标准,文本摘要与 HTML 报告双输出。零核心改动——安装即启用,移除 bundle 行即卸载。

这是一个 DeepSeek Harness(DSH)插件。本站汇总其 GitHub README、安装信息、维护状态与公开安全信号。

7DGroup 代码审查技能插件封面

npm version license MIT node by 7DGroup Awesome DSH Plugin

English | 中文

@7dgroup/dsh-skill-7d-code-reviewer

作者: 7DGroup

这是一个专业级的 DSH(DeepSeek Harness)代码审查技能插件,由 7DGroup 团队开发,专为 AI 辅助代码审查场景设计。基于 TypeScript + Cordis 开发,以组合包(bundle)形式安装,通过 ctx.skills 注册 7d-code-reviewer 技能:五步审查流程、严重/中等/轻微三级问题分级、四维度评分标准,文本摘要与 HTML 报告双输出。零核心改动——安装即启用,移除 bundle 行即卸载。


📌 项目信息

项目
作者7DGroup
版本0.1.0-rc.5
运行环境Node `^22.19.0
Peer 依赖@deepseek-ai/cordis · @deepseek-ai/dsh-skill · @deepseek-ai/dsh-invariants
技能名称7d-code-reviewer
仓库地址github.com/7dgroup-ai/dsh-skill-7d-code-reviewer
许可证MIT

🖼️ 插件效果

在 dsh 会话中调用技能:

调用 7d-code-reviewer 技能发起代码审查

由纯占位符模板生成的 HTML 报告示例:

代码审查HTML报告示例

核心能力

  • 模板驱动模式——职责分离:SKILL.md 决定审什么、多严重,templates/ 只负责呈现。HTML 报告模板保持纯占位符,所有占位符必须填充,动态内容一律 HTML 转义。
  • 五步审查流程——接收任务 → 快速浏览 → 逐行审查(按需加载 references/)→ 问题分级 → 生成报告。
  • 三级问题分级——🔴 严重(必须修复)/ 🟡 中等(建议修复)/ 🟢 轻微(可选改进)。
  • 四维度评分标准——代码质量 / 安全性 / 性能 / 可维护性,各维度 1–10 分,另有总体评分与自动生成的摘要描述。
  • 双格式输出——文本摘要供快速浏览,完整 HTML 报告另存为 code-review-report-{时间戳}.html
  • 内置知识库——编码规范、安全检查清单(SQL 注入、XSS、认证授权、敏感信息泄露)与审查示例,按需加载而不撑大提示词。
  • 零核心改动——纯组合包挂载,不打 DSH 核心补丁,安装与卸载均安全。

应用场景

  • 提交 / 合并请求前的代码审查
  • 存量代码的安全审计
  • 重构前的代码质量评估
  • 团队编码规范的落地执行
  • dsh 对话中的任意代码质量咨询

✅ 功能特性

  • ✅ 五步模板驱动审查流程
  • ✅ 三级问题分级与修复建议
  • ✅ 四维度评分标准(代码质量 / 安全性 / 性能 / 可维护性)
  • ✅ 文本摘要 + HTML 报告双格式输出
  • ✅ 纯占位符 HTML 报告模板与强制填充规则
  • ✅ 填充内容 HTML 转义规则文档化
  • ✅ 按需加载的知识库(编码规范 / 安全检查清单 / 审查示例)
  • ✅ 技能包不附带任何可执行脚本
  • ✅ 支持 GitHub(github: 简写)、npm、tarball 三种安装方式
  • ✅ git 安装构建自包含(prepare 钩子,仅转译)

📂 项目结构

dsh-skill-7d-code-reviewer/
├── src/                                # 源代码目录
│   ├── index.ts                        # Cordis 插件:注册技能提供者
│   └── invariant.ts                    # 伴生插件:包所有权不变量
├── assets/7d-code-reviewer/            # 随包发布的技能资源
│   ├── SKILL.md                        # 审查逻辑 + 模板选择决策
│   ├── references/                     # 知识库(按需加载)
│   │   ├── coding-standards.md         # 命名规范、代码复杂度
│   │   ├── security-checklist.md       # SQL注入、XSS、认证授权、泄露检查
│   │   └── review-examples.md          # 审查示例参考
│   ├── templates/
│   │   └── report-template.html        # 纯占位符 HTML 报告模板
│   └── scripts/
│       └── html-report-generation.md   # 填充内容的 HTML 转义规则
├── tests/                              # vitest 测试
│   └── skill-7d-code-reviewer.spec.ts
├── screenshots/                        # README 截图
│   ├── skills.png                      # 技能调用
│   └── report-preview.png              # HTML 报告示例
├── cordis.patch.yml                    # 组合层补丁
├── tsdown.config.ts                    # 构建配置(仅转译)
├── 7dgroup-dsh-skill-7d-code-reviewer-0.1.0-rc.5.tgz   # 预构建 tarball
├── package.json
└── README.md

🚀 快速开始

前置条件:dsh CLI、Node ^22.19.0 || >=24.0.0、pnpm 10+。

在 dsh 会话中安装(推荐)

最直接的方式——在任意 dsh 会话中直接告诉助手,它会替你执行安装。使用 GitHub 地址形式(npm 包名 @7dgroup/dsh-skill-7d-code-reviewer 需等发布到 npm 后才能使用):

安装插件 github:7dgroup-ai/dsh-skill-7d-code-reviewer

助手会在会话内通过 Shell 执行对应的 dsh plugin 命令。git 安装时会遇到同样的 pnpm allowBuilds 门禁,助手会打印需要添加进 profile 的 pnpm 设置文件(~/.dsh/profiles/<name>/pnpm-workspace.yaml)的确切授权键;添加后让助手重试即可完成安装。

在 dsh 中直接安装(CLI)

一条命令直接安装,github: 简写是最快捷的方式:

dsh plugin --profile <name> add github:7dgroup-ai/dsh-skill-7d-code-reviewer

<name> 是你要用 dsh --profile <name> 启动的 profile;profile 是什么、如何取名、文件放在哪里,见下文「什么是 dsh profile?」。

完整 URL 写法等价:

dsh plugin --profile <name> add git+https://github.com/7dgroup-ai/dsh-skill-7d-code-reviewer.git

dsh plugin 会把 bundle 追加进 profile 的 dsh.profile.bundles,本 bundle 自带的 patch 层在基础组合之上挂载 skill-7d-code-reviewer 行。

pnpm 在得到显式允许前会拒绝运行 git 依赖的构建脚本,所以第一次 add 会失败。把 pnpm 打印的确切包键复制进该 profile 的 pnpm 设置文件——~/.dsh/profiles/<name>/pnpm-workspace.yaml——然后重新执行:

allowBuilds:
  '@7dgroup/dsh-skill-7d-code-reviewer@git+https://github.com/7dgroup-ai/dsh-skill-7d-code-reviewer.git#<sha>': true

(使用 github: 简写时,授权键为 @7dgroup/dsh-skill-7d-code-reviewer@github:7dgroup-ai/dsh-skill-7d-code-reviewer#<sha> 形式;一律以 pnpm 打印的确切键为准。)

允许构建意味着让该包的代码在安装时于你的机器上执行,且不在任何 agent 沙箱之内。建议锁定 commit(...#<sha>),让后续推送无法悄悄改变实际运行的内容。

什么是 dsh profile?

每次运行 dsh 都会启动一个 profile——一个命名环境,其配置存放在 harness 主目录下的 ~/.dsh/profiles/<name>(若设置了 DSH_HOME 环境变量则为 $DSH_HOME/profiles/<name>)。一个 profile 目录包含:

文件作用
package.jsonprofile 清单:dsh.profile.bundles 列出按顺序挂载的插件 bundle;dependencies 存放树外插件
cordis.patch.yml你自己的补丁层,在所有 bundle 层之后应用
pnpm-workspace.yamlprofile 的 pnpm 设置;allowBuilds 授权键写在这里
node_modulespnpm 管理的插件依赖

dsh 没有默认 profile——每次运行都必须带 --profile <name>dsh webdsh --profile web 的简写)。内置的 webheadless profile 会在首次启动时自动初始化;其他名字则在你第一次执行 dsh plugin --profile <name> ... 命令时自动创建,并打印创建位置:

dsh plugin --profile tui add github:7dgroup-ai/dsh-skill-7d-code-reviewer
# dsh: initialized profile tui at ~/.dsh/profiles/tui

查看已有 profile:列出 ~/.dsh/profiles/ 目录,每个子目录就是一个 profile 名。自定义名字必须先这样创建才能启动——对未知的自定义名字执行 dsh --profile <name> 会失败,并提示 create it with 'dsh plugin --profile <name> add <package>'

从 tarball 安装(免构建授权)

仓库根目录已附带预构建 tarball——直接下载即可安装:

dsh plugin --profile <name> add ./7dgroup-dsh-skill-7d-code-reviewer-0.1.0-rc.5.tgz

或者发布到 npm 后:

dsh plugin --profile <name> add @7dgroup/dsh-skill-7d-code-reviewer

以上两种形式携带预构建代码,无需 allowBuilds 授权。

推荐配置——安装进 web profile

大多数会话默认启动 web profile(dsh webdsh --profile web 的简写),因此推荐直接把技能装进 web,无需新建 profile:

第 0 步——确保 pnpm 可用。 dsh plugin 会在 profile 目录内转发给 pnpm,所以 pnpm 必须先安装并在 PATH 上:

corepack prepare pnpm@latest --activate   # 或:npm install -g pnpm@10

第 1 步——使用 github: 简写安装。 git 安装会运行包的 prepare 构建,pnpm 在得到显式允许前会拒绝——所以第一次 add 会失败:

dsh plugin --profile web add github:7dgroup-ai/dsh-skill-7d-code-reviewer

把 pnpm 打印的确切键复制进 ~/.dsh/profiles/web/pnpm-workspace.yaml

allowBuilds:
  '@7dgroup/dsh-skill-7d-code-reviewer@github:7dgroup-ai/dsh-skill-7d-code-reviewer#<sha>': true

然后重新执行同一条命令。建议锁定 commit——在地址后追加 #<sha>github:7dgroup-ai/dsh-skill-7d-code-reviewer#<sha>),让后续推送无法悄悄改变实际运行的内容。

不想授权构建? 改用预构建 tarball——携带可直接运行的代码,不会触发 allowBuilds 门禁:

dsh plugin --profile web add ./7dgroup-dsh-skill-7d-code-reviewer-0.1.0-rc.5.tgz

安装完成后的状态。 profile 清单 ~/.dsh/profiles/web/package.json 会新增依赖与 bundle 行:

{
  "name": "dsh-profile-web",
  "private": true,
  "dependencies": {
    "@7dgroup/dsh-skill-7d-code-reviewer": "<版本>"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "@7dgroup/dsh-skill-7d-code-reviewer"
      ]
    }
  }
}

其余文件无需改动——cordis.patch.yml 保持 [],因为 bundle 自带的 patch 层会自动挂载 skill-7d-code-reviewer 行。用 dsh --profile web --dump-config 验证挂载,重启会话(bundle 变更在下次启动时生效),然后执行 /7d-code-reviewer

用的是其他 profile? 把上面的 web 换成你实际启动的名字(dsh --profile <name>);技能只在被安装进的 profile 中生效。

构建与测试

pnpm install
pnpm build   # tsdown;git 安装时也会以 prepare 钩子运行
pnpm test    # vitest

💡 使用方式

技能在你提出代码审查需求时自动生效,既可以用斜杠命令,也可以直接自然语言描述:

/7d-code-reviewer 审查这个模块:……

五步审查流程:

步骤做什么
1. 接收审查任务接收用户提交的代码或文件路径;确定语言与业务场景
2. 快速浏览判断改动性质(新业务 / 修 bug / 重构);识别核心文件与关键逻辑
3. 逐行审查按需加载对应 references;逐项检查命名、安全、性能与异常处理
4. 问题分级🔴 严重——必须修复 · 🟡 中等——建议修复 · 🟢 轻微——可选改进
5. 生成报告填充占位符 HTML 模板;输出文本摘要与 code-review-report-{时间戳}.html

输出示例(文本摘要)

✅ 优点
- 函数意图明确,返回用户数据

⚠️ 问题
🔴 严重:SQL 注入风险
  位置:get_user() 第 2 行
  描述:直接使用 f-string 拼接用户输入到 SQL 语句
  建议修复:使用参数化查询,如 cursor.execute("SELECT * FROM users WHERE id=?", [uid])

📊 总体评分:3/10
   代码质量: 5/10 | 安全性: 1/10 | 性能: 7/10 | 可维护性: 4/10

完整 HTML 报告保存为 code-review-report-{时间戳}.html,并告知你报告文件路径。

📊 分级与评分标准

问题分级:

级别标识定义处理要求
严重🔴安全漏洞、崩溃风险必须修复
中等🟡性能隐患、逻辑缺陷建议修复
轻微🟢命名优化、注释补充可选改进

四维度评分(各维度 1–10 分):

维度优秀(8-10)良好(6-7)需改进(4-5)差(1-3)
代码质量命名清晰,结构合理,无重复代码基本规范,少量问题命名混乱或复杂度过高严重违反编码规范
安全性无安全风险,参数化查询,完整验证基本安全,小瑕疵存在安全隐患有严重安全漏洞
性能算法高效,使用缓存,无N+1查询性能可接受有明显性能问题严重性能缺陷
可维护性文档完善,模块化,测试覆盖高基本可维护缺少注释或测试难以维护

总体评分区间:9-10 优秀 · 7-8 良好 · 5-6 中等 · 3-4 较差 · 1-2 很差(必须立即修复)。

📈 HTML 报告

  • 评分圆环——总体评分(1-10 分)与自动生成的摘要描述
  • 问题统计条——严重 / 中等 / 轻微问题数量与优点数量
  • 维度评分卡片——代码质量 / 安全性 / 性能 / 可维护性
  • 按严重级别分组的问题——位置、描述与修复建议(含修复代码示例)
  • 代码优点与改进建议章节
  • 纯占位符模板——所有占位符必须填充;动态内容按 scripts/html-report-generation.md 一律 HTML 转义
  • 空章节遵循"无内容填充规则"(如"🎉 未发现严重问题!")

⚠️ 注意事项

  1. 该提供方只贡献一个固定 skill,不提供运行时自定义。
  2. 报告质量依赖模型遵循占位符填充与 HTML 转义规则;没有任何机制校验生成的报告。
  3. prepare 构建不附带类型声明;dsh Loader 只加载运行时入口。
  4. 构建只做转译(dts: false),没有 lint 或类型检查脚本——类型错误只能在编辑器/IDE 中暴露。
  5. 本仓库提交消息遵循简体中文规范:【类型】简短描述(九个固定类型标签)。

❓ 常见问题

问:第一次 dsh plugin add 为什么失败? 答:pnpm 在得到显式允许前会拒绝运行 git 依赖的构建脚本。把 pnpm 打印的确切包键复制进该 profile 的 pnpm-workspace.yamlallowBuilds,然后重新执行即可。

问:如何锁定具体 commit? 答:在地址后追加 #<sha>,如 git+https://github.com/7dgroup-ai/dsh-skill-7d-code-reviewer.git#<sha>——后续推送无法悄悄改变实际运行的内容。

问:如何卸载? 答:执行 dsh plugin --profile <name> remove @7dgroup/dsh-skill-7d-code-reviewer(pnpm 移除依赖并自动对账掉 bundle 行),或手动编辑该 profile 的 package.json,从 dsh.profile.bundles 中移除对应行。不会留下任何核心补丁。

问:可以不授权构建直接安装吗? 答:可以——使用仓库根目录的预构建 tarball,或发布后的 npm 包,两者都不需要 allowBuilds

问:应该装进哪个 profile? 答:装进你实际启动的那个——dsh 每次运行都必带 --profile <name>,技能只在被安装进的 profile 中生效。大多数会话启动 webdsh web),所以 dsh plugin --profile web add ... 是最常见的命令。

问:dsh plugin 报 "pnpm not found"? 答:dsh plugin 会在 profile 目录内转发给 pnpm——先安装 pnpm 并加入 PATH(corepack prepare pnpm@latest --activatenpm install -g pnpm@10),然后重试。

📄 许可证

MIT · Copyright (c) 2026 7DGroup

REPOSITORY SIGNALS

安全与安装证据

该分数只基于公开仓库元数据与本站登记的安装证据,不等同于代码安全审计。

来源可追溯

来自公开插件目录,并链接到公开 GitHub 仓库。

许可证

仓库声明 MIT 许可证。

维护活跃度

最近 180 天内有代码更新。

安装证据

尚未登记可复验的精确安装元数据,请按仓库说明手动检查。

安装生命周期脚本

检测到 prepare,安装前请审阅脚本。

需要留意lifecycle-scripts