7DGroup 开源 dsh-skill-7d-code-reviewer 插件
文章目录7dgroup/dsh-skill-7d-code-reviewer 项目信息️ 插件效果✅ 功能特性 项目结构 快速开始在 dsh 会话中安装推荐在 dsh 中直接安装CLI什么是 dsh profile从 tarball 安装免构建授权推荐配置——安装进 web profile构建与测试 使用方式输出示例文本摘要 分级与评分标准 HTML 报告⚠️ 注意事项❓ 常见问题 许可证7dgroup/dsh-skill-7d-code-reviewer作者: 7DGroup这是一个专业级的 DSHDeepSeek Harness代码审查技能插件由 7DGroup 团队开发专为 AI 辅助代码审查场景设计。基于 TypeScript Cordis 开发以组合包bundle形式安装通过ctx.skills注册7d-code-reviewer技能五步审查流程、严重/中等/轻微三级问题分级、四维度评分标准文本摘要与 HTML 报告双输出。零核心改动——安装即启用移除 bundle 行即卸载。 项目信息项目值作者7DGroup版本0.1.0-rc.5运行环境Node ^22.19.0Peer 依赖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 会话中调用技能由纯占位符模板生成的 HTML 报告示例核心能力模板驱动模式——职责分离SKILL.md决定审什么、多严重templates/只负责呈现。HTML 报告模板保持纯占位符所有占位符必须填充动态内容一律 HTML 转义。五步审查流程——接收任务 → 快速浏览 → 逐行审查按需加载references/→ 问题分级 → 生成报告。三级问题分级—— 严重必须修复/ 中等建议修复/ 轻微可选改进。四维度评分标准——代码质量 / 安全性 / 性能 / 可维护性各维度 1–10 分另有总体评分与自动生成的摘要描述。双格式输出——文本摘要供快速浏览完整 HTML 报告另存为code-review-report-{时间戳}.html。内置知识库——编码规范、安全检查清单SQL 注入、XSS、认证授权、敏感信息泄露与审查示例按需加载而不撑大提示词。零核心改动——纯组合包挂载不打 DSH 核心补丁安装与卸载均安全。应用场景提交 / 合并请求前的代码审查存量代码的安全审计重构前的代码质量评估团队编码规范的落地执行dsh 对话中的任意代码质量咨询✅ 功能特性✅ 五步模板驱动审查流程✅ 三级问题分级与修复建议✅ 四维度评分标准代码质量 / 安全性 / 性能 / 可维护性✅ 文本摘要 HTML 报告双格式输出✅ 纯占位符 HTML 报告模板与强制填充规则✅ 填充内容 HTML 转义规则文档化✅ 按需加载的知识库编码规范 / 安全检查清单 / 审查示例✅ 技能包不附带任何可执行脚本✅ 支持 GitHubgithub:简写、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 快速开始前置条件dshCLI、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 安装时会遇到同样的 pnpmallowBuilds门禁助手会打印需要添加进 profile 的 pnpm 设置文件~/.dsh/profiles/name/pnpm-workspace.yaml的确切授权键添加后让助手重试即可完成安装。在 dsh 中直接安装CLI一条命令直接安装github:简写是最快捷的方式dsh plugin--profilenameaddgithub:7dgroup-ai/dsh-skill-7d-code-reviewername是你要用dsh --profile name启动的 profileprofile 是什么、如何取名、文件放在哪里见下文「什么是 dsh profile」。完整 URL 写法等价dsh plugin--profilenameaddgithttps://github.com/7dgroup-ai/dsh-skill-7d-code-reviewer.gitdsh 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-reviewergithttps://github.com/7dgroup-ai/dsh-skill-7d-code-reviewer.git#sha:true使用github:简写时授权键为7dgroup/dsh-skill-7d-code-reviewergithub: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列出按顺序挂载的插件 bundledependencies存放树外插件cordis.patch.yml你自己的补丁层在所有 bundle 层之后应用pnpm-workspace.yamlprofile 的 pnpm 设置allowBuilds授权键写在这里node_modulespnpm 管理的插件依赖dsh没有默认 profile——每次运行都必须带--profile namedsh web是dsh --profile web的简写。内置的web与headlessprofile 会在首次启动时自动初始化其他名字则在你第一次执行dsh plugin --profile name ...命令时自动创建并打印创建位置dsh plugin--profiletuiaddgithub: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--profilenameadd./7dgroup-dsh-skill-7d-code-reviewer-0.1.0-rc.5.tgz或者发布到 npm 后dsh plugin--profilenameadd7dgroup/dsh-skill-7d-code-reviewer以上两种形式携带预构建代码无需allowBuilds授权。推荐配置——安装进webprofile大多数会话默认启动webprofiledsh web是dsh --profile web的简写因此推荐直接把技能装进web无需新建 profile第 0 步——确保 pnpm 可用。dsh plugin会在 profile 目录内转发给 pnpm所以 pnpm 必须先安装并在 PATH 上corepack prepare pnpmlatest--activate# 或npm install -g pnpm10第 1 步——使用github:简写安装。git 安装会运行包的prepare构建pnpm 在得到显式允许前会拒绝——所以第一次add会失败dsh plugin--profilewebaddgithub:7dgroup-ai/dsh-skill-7d-code-reviewer把 pnpm 打印的确切键复制进~/.dsh/profiles/web/pnpm-workspace.yamlallowBuilds:7dgroup/dsh-skill-7d-code-reviewergithub:7dgroup-ai/dsh-skill-7d-code-reviewer#sha:true然后重新执行同一条命令。建议锁定 commit——在地址后追加#shagithub:7dgroup-ai/dsh-skill-7d-code-reviewer#sha让后续推送无法悄悄改变实际运行的内容。不想授权构建改用预构建 tarball——携带可直接运行的代码不会触发allowBuilds门禁dsh plugin--profilewebadd./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 中生效。构建与测试pnpminstallpnpmbuild# tsdowngit 安装时也会以 prepare 钩子运行pnpmtest# 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)代码质量命名清晰结构合理无重复代码基本规范少量问题命名混乱或复杂度过高严重违反编码规范安全性无安全风险参数化查询完整验证基本安全小瑕疵存在安全隐患有严重安全漏洞性能算法高效使用缓存无N1查询性能可接受有明显性能问题严重性能缺陷可维护性文档完善模块化测试覆盖高基本可维护缺少注释或测试难以维护总体评分区间9-10 优秀 · 7-8 良好 · 5-6 中等 · 3-4 较差 · 1-2 很差必须立即修复。 HTML 报告评分圆环——总体评分1-10 分与自动生成的摘要描述问题统计条——严重 / 中等 / 轻微问题数量与优点数量维度评分卡片——代码质量 / 安全性 / 性能 / 可维护性按严重级别分组的问题——位置、描述与修复建议含修复代码示例代码优点与改进建议章节纯占位符模板——所有占位符必须填充动态内容按scripts/html-report-generation.md一律 HTML 转义空章节遵循无内容填充规则如 未发现严重问题⚠️ 注意事项该提供方只贡献一个固定 skill不提供运行时自定义。报告质量依赖模型遵循占位符填充与 HTML 转义规则没有任何机制校验生成的报告。prepare 构建不附带类型声明dsh Loader 只加载运行时入口。构建只做转译dts: false没有 lint 或类型检查脚本——类型错误只能在编辑器/IDE 中暴露。本仓库提交消息遵循简体中文规范【类型】简短描述九个固定类型标签。❓ 常见问题问第一次dsh plugin add为什么失败答pnpm 在得到显式允许前会拒绝运行 git 依赖的构建脚本。把 pnpm 打印的确切包键复制进该 profile 的pnpm-workspace.yaml→allowBuilds然后重新执行即可。问如何锁定具体 commit答在地址后追加#sha如githttps://github.com/7dgroup-ai/dsh-skill-7d-code-reviewer.git#sha——后续推送无法悄悄改变实际运行的内容。问如何卸载答执行dsh plugin --profile name remove 7dgroup/dsh-skill-7d-code-reviewerpnpm 移除依赖并自动对账掉 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 并加入 PATHcorepack prepare pnpmlatest --activate或npm install -g pnpm10然后重试。 许可证MIT · Copyright © 2026 7DGroup