Deslop:给 AI 生成的 TypeScript 上枷锁,Oxlint 一条新规则集
Hacker News 上挂出一个叫 Deslop 的开源项目,作者 maharshi365 把它发在 Show HN。一句话,就是给 AI 生成的 TypeScript 准备的一套 Oxlint 规则,专门盯不安全类型、重复代码和低价值测试这三类毛病。它现在 22 个 upvote、5 条评论,算不上大热,但 HN 评论区里几个常做 LLM 代码生成的人聊得挺实诚,比热度本身有意思。
核心规则里有一条叫 no-reflect-get,评论区有位做 AI 辅助开发的人直接点名说这一条他必装,因为「Claude 就是疯狂喜欢 Reflect.get」。这我深有体会,模型在生成的时候对某些 API 有很强的路径依赖,会反复往同一个写法上绕,而你根本说不清它为什么这么执着。这类规则的价值不在「代码规范」层面,而在它把你盯 code review 时那种隐隐的不对劲,提前变成了机器能帮你兜底的东西。
评论区另一位开发者说得更直接:他自己做 LLM 代码生成,oxlint 和一些通用 ast-grep 规则已经成了「绝对必需品」,而且他是顺着 CodeRabbit 的 ast-grep-essentials 那个仓库才走到这条路上的。还有人在同时用 oxlint 管 TypeScript、再用自己的工具做跨语言的 AST 规则和 LLM 钩子输出,最近还加上了 vale。意思是这套东西不是孤立存在的,它正慢慢长成「AI 生成代码 + 静态检查」这套工作流里的一根支柱。
比较有信息量的一条评论是说,这些规则让他想起 eslint-plugin-unicorn,而作者本人回复说 oxlint 已经把 unicorn 作为插件内置了,可以先去查一查,还开放了 PR 让社区往里补规则。作者自己也说他已经在朋友的「烂代码库」上开跑了,感觉挺好。
这套东西真正戳中的痛点是:AI 生成的代码质量方差极大,你不可能靠人肉 review 一条条把关。一个防御性很强的 lint 配置,加上接近 80% 的测试覆盖率,才能让这类 AI 辅助开发不至于失控。Deslop 做的不是让你写得更爽,而是让 AI 写的代码在进主分支之前,先被一整套规则筛一遍,把那些反复出现的坏习惯挡在外面。
它现在还在很早期,规则集不算大,评论区已经有「等 oxlint 插件支持」的声音(虽然 unicorn 已内置,但自定义规则的生态还在建设中)。作者的态度是开放的,欢迎 PR。对正在大规模引入 AI 写代码、又怕代码质量失控的团队来说,这类「给模型上枷锁」的工具,大概会比单纯追新模型更值得盯一眼。
我不确定这套规则实际能覆盖多深、误报率如何,仓库里具体有多少条规则也没细看,但这些先留给真上了手的人去评价。方向是对的。