dsh-code-review-graph:DSH 上的代码图谱与审查工作流

前言

在 DeepSeek Harness(DSH)里做代码审查或结构分析,常见做法是反复让模型读文件、猜依赖关系,或自己切分支、跑 diff 再粘贴上下文。图谱类工具往往又要单独装 Python 环境、起本地服务。若希望审查流程、建图和交互浏览都落在 DSH 插件体系内,且尽量本地运行、不默认走云端,可以看一下社区插件 dsh-code-review-graph(维护者 summingwang233,SkillHub 分类为模型推理)。它面向 DSH 原生集成,复用 Code Review Graph 2.3.9 引擎,提供 30 个工具、5 个工作流 prompt、7 个技能,以及 Web/桌面右侧栏的交互代码图谱。

这是什么

dsh-code-review-graph 是 npm 包 dsh-code-review-graph(当前发布版本 1.0.5),描述为面向 DeepSeek Harness 的本地代码智能、审查工作流与交互图谱。引擎与上游 CRG 对齐;插件负责 DSH 会话绑定仓库、工具 schema、技能斜杠入口、桌面侧栏图谱页,以及通过 prepare 在隔离目录安装 Python 引擎(默认 ~/.dsh/code-review-graph/engine)。

兼容基线固定为 DSH 0.1.5-rc.2 与 0.2.0-rc.2;Alpha 版本不在兼容承诺内。支持 Windows、Linux、macOS。许可证为 MIT。

核心功能

引擎与工具规模

  • 复用 Code Review Graph 2.3.9,暴露 30 个工具(原 MCP 名前缀为 mcp__code_review_graph__,在 DSH 中经插件封装为 crg_* 等)。
  • 5 个工作流:通过模型调用 crg_workflow 或 crg_prompt 限定工具范围,包括 context、review、refactor、export、advanced,以及展开全部工具的 all。
  • 7 个技能(斜杠命令,供模型驱动分析):见下文表格。

不依赖模型的图谱

交互图谱可在界面直接生成:无需模型、聊天提示词或 JSON 参数。首次在侧栏点击「准备引擎并生成图谱」会一次性准备固定版本 Python 引擎并解析当前会话仓库;之后用「更新图谱」增量刷新。图谱默认写入当前仓库 .code-review-graph/graph.html,支持搜索、过滤、缩放、拖动与导出 HTML。资源通过 DSH 工作区文件接口读取,内联到限制权限的 iframe,不启动固定端口 HTTP 服务。

两个无参用户命令

下列命令由用户直接执行,不需要参数、不调用模型:

命令 用途
/crg-setup 单独准备或检查本地图谱引擎
/crg-graph 首次准备引擎并生成图谱,之后更新图谱;返回本地 HTML 路径

七个模型技能

在会话输入框键入 /crg- 可搜索;也可在消息开头写完整技能名并接任务描述:

技能 用途
/crg-build-graph 建立/更新图谱并分析结构
/crg-explore-codebase 探索模块、依赖和调用关系
/crg-review-changes 审查代码变化
/crg-review-delta 对后续修改做增量复查
/crg-review-pr 审查 PR 或分支差异
/crg-debug-issue 沿调用关系定位问题
/crg-refactor-safely 规划、预览和受控重构

本插件没有注册 @dsh-code-review-graph 引用,也没有 /crg_workflow、/crg_visualize 等用户斜杠命令;crg_workflow、crg_prompt、crg_visualize 是供模型调用的工具,需在聊天中明确要求模型调用。

权限与重构

执行器使用会话规范化仓库路径,模型不能指定任意 repo_root;authorizedRepos 默认为空,跨仓库读取受 Host 配置约束。重构类工具在非预览模式下经 DSH 文件意图与 SHA-256 校验后写入;云端嵌入需在插件配置中显式配置 embeddingProviders,默认语义搜索可在无本地嵌入时降级为引擎自带 FTS/关键词。

安装与启用

Web 与命令行通过官方 CLI 安装已发布 npm 包;桌面版通过对应版本的原生插件管理器安装 dsh-code-review-graph@1.0.5。命令行 profile 将示例中的 web 换为 headless 或你使用的 profile。

