死代码
通过遍历控制流图而非猜测,找出可以安全删除的不可达代码。
开源。清晰的信号。
为 AI 编写代码的时代打造的结构分析工具。
你在用 Claude、Cursor 或 Codex 开发吗?Agent 写代码的速度比任何人评审的速度都快。Polyscan 对整个代码库运行结构分析——一条命令即可评分,并指出应优先修复的问题。
Python
uvx pyscn@latest analyze .JavaScript / TypeScript / Go / Rust / C++
npx polyscan analyze .无需安装、无需注册,代码不会离开你的机器。
代码库健康度
B 级
一份结构快照。
告诉你接下来看哪里。
3 项指标超出阈值
在你的代码库上运行
uvx pyscn@latest analyze .
一个代码库。五个维度。明确的下一步。
测量结果
每个分析器都会以 0-100 的分数和 A-F 等级为代码库评分,并生成 HTML 报告,从五个角度审视你的代码。
通过遍历控制流图而非猜测,找出可以安全删除的不可达代码。
找出值得合并的复制粘贴和结构相似代码——基于树编辑距离的 Type 1-4 克隆检测。
按圈复杂度对难以阅读、难以测试的函数排序,让你知道从哪里入手。
循环导入和不稳定的模块依赖,以及代码库实际形成的模块社区。
用 CBO 耦合度和 LCOM 内聚度衡量那些做得太多或依赖太多的类。
测量仪器
分析算法位于一个共享的、与语言无关的 Go 模块中。每个分析器只实现解析和分类,因此所有语言都按同一套规则评分。
最早的分析器。提供 CLI、MCP 服务器和 Agent Skills,并驱动 Polyscan。
一个 CLI 覆盖 JavaScript、TypeScript、Go、Rust 和 C++。按扩展名识别每个文件的语言,并将所有结果汇总到一份带健康评分的报告中。以预构建二进制形式通过 npm 分发——无需安装任何工具链。
两个分析器背后与语言无关的引擎:APTED 树编辑距离、LSH/MinHash 克隆索引、CFG 分析、耦合度与内聚度指标。
复杂度和重复代码覆盖所有语言。死代码、依赖关系和类设计目前仅适用于 Python 和 JavaScript/TypeScript;某种语言不具备的维度会从其评分中排除,而不是被计为干净。
Agent 技能
分析器附带 Agent Skills,教 AI 代理何时以及如何运行每种分析——健康检查、重构、架构评审和 CI 友好报告。支持 Claude Code、Cursor、Codex、Gemini CLI 等。
pyscn Skills
uvx add-skills ludo-technologies/pyscnpolyscan Skills
npx skills add ludo-technologies/polyscanClaude Code plugin
claude plugin marketplace add ludo-technologies/polyscan持续监控
GitHub App 每周测量整个仓库的复杂度、重复、死代码和依赖关系。它持续跟踪结构性劣化,在 GitHub Issue 中报告应优先修复的问题,并在 Pull Request 上发现新问题。每周测量对所有仓库免费。
FAQ
结构,而非风格。死代码、重复代码、圈复杂度、模块依赖循环以及类的耦合度和内聚度——正是这些让代码库的修改成本变高。它不是 linter 或格式化工具,而是与它们互补。
编码 Agent 能快速产出可运行的代码,但它们倾向于重复逻辑、扩展函数而不是重构。这些问题会悄然累积。Polyscan 为你和你的 Agent 提供可对照的度量,让清理变成具体的任务,而不是模糊的感觉。
不需要。uvx 和 npx 直接运行分析器。两者都以基于 tree-sitter 构建的单个 Go 二进制文件分发,完整分析快到可以在每次提交时运行。
Python 通过 pyscn,JavaScript、TypeScript、Go、Rust 和 C++ 通过 polyscan。复杂度和重复代码对所有语言都可测量。死代码、依赖关系和类设计需要目前只有 Python 和 JavaScript/TypeScript 后端才会构建的导入图和类模型,因此这些维度会从 Go、Rust 或 C++ 的评分中排除,而不是被计为干净。
是,MIT 许可证。分析器、共享核心和 Agent Skills 都在 GitHub 上公开。
立即运行
在你正在工作的仓库上运行——只需几秒,无需安装任何东西。
终端
uvx pyscn@latest analyze .终端
npx polyscan analyze .