Polyscan

开源。清晰的信号。

代码质量,
精确测量。

为 AI 编写代码的时代打造的结构分析工具。

你在用 Claude、Cursor 或 Codex 开发吗?Agent 写代码的速度比任何人评审的速度都快。Polyscan 对整个代码库运行结构分析——一条命令即可评分,并指出应优先修复的问题。

Python

uvx pyscn@latest analyze .

JavaScript / TypeScript / Go / Rust / C++

npx polyscan analyze .

无需安装、无需注册,代码不会离开你的机器。

pyscn / 结构读数
示例运行
健康分:74/ 100

代码库健康度

B 级

一份结构快照。
告诉你接下来看哪里。

3 项指标超出阈值

结构指标05 项检查
CC圈复杂度
最大 31
超出阈值
DUP重复率
8.2%
超出阈值
DEAD死代码
0 处
阈值以内
DEP依赖循环
2 个循环
超出阈值
CBO类耦合度
最大 9
阈值以内

在你的代码库上运行

uvx pyscn@latest analyze .

一个代码库。五个维度。明确的下一步。

你的技术栈,全覆盖PythonTypeScriptJavaScriptGoRustC++

测量结果

更少猜测,更多信号。

每个分析器都会以 0-100 的分数和 A-F 等级为代码库评分,并生成 HTML 报告,从五个角度审视你的代码。

DEAD

死代码

通过遍历控制流图而非猜测,找出可以安全删除的不可达代码。

DUP

重复代码

找出值得合并的复制粘贴和结构相似代码——基于树编辑距离的 Type 1-4 克隆检测。

CC

复杂度

按圈复杂度对难以阅读、难以测试的函数排序,让你知道从哪里入手。

DEP

依赖关系

循环导入和不稳定的模块依赖,以及代码库实际形成的模块社区。

CBO

类设计

用 CBO 耦合度和 LCOM 内聚度衡量那些做得太多或依赖太多的类。

全局视角测量的是
结构。
了解你的分析器

测量仪器

一个引擎,每种语言一个分析器

分析算法位于一个共享的、与语言无关的 Go 模块中。每个分析器只实现解析和分类,因此所有语言都按同一套规则评分。

pyscn

Python

最早的分析器。提供 CLI、MCP 服务器和 Agent Skills,并驱动 Polyscan。

uvx pyscn@latest analyze .

polyscan

JS / TS · Go · Rust · C++

一个 CLI 覆盖 JavaScript、TypeScript、Go、Rust 和 C++。按扩展名识别每个文件的语言,并将所有结果汇总到一份带健康评分的报告中。以预构建二进制形式通过 npm 分发——无需安装任何工具链。

npx polyscan analyze .

core

Go module

两个分析器背后与语言无关的引擎:APTED 树编辑距离、LSH/MinHash 克隆索引、CFG 分析、耦合度与内聚度指标。

go get github.com/ludo-technologies/polyscan/core

复杂度和重复代码覆盖所有语言。死代码、依赖关系和类设计目前仅适用于 Python 和 JavaScript/TypeScript;某种语言不具备的维度会从其评分中排除,而不是被计为干净。

Agent 技能

为编码 Agent 而建

分析器附带 Agent Skills,教 AI 代理何时以及如何运行每种分析——健康检查、重构、架构评审和 CI 友好报告。支持 Claude Code、Cursor、Codex、Gemini CLI 等。

pyscn Skills

uvx add-skills ludo-technologies/pyscn

polyscan Skills

npx skills add ludo-technologies/polyscan

Claude Code plugin

claude plugin marketplace add ludo-technologies/polyscan

然后直接提问

  • 分析 src/ 目录的代码质量
  • 找出重复代码并帮我重构
  • 展示复杂的代码并帮我简化

持续监控

用 CLI 测一次。用 App 每周跟踪。

GitHub App 每周测量整个仓库的复杂度、重复、死代码和依赖关系。它持续跟踪结构性劣化,在 GitHub Issue 中报告应优先修复的问题,并在 Pull Request 上发现新问题。每周测量对所有仓库免费。

FAQ

常见问题

QPolyscan 到底测量什么?

结构,而非风格。死代码、重复代码、圈复杂度、模块依赖循环以及类的耦合度和内聚度——正是这些让代码库的修改成本变高。它不是 linter 或格式化工具,而是与它们互补。

Q为什么这对 AI 生成的代码很重要?

编码 Agent 能快速产出可运行的代码,但它们倾向于重复逻辑、扩展函数而不是重构。这些问题会悄然累积。Polyscan 为你和你的 Agent 提供可对照的度量,让清理变成具体的任务,而不是模糊的感觉。

Q需要安装什么吗?

不需要。uvx 和 npx 直接运行分析器。两者都以基于 tree-sitter 构建的单个 Go 二进制文件分发,完整分析快到可以在每次提交时运行。

Q支持哪些语言?

Python 通过 pyscn,JavaScript、TypeScript、Go、Rust 和 C++ 通过 polyscan。复杂度和重复代码对所有语言都可测量。死代码、依赖关系和类设计需要目前只有 Python 和 JavaScript/TypeScript 后端才会构建的导入图和类模型,因此这些维度会从 Go、Rust 或 C++ 的评分中排除,而不是被计为干净。

Q它是开源的吗?

是,MIT 许可证。分析器、共享核心和 Agent Skills 都在 GitHub 上公开。

立即运行

一条命令为代码库评分

在你正在工作的仓库上运行——只需几秒,无需安装任何东西。

终端

uvx pyscn@latest analyze .

终端

npx polyscan analyze .