FMATheNomad/depcheckai

GitHub: FMATheNomad/depcheckai

一款跨 npm、PyPI、crates.io 三大生态的依赖健康审计 CLI 工具,能检测废弃包、评估健康评分并给出替代方案建议。

Stars: 0 | Forks: 0

# 🔍 depcheckai ### *"别再发布有缺陷的依赖了。只需一条命令,就能告诉你哪些已被废弃、存在风险或需要替换。"* [![GitHub Packages](https://img.shields.io/github/v/release/FMATheNomad/depcheckai?style=for-the-badge&logo=github&label=GitHub%20Packages)](https://github.com/FMATheNomad/depcheckai/pkgs/npm/depcheckai) [![GitHub Release](https://img.shields.io/github/v/release/FMATheNomad/depcheckai?style=for-the-badge&logo=github)](https://github.com/FMATheNomad/depcheckai/releases) [![GitHub Stars](https://img.shields.io/github/stars/FMATheNomad/depcheckai?style=for-the-badge&logo=github&color=yellow)](https://github.com/FMATheNomad/depcheckai/stargazers) [![License](https://img.shields.io/badge/License-MIT-purple?style=for-the-badge&logo=opensourceinitiative)](https://opensource.org/licenses/MIT) [![CI](https://img.shields.io/github/actions/workflow/status/FMATheNomad/depcheckai/ci.yml?style=for-the-badge&logo=githubactions&label=CI)](https://github.com/FMATheNomad/depcheckai/actions) [![Sponsor](https://img.shields.io/badge/%E2%9D%A4%EF%B8%8F_Sponsor-Support_the_project-30363D?style=for-the-badge&logo=githubsponsors)](https://github.com/sponsors/FMATheNomad) [![GitHub Downloads](https://img.shields.io/github/downloads/FMATheNomad/depcheckai/total?style=for-the-badge&logo=github&color=success)](https://github.com/FMATheNomad/depcheckai/pkgs/npm/depcheckai) [![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/) ## 🚨 问题所在 你的项目依赖了 50 多个包。但你完全不知道其中有哪些是: - 🔴 **已废弃** — 仍在生产环境中运行,但维护者已经表示“请不要再使用这个了” - 🟡 **已弃维** — 两年多没有提交,未解决的问题越堆越多 - ⚠️ **高风险** — 落后一个大版本,即将出现破坏性更新,或存在安全隐患 - ✅ **状况良好** — 实际上没问题(但你却在浪费时间手动检查它们) **你该怎么办?** | 方法 | 耗时 | 遗漏问题 | 提供替代方案 | |----------|-----------|---------------|-------------------| | 🙋 手动 — 在 npm/GitHub 上逐个检查包 | 每个项目 20-40 分钟 | ✅ 很多 | ❌ | | 🔧 npm audit — 仅检查 CVE | 瞬间完成 | ❌ 无法检测废弃状态、健康状况和流行度 | ❌ | | 🤖 Dependabot — 自动 PR | 自动化 | ❌ 无法进行健康分析 | ❌ | | 🔍 **depcheckai** | **< 3 秒** | **✅ 全面覆盖** | **✅ AI 驱动的建议** | **结论:** 现有工具只能告诉你安全问题是*什么*。**而 depcheckai 会告诉你对该怎么做** —— 替换、更新还是忽略 —— 并提供具体的替代方案。 ## 🎯 depcheckai 的功能 ``` # 扫描你的整个项目 — 自动检测 package.json、requirements.txt、Cargo.toml depcheckai # 从你的终端检查任何 package depcheckai check lodash depcheckai check request depcheckai check react@18.2.0 # 带有建议的全面健康审计 depcheckai audit # 查看所有 deps 的更新建议 depcheckai update # 获取用于 CI/CD 的 JSON depcheckai --json ``` ### 实际输出 ``` $ depcheckai ✔ Scanned package.json — 10 dependencies found depcheckai — Dependency Health Report ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Package Ver Health Score Action ───────────────────────────────────────────────────────────── express 4.18.2 good 92 ✓ ok lodash 4.17.21 good 88 ✓ ok moment 2.29.4 risky 34 🔴 REPLACE → dayjs request-deprecated 2.88.2 critical 8 🔴 REPLACE → axios ───────────────────────────────────────────────────────────── 4 dependencies | 1 critical | 1 risky | 2 good ``` ## 📊 为什么选择 depcheckai?(对比其他方案) | 功能 | 手动检查 | npm audit | Dependabot | Safety CLI | **depcheckai** | |---------|-------------|-----------|------------|------------|-----------------| | 🔍 CVE 检测 | ❌ | ✅ | ✅ | ✅ | ✅ | | 📦 废弃检测 | ❌ (手动检查) | ❌ | ❌ | ❌ | ✅ | | 🏥 健康评分(维护状态 + 流行度) | ❌ | ❌ | ❌ | ❌ | ✅ | | 🔄 破坏性更新检测 | ❌ | ❌ | ❌ | ❌ | ✅ | | 💡 可操作的替代方案 | ❌ | ❌ | ❌ | ❌ | ✅ | | 🐍 Python (PyPI) 支持 | ❌ | ❌ | ❌ | ✅ | ✅ | | 🦀 Rust (crates.io) 支持 | ❌ | ❌ | ❌ | ❌ | ✅ | | 📊 多种输出格式 | ❌ | ❌ | ❌ | ❌ | ✅ (表格、JSON、Markdown) | | 🤖 GitHub Action | ❌ | ❌ | ✅ | ❌ | ✅ | | 💵 价格 | ⏱ 你的时间 | 免费 | 免费(公开仓库) | 免费 | **免费且开源** | | 📜 License | — | MIT | 专有协议 | MIT | **MIT** | **结论:** 其他所有工具只能解决拼图中的*某一块*。**depcheckai 是第一个能为你提供跨生态系统完整健康全貌,并明确告诉你该怎么做的工具。** ## ⚡ 快速开始 ``` # 全局安装 npm install -g @fmathenomad/depcheckai # 或立即运行 npx @fmathenomad/depcheckai # 扫描你的项目 cd your-project depcheckai # 检查特定 package 及其替代方案 depcheckai check request # 用于 CI/CD pipelines 的 JSON 输出 depcheckai --json ``` ### 支持的生态系统 | 生态系统 | Manifest | Registry | |-----------|----------|----------| | 📦 npm | `package.json` | registry.npmjs.org | | 🐍 PyPI | `requirements.txt` | pypi.org | | 🦀 crates.io | `Cargo.toml` | crates.io | ## 🔧 功能特性 | 功能 | 描述 | |---------|-------------| | 🔍 **多生态系统扫描** | 自动检测 npm、PyPI 和 crates.io 的 manifest 文件 | | 🏥 **健康评分** | 加权 0-100 评分:维护状态 (35%)、流行度 (25%)、兼容性 (20%)、安全性 (20%) | | 💡 **智能建议** | 不仅仅是告诉你“它有问题”——还会推荐具体的替代方案(例如,“用 dayjs 替换 moment”) | | 📊 **多种输出格式** | 终端表格、JSON (用于 CI/CD)、Markdown (用于 GitHub issues/PRs) | | 🚦 **适配 CI/CD** | `--fail-on` 标志 + exit code,方便集成到 pipeline 中 | | 🚀 **GitHub Action** | 开箱即用的 action,用于 PR 评论和构建失败拦截 | | 💾 **智能缓存** | 1 小时 API 响应缓存,激进处理 GitHub rate-limit | | ⚙️ **可配置** | 通过 `.depcheckai.json` 为团队和制定组织级策略 | ## 🔄 CI/CD 集成 ### GitHub Action ``` - name: Dependency Health Check uses: FMATheNomad/depcheckai@v1 with: manifest-path: '.' format: 'markdown' fail-on: 'medium' ``` ### JSON 输出(适用于任何 CI) ``` depcheckai --json --fail-on medium echo $? # 0 = pass, 1 = fail ``` ### Pre-commit Hook ``` #!/bin/sh depcheckai --json --fail-on low || exit 1 ``` 将其保存为 `.git/hooks/pre-commit` 并运行 `chmod +x`。 ## 🗺 路线图 - [x] npm 生态系统支持 - [x] PyPI 生态系统支持 - [x] crates.io 生态系统支持 - [x] 健康评分(维护状态、流行度、兼容性、安全性) - [x] 包含替代方案的推荐引擎 - [x] 表格、JSON、Markdown 输出 - [x] GitHub Action - [x] 配置文件 (.depcheckai.json) - [ ] **交互式更新模式** (`--interactive`) — v0.2 - [ ] **Pre-commit hook 集成** — v0.2 - [ ] **VS Code 扩展** — v0.3 - [ ] **AI 驱动的 changelog 摘要** — v0.4 ## 🧑‍💻 开发说明 ``` git clone https://github.com/FMATheNomad/depcheckai.git cd depcheckai npm install npm run build npm test # 本地测试 CLI node dist/index.js --version node dist/index.js check lodash ``` ## 📜 License MIT © [FMA Software Labs](https://fmasoftwarelabs.up.railway.app)
标签:LNA, MITM代理, SOC Prime, TypeScript, WebSocket, 依赖分析, 依赖管理, 安全插件, 开发工具, 暗色界面, 自动化攻击