返回 Polyscan

How it works

Polyscan 工作原理

静态分析与AI代理相结合,提供值得信赖的精准审查

Problem

AI编程时代的代码质量

Copilot和Claude等AI工具正在生成比以往更多的代码。开发速度在加快,但谁在守护你的代码库?

技术债务在悄悄积累。复杂函数、死代码、重复逻辑在PR审查中漏掉,随着时间慢慢堆积。

你需要一个自主维护代码的系统。不只是审查PR,而是持续监控整个代码库。

Instruments

Polyscan:自主代码维护

Polyscan不会等待Pull Request。它按计划主动扫描整个代码库,发现架构问题,在问题变严重之前报告。

AUDIT每周至每日

代码审计

每周扫描整个仓库。识别复杂度热点、死代码、重复和架构问题。创建带有健康评分和优先建议的GitHub Issue。

PR变更时

PR代码审查

自动审查Pull Request。在合并前捕获新代码中的问题。用实时反馈补充每周审计。

Analyzers

为每种语言打造的专用分析器

Polyscan 为每种语言使用专用静态分析引擎——Python 用 pyscn,JavaScript/TypeScript、Go、Rust 和 C++ 用 polyscan。它们解析AST来深入理解你的代码——不只是模式匹配。复杂度和重复代码覆盖所有语言;死代码、依赖关系和类设计分析目前支持 Python 和 JavaScript/TypeScript。

01

语言特有问题

Python 的可变默认参数和循环导入;TypeScript 的不安全 any 和未使用的导出

02

精准分析

基于AST的解析精准追踪变量作用域和函数调用

03

具体数字

不是「看起来复杂」,而是「复杂度18」。可以行动的数字

Readings

审查示例

Polyscan 在你的 PR 上的评论

高复杂度函数

validate_and_process() 的圈复杂度为 18(阈值:15)。复杂的函数更难测试,更容易出 bug。

Suggestion拆分为 validate_schema()validate_constraints()process_validated()

Polyscan 在你的 PR 上的评论

同样的代码出现在两处

user.py 第45-62行和 admin.py 第23-40行包含几乎相同的代码(87%匹配)。

Suggestion把共同的逻辑移到 utils/validation.py。这样就不用修复同一个bug两次了。

Agent

AI代理分析代码的流程

根据结果判断下一步使用哪个工具

与简单的LLM包装器不同,Polyscan的AI代理会先思考再行动。它查看结果,判断接下来要调查什么,然后调用合适的工具。就像人类审查者一样。

示例:分析一个复杂函数
  1. 01

    先检查一下复杂度

    pyscn complexity ./src

    utils.py有一个复杂度18的函数

  2. 02

    复杂度很高。看看代码

    read_file("src/utils.py")

    validate_and_process()有80行

  3. 03

    看起来有重复逻辑。检查一下

    pyscn clones ./src

    admin.py里也有同样的代码(87%匹配)

  4. 04

    找到问题了。写建议

生成审查评论

validate_and_process()复杂度18,且和admin.py有重复代码。把共同逻辑移到utils/validation.py。

为什么这样做?

AI代理不会只做一次分析。它查看结果,思考还有什么可能出错,然后继续调查。

就像人类代码审查者一样,它阅读代码,在发现问题时深入挖掘。

静态分析工具

CC
复杂度
测量函数的圈复杂度
DEAD
死代码
发现未使用的函数、变量、导入
DUP
代码克隆
检测复制粘贴的代码块
CBO
耦合度
分析模块间的依赖关系
DEP
架构
可视化模块依赖关系,检测循环导入

Security

你的代码是安全的

我们理解安全顾虑。以下是你的代码会如何被处理:

01

在本地部署环境中处理

你的代码由运行在我们的本地部署环境中的本地大语言模型进行分析,不会发送到外部生成式 AI API。

02

不会存储

我们不存储你的代码。审查生成并发布到 GitHub 后,代码就会被丢弃。

03

GitHub 权限

Polyscan 只请求必要的权限:读取代码、写入 PR 评论、为审计报告创建 Issue。

阅读完整隐私政策

Install

在你的仓库试试

安装 Polyscan 并创建 PR。在第一次审查中体验不同。

免费安装