用途:在 Python、TypeScript、Rust 代码库中查找并清理未使用代码,适用于发布前清理、重构减负、排查包体积或编译时间问题,以及了解代码实际使用情况。不用于检测代码重复。
主要能力:按语言选用工具。Python 用 vulture v2.14+,检测未使用导入、函数、类、变量,基于 AST 并带 60-100% 置信度评分与白名单;TypeScript 用 knip v5.0+,检测未使用导出、依赖、文件,支持 monorepo 与自动修复;Rust 用 cargo clippy 与 rustc lint,检测未使用函数、导入及 dead_code 警告。
使用方式:Python 执行 uv pip install vulture,再运行 vulture src/ --min-confidence 80,可用 --make-whitelist 生成白名单后重扫。TypeScript 执行 bun add -d knip、bunx knip --init、bunx knip,自动修复用 bunx knip --fix。Rust 执行 cargo clippy -- -W dead_code -W unused_imports -W unused_variables,严格模式用 -D dead_code,自动修复用 cargo clippy --fix --allow-dirty。可集成 CI,如 pyproject.toml 的 [tool.vulture]、package.json 脚本、Cargo.toml 的 [lints.rust]。
限制与注意:框架调用的路由、测试夹具、公共 API、后台任务、事件监听、序列化回调等易被误报;动态加载代码可能漏检。删除前应并行运行意图、集成、历史三类子代理验证,区分真正死代码、未实现功能、未完成集成与误报,并按风险等级处理,公共 API 等关键项绝不自动删除。具体配置与更多细节以官方文档为准。