返回 pyscn-bot

pyscn-bot 工作原理

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

AI编程时代的代码质量

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

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

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

pyscn-bot:自主代码维护

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

代码审计

每周至每日

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

PR代码审查

变更时

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

为Python而生

pyscn-bot使用专为Python设计的静态分析工具pyscn。它解析AST来深入理解你的代码——不只是模式匹配。

Python特有问题

可变默认参数、循环导入、未使用的实例变量

精准分析

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

具体数字

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

审查示例

pyscn-bot 在你的 PR 上的评论
⚠️

高复杂度函数

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

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

pyscn-bot 在你的 PR 上的评论
⚠️

同样的代码出现在两处

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

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

AI代理分析代码的流程

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

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

示例:分析一个复杂函数

"先检查一下复杂度"

pyscn complexity ./src

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

"复杂度很高。看看代码"

read_file("src/utils.py")

→ validate_and_process()有80行

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

pyscn clones ./src

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

"找到问题了。写建议"

生成审查评论

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

为什么这样做?

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

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

pyscn分析工具

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

你的代码是安全的

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

发送至 Claude API

你的代码被发送到 Anthropic 的 Claude API 进行分析。Anthropic 不会使用 API 数据训练模型。

不会存储

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

GitHub 权限

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

阅读完整隐私政策

在你的仓库试试

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

免费安装