ludo-technologies/pyscn
GitHub: ludo-technologies/pyscn
一款高性能 Python 代码质量分析器,专为 AI 辅助编程场景设计,支持死代码检测、复杂度分析和 MCP 集成。
Stars: 979 | Forks: 48
**面向 Python Vibe Coding 开发者的代码质量分析器。**
正在使用 Cursor、Claude 或 ChatGPT 进行构建?pyscn 执行结构分析以保持代码库的可维护性。
[](https://dev.to/daisukeyoda/pyscn-the-code-quality-analyzer-for-vibe-coders-18hk)
[](https://pypi.org/project/pyscn/)
[](https://pypi.org/project/pyscn/)
[](https://go.dev/)
[](LICENSE)
*使用 JavaScript/TypeScript?试试 [jscan](https://github.com/ludo-technologies/jscan)*
## 快速开始
```
# 运行 analysis 而无需安装
uvx pyscn@latest analyze .
# 或
pipx run pyscn analyze .
```
## 演示
https://github.com/user-attachments/assets/71d7a126-9c5e-4254-99f4-f2cdedd526ad
## 功能特性
- 🔍 **基于 CFG 的死代码检测** – 在详尽的 if-elif-else 链后查找不可达代码
- 📋 **多算法克隆检测(Type 1-4)** – 利用 LSH 加速识别重构机会
- 🔗 **耦合度量(CBO)** – 追踪架构质量和模块依赖关系
- 📊 **圈复杂度分析** – 找出需要拆分的函数
**每秒处理 100,000+ 行代码** • 使用 Go + tree-sitter 构建
## MCP 集成
通过 Model Context Protocol (MCP) 直接在 AI 编程助手中运行 pyscn 分析。捆绑的 `pyscn-mcp` 服务器向 Claude Code、Cursor、ChatGPT 和其他 MCP 客户端暴露了 CLI 中使用的相同工具。
### MCP 使用案例
你可以通过 AI 编程工具与 pyscn 交互:
1. “分析 app/ 目录的代码质量”
2. “查找重复代码并帮助我重构”
3. “展示复杂代码并帮我简化”
### Claude Code 设置
**选项 1:通过插件市场安装(推荐)**
```
claude plugin marketplace add ludo-technologies/pyscn
claude plugin install pyscn-mcp@pyscn-marketplace
```
**选项 2:手动 MCP 设置**
```
claude mcp add pyscn-mcp uvx -- pyscn-mcp
```
### Cursor / Claude Desktop 设置
添加到你的 MCP 设置(`~/.config/claude-desktop/config.json` 或 Cursor 设置):
```
{
"mcpServers": {
"pyscn-mcp": {
"command": "uvx",
"args": ["pyscn-mcp"],
"env": {
"PYSCN_CONFIG": "/path/to/.pyscn.toml"
}
}
}
}
```
诸如“分析代码质量”之类的指令会通过 MCP 触发 pyscn。
请深入阅读 `mcp/README.md` 了解设置步骤,以及 `docs/MCP_INTEGRATION.md` 了解架构详情。
## 安装
```
# 使用 pipx 安装(推荐)
pipx install pyscn
# 或使用 uv
uv tool install pyscn
```
其他安装方法
### 从源码构建
```
git clone https://github.com/ludo-technologies/pyscn.git
cd pyscn
make build
```
### Go install
```
go install github.com/ludo-technologies/pyscn/cmd/pyscn@latest
```
## 常用命令
### `pyscn analyze`
运行全面分析并生成 HTML 报告
```
pyscn analyze . # All analyses with HTML report
pyscn analyze --json . # Generate JSON report
pyscn analyze --select complexity . # Only complexity analysis
pyscn analyze --select deps . # Only dependency analysis
pyscn analyze --select complexity,deps,deadcode . # Multiple analyses
```
### `pyscn check`
快速且适合 CI 的质量门禁
```
pyscn check . # Quick pass/fail check
pyscn check --max-complexity 15 . # Custom thresholds
pyscn check --max-cycles 0 . # Only allow 0 cycle dependency
pyscn check --select deps . # Check only for circular dependencies
pyscn check --allow-circular-deps . # Allow circular dependencies (warning only)
```
### `pyscn init`
创建配置文件
```
pyscn init # Generate .pyscn.toml
```
## 配置
创建 `.pyscn.toml` 文件或将 `[tool.pyscn]` 添加到你的 `pyproject.toml`:
```
# .pyscn.toml
[complexity]
max_complexity = 15
[dead_code]
min_severity = "warning"
[output]
directory = "reports"
```
## Pyscn Bot (GitHub App)
[Pyscn Bot](https://github.com/marketplace/pyscn-bot) 自动监控你的 Python 代码质量。
### 功能特性
- **PR 代码审查** - 对每个 Pull Request 进行自动代码审查
- **每周代码审计** - 扫描整个代码仓库并针对架构问题创建 Issue
## 文档
📚 **[开发指南](docs/DEVELOPMENT.md)** • **[架构](docs/ARCHITECTURE.md)** • **[测试](docs/TESTING.md)**
## 企业支持
如需商业支持、自定义集成或咨询服务,请通过 contact@ludo-tech.org 联系我们
## 许可证
MIT 许可证 — 详见 [LICENSE](LICENSE)
*使用 Go 和 tree-sitter 用 ❤️ 构建*
标签:AI编程助手, CFG, ChatGPT, Claude, CMS安全, Cursor, CVE检测, Dead Code Detection, EVTX分析, Go, JavaScript, LSH, MCP, Promptflow, PyPI, Python, Ruby工具, tree-sitter, TypeScript, 云安全监控, 代码克隆检测, 代码规范, 代码质量分析, 圈复杂度, 多模态安全, 威胁情报, 安全插件, 开发者工具, 开源框架, 弱口令爆破, 持续集成, 数据管道, 无后门, 日志审计, 模块依赖分析, 软件工程, 逆向工具, 重构, 静态分析