dsh-plugin-noema:DeepSeek Harness 的代码复杂度审查插件
wjw99830/dsh-plugin-noema
Noema 是一款 DSH 插件,在每次编码任务后对比圈复杂度、认知复杂度与嵌套深度,帮你快速定位需要重点审查的代码改动。
dsh-plugin-noema 是面向 DeepSeek Harness 的代码复杂度审查插件,专门解决 AI 辅助开发中改完代码却不知道哪里变复杂的问题。它在每轮编码任务结束后,对比圈复杂度、认知复杂度与最大嵌套深度三项指标的前后变化,并支持按文件与函数逐层展开定位改动位置。分析全部在本地完成,结果不进入模型上下文,支持 TypeScript、Python 与 Go,未变更代码默认隐藏,没有受支持改动时不会弹出卡片打扰。
如何安装
dsh plugin --profile web add dsh-plugin-noema- 分类
- 开发与运维
- 平台
- DSH Plugin
- 作者
- wjw99830
- 分发方式
- 插件
dsh-plugin-noema 核心特性
dsh-plugin-noema 仓库简介
它是做什么的?
Noema 是 DeepSeek Harness(DSH)的代码复杂度审查插件,在每次编码任务结束后展示代码复杂度的变化。它解决的是 AI 辅助开发中「改完不知道哪里变复杂了」的问题,让你把评审精力集中在真正需要细看的文件和函数上。插件在本地完成分析,对比每轮对话开始与结束时的代码状态,结果不进入模型上下文。
核心功能
- 三项复杂度指标对比:同时给出圈复杂度、认知复杂度与最大嵌套深度在任务前后的变化,帮助定位独立路径、控制流难度与嵌套层级上的改动。
- 文件与函数两级展开:可逐层展开文件或函数查看具体变化位置,
[Top Level]单独展示顶层代码,未变更代码默认隐藏、需要时可展开。 - 本地分析且不污染上下文:分析在本地运行,对比每轮开始与结束的工作区状态(含期间的手动编辑),结果保留在模型上下文之外。
- 语言支持明确:支持 TypeScript(含 TSX)、Python 与 Go,JavaScript 与 TypeScript 声明文件不在分析范围内。
- 无变化不打扰:没有受支持的代码改动时不显示卡片,仅注释或格式调整同样不触发;分数不变但代码有改动时仍会展示。
- 文件范围可配置:可设置相对工作区的包含与排除模式,排除优先,并默认遵循 .gitignore、跳过常见依赖与构建目录。
怎么使用这个插件?
在 DSH 中启用后,正常让 DSH 修改受支持的源码文件,每轮任务结束就会看到复杂度变化卡片。想调整分析范围时,打开 Web 侧边栏的 Plugins → plugin-noema → Files to analyze,填写相对工作区的包含与排除模式(如 src/**、**/*.test.ts),或使用「Add common test exclusions」一键加入常见测试排除项,保存后从下一轮开始生效。若 DSH 已在运行,重启并刷新浏览器即可让插件开始分析新的对话轮次。
报错怎么排查?
没有出现复杂度卡片时,先确认本轮是否真的改动了受支持的源码:仅修改注释或格式、或改动集中在 JavaScript 与 TypeScript 声明文件时,插件不会显示卡片。若刚启用插件,需要重启 DSH 并刷新浏览器,插件只分析安装之后的新对话轮次。若某些文件未被分析,检查 Files to analyze 中的排除模式是否覆盖了它们,排除规则优先于包含规则。
本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:wjw99830/dsh-plugin-noema。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。