下面一步安装插件并主动触发一次性引擎准备(prepare 优先使用 uv 或本机 Python 3.10+;Windows Store 的 Python 占位程序不算可用运行时,可用 --python /path/to/python 指定):

dsh plugin --profile web add dsh-code-review-graph@1.0.5
npx dsh-code-review-graph@1.0.5 prepare

桌面版在插件管理器中安装 dsh-code-review-graph@1.0.5 后点击「立即启用」。已有 0.1.x 的用户应先卸载旧版再装新版;桌面 profile 由应用持有,外部 CLI 不直接修改 desktop profile。正常启动与模型工具调用不会自动安装依赖、下载嵌入模型或默认使用云端服务。

卸载示例(Web/CLI profile):

dsh plugin --profile web remove dsh-code-review-graph

桌面版使用原生管理器卸载;卸载保留用户设置、其他插件、隔离引擎与仓库内已有图谱文件。

典型用法

桌面端第一次看图谱

  1. 启用插件,在 Git/SVN 项目工作区新建会话。
  2. 打开右侧栏 → 新标签页 → 开始 → Code graph / 代码图谱。
  3. 点击 准备引擎并生成图谱(首次需联网及 uv 或 Python 3.10+)。
  4. 之后点击 更新图谱;需要时用 导出 HTML 保存可独立打开的页面。

也可在聊天中执行 /crg-graph 或 /crg-setup,效果与侧栏流程对应。

用模型探索仓库

先在 DSH 选择项目工作区;终端里 cd 不会改变已有会话绑定的仓库。示例:

/crg-explore-codebase 介绍当前仓库的入口、核心模块和调用关系。

聊天里应出现实际工具调用记录;模型仅提到工具名不代表已执行。

审查改动或 PR

/crg-review-changes 请审查当前未提交改动,以 HEAD 为基准,指出风险和缺失测试。

需要按分支对比时,可要求模型调用 crg_prompt,例如(将 main 换成仓库实际分支):

请调用 crg_prompt,参数为 {"name":"review_changes","base":"main"},按返回的工作流审查当前分支的改动。

生成图谱文件路径(模型工具)

请调用 crg_visualize,参数为 {"mode":"full","format":"html"},生成当前仓库的交互代码图谱,并告诉我生成文件的路径。

侧栏「重新读取」适合在模型生成 HTML 后刷新页面,而不重新解析仓库。

适用场景与注意

适合谁:已在 DSH 0.1.5-rc.2 或 0.2.0-rc.2 上开发、需要本地代码图谱、结构化审查工作流,或希望侧栏直接浏览调用关系而不每次手写提示词的开发者。

运行与信任:插件以当前 DSH 进程权限访问会话绑定仓库;安装前应阅读 GitHub 仓库 源码与 MIT 许可证。SkillHub 目录页(https://www.skillhub.cn/plugins/sumingwang233/dsh-code-review-graph)为社区收录,与 DeepSeek/幻方无官方从属关系;DSH 生态遵循「一切皆插件」,第三方插件需自行评估版本与镜像源(npm latest 与镜像可能不同步,建议显式指定 @1.0.5)。

版本说明:1.0.5 修复 1.0.3 中 crg_workflow/crg_prompt 工具 schema 导致整轮会话失败的问题;工具数量、工作流与一键 prepare 逻辑相对 1.0.3 未改。若桌面管理器仍显示旧元数据,应核对 ~/.dsh/profiles/desktop/node_modules/dsh-code-review-graph/package.json 中的 version 是否为 1.0.5。

并发与取消:同仓库活跃 Agent 共享图谱后端;取消或超时可能中断同仓库并发调用,失败与解析警告会保留在结果中。

结尾

dsh-code-review-graph 把 Code Review Graph 引擎装进 DSH:侧栏可无模型建图,聊天里用七个 /crg-* 技能和工作流工具做审查与探索,安装与引擎准备命令在 README 中写全。进一步了解能力与验证边界见仓库内 docs/capabilities.md、docs/validation.md。

  • SkillHub:https://www.skillhub.cn/plugins/sumingwang233/dsh-code-review-graph
  • GitHub:https://github.com/sumingwang233/dsh-code-review-graph
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye