dsh-code-smell
代码气味雷达(Code Smell Radar):静态扫描仓库的 TODO/FIXME 债务、超长行、大文件、重复代码块与未实现桩,按严重度输出修复建议。全程只读,不执行测试/构建。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:lucky8197/dsh-code-smell说明文档
阅读完整 README ↗dsh-code-smell(代码气味雷达)
Code Smell Radar for DeepSeek Harness. A read-only DSH plugin that statically scans a repository for common code smells: TODO/FIXME/HACK debt, stub implementations (
NotImplemented/未实现), over-long lines, oversized files, and duplicated code blocks — then outputs severity-sorted, actionable fix suggestions. Install with:dsh plugin --profile web add "github:lucky8197/dsh-code-smell#main".
代码在交付前往往带着一堆"以后再说"的痕迹:TODO/FIXME 债务越积越多、未实现桩混在
"已完成"代码里、超长行与重复块让维护成本上升、超大文件拖慢一切。dsh-code-smell
用纯静态扫描、全程只读把这些气味量化成可执行的修复清单。
特性
| 维度 | 说明 | 气味类型 | 严重度 |
|---|---|---|---|
| TODO/FIXME 债务 | TODO/FIXME/HACK/XXX/BUG 遗留标记,支持 TODO(john): 文案 负责人格式 | todo_debt | medium |
| 未实现桩 | NotImplementedError / NotImplemented / IMPLEMENT ME / 未实现 等 | stub_marker | high |
| 超长行 | 行长 > 阈值(默认 120 字符) | long_line | low |
| 大文件 | 单文件 > 阈值(默认 256 KB) | big_file | low |
| 重复代码块 | 精确重复的行序列(≥3 行、≥2 次,自动扩展成最大重复段) | duplicate_block | low |
快速安装
dsh plugin --profile web add "github:lucky8197/dsh-code-smell#main"
工具用法
code_smell
参数:
cwd?: string 扫描起点目录(默认当前会话工作目录)
maxLineLen?: number 超长行阈值(默认 120)
detail?: 'summary' | 'developer'
输出:canonical JSON 报告(渲染为分节文本)
canonical JSON
{
"tool": "code_smell",
"version": 1,
"cwd": "/path/to/repo",
"scanned": { "files": 42, "lines": 5312, "bytes": 102400 },
"smells": [
{ "severity": "high", "kind": "stub_marker", "file": "src/a.py",
"line": 7, "detail": "存在未实现桩(NotImplemented / 未实现 / IMPLEMENT ME 等)",
"evidence": "raise NotImplementedError",
"fix": "实现 src/a.py 第 7 行的桩逻辑,或标注为显式 TODO 并跟踪" }
],
"stats": { "smellCount": 12, "byKind": { "todo_debt": 8, "stub_marker": 1 } },
"suggestions": [ { "severity": "high", "text": "…" } ]
}
附加 :每个扫描文件的路径/行数/字节数。