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」。可以行动的数字
审查示例
高复杂度函数
validate_and_process() 的圈复杂度为 18(阈值:15)。复杂的函数更难测试,更容易出 bug。
Suggestion: 拆分为 validate_schema()、validate_constraints() 和 process_validated()。
同样的代码出现在两处
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。在第一次审查中体验不同。
免费安装