关于 altcheck
altcheck 是一款命令行工具和 MCP 服务,可查找某产品的开源替代方案,并检查其 GitHub 状态、许可和维护信号。它为候选项目给出 VIABLE、RISKY 或 AVOID 判定及理由,供个人和 Agent 评估替代选项。
主要功能
- 01根据工具名称查找替代方案
- 02评估单个 GitHub 仓库
- 03给出 VIABLE、RISKY 或 AVOID 判定
- 04依据实时仓库信号说明判定理由
- 05为脚本输出 JSON
适用场景
- 01选用工具前评估开源替代方案
- 02检查仓库许可和维护状态
- 03比较商业产品替代候选项目
- 04通过 MCP 客户端查询替代方案和仓库判定
MCP 相关
altcheck 可作为 MCP 服务运行,向 MCP 客户端提供 find_alternatives 和 vet_repo 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
altcheck
开源替代方案,不做弃用软件。
目录会告诉你有哪些替代方案。altcheck 会告诉你哪些仍然值得放心选用,实时通过 GitHub 检查,并在每个判定旁列出原因。

npx altcheck notion
Alternatives to notion: 3 VIABLE, 6 RISKY, 1 AVOID
VIABLE AppFlowy-IO/AppFlowy ★ 79k AGPL-3.0 pushed 8d ago bus 2
VIABLE docmost/docmost ★ 22k AGPL-3.0 pushed today bus 1
↳ bus factor 1: one person wrote most of it
RISKY outline/outline ★ 41k BUSL-1.1 pushed today bus 1
↳ source-available license (BUSL-1.1), not OSI open source
RISKY hcengineering/platform ★ 28k EPL-2.0 pushed 1d ago bus 3
↳ README says "no longer actively maintained"
RISKY mattermost-community/focalboard ★ 27k multi:AGPL-3.0 pushed 6mo ago bus 3
↳ no commits on the default branch in the last 12 weeks
...
(摘自 2026-11-11 的真实输出。)
Outline 有 41k 个星标,常被列为 Notion 的开源替代方案,但它采用 BUSL 许可证。Huly(28k★)仍有提交记录,但其 README 声明仓库已冻结,托管服务也已关闭。星标和“最近一次提交”都无法体现这些情况。
使用方法
npx altcheck intercom # alternatives + verdicts
npx altcheck vet hashicorp/terraform # vet any single repo
npx altcheck zapier --json --limit 5 # for scripts
作为 MCP 服务使用(Claude Code、Cursor 等)
claude mcp add altcheck -- npx -y altcheck --mcp
工具:find_alternatives { tool } 和 vet_repo { repo }。然后提问:“我们正准备购买 Intercom。有什么可行的开源替代方案?”
检查内容
| 信号 | 对判定的影响 |
|---|---|
| 已归档,或超过 365 天没有推送 | 避免使用 |
| 默认分支 12 周内没有提交/超过 180 天没有推送 | 有风险 |
源码可用许可证(BUSL、SSPL、Elastic、FSL、Commons Clause、PolyForm、Sustainable Use)。当 GitHub 显示 NOASSERTION 时,根据许可证文本检测 | 有风险 |
| 没有许可证,或 GitHub 无法识别许可证 | 有风险 |
| 老仓库中的 LICENSE 文件在过去 2 年内有变更(可能重新授权) | 若为非 OSI 许可证则有风险,否则备注 |
| 创建时间不足 6 个月(尚未验证),且年轻仓库的 bus factor 为 1 | 有风险 |
| 多重许可中包含 OSI 选项(例如 Redis 8、Elasticsearch:“AGPL 或 SSPL 或……”) | 备注 |
开放核心(OSS 核心加上专有的 enterprise/ 或 ee/ 目录) | 备注 |
| 成熟仓库的 bus factor 为 1 | 备注 |
候选项目来自两个来源:
- 种子列表: RunaCapital/awesome-oss-alternatives(MIT),收录了 213 个项目,对应 134 个专有工具。
- 实时发现: GitHub 上星标数超过 100,且描述中提到是某工具替代方案的仓库。这能发现那些列表尚未收录的新兴 AI 时代项目。
**规则:**每项判定都根据公开数据实时计算。没有赞助排名,也没有人工撰写的意见。
身份验证与限制
如果有可用的 GITHUB_TOKEN、GH_TOKEN 或 gh auth token,altcheck 就会使用它。每次仓库检查约消耗 5 次请求。使用令牌(每小时 5,000 次请求)时,默认检查 10 个候选项目。不使用令牌时,GitHub 每小时允许 60 次请求,因此 altcheck 会检查 5 个候选项目,大约可进行 2 次查询/小时。达到限制后,它会告知你限制何时重置。
这与 OpenSSF Scorecard / deps.dev 有何不同?
这些工具会为你已经选定的仓库评分,主要关注安全性;而 deps.dev 会把 Terraform(BUSL)、Redis(AGPL 或 SSPL)和 Chatwoot(开放核心)都报告为 non-standard。altcheck 从你想替换的工具入手,读取许可证文本以区分这些情况,并给出附有原因的判定,供人或 Agent 采取行动。
发现结果有误?
提交“结果有误”问题。只需两分钟,而且每份报告都会成为一个测试用例。
已知局限
- Bus factor 根据排名前 100 的贡献者的提交次数计算,只是一个粗略指标。
- “LICENSE changed” 往往只是版权年份更新。它是提示你去查看,并非证据。
- 实时搜索取决于仓库如何描述自身。一个自称“开源 Notion 替代品”的项目会被纳入,即使它实际上并非如此。
- 哪些候选项目入选是按顺序排列,而非排名:实时搜索结果(按星标数排序)与种子列表交替出现。不错的替代品可能排在
--limit之后;如果不确定,请调高该值。 - 稳定且已完成的软件(因为无需更改而提交很少)会被标记为过时。请阅读原因,而不只是看标签。
- 许可证文本检测只读取 LICENSE 文件的前 4 KB。若许可证仅在 README 中说明,或只出现在各文件头部,可能会被漏掉。
- 在两个盲测基准上测得(共 60 个仓库和 40 个工具,均未用于调优,且各评分一次;详见
bench/):- 状态:59/60;
- 许可证类别完全准确:48/60,且所有误判都偏谨慎:非开源或已弃用的仓库被判为 VIABLE 的情况为 0;
- 搜索精确率约为 84%,经过一轮修复后约为 89%。
- 含义模糊的品牌名称会产生噪声:“github”也会匹配 Copilot 和
github.comURL;“framer”会匹配 Framer Motion。 - 不自称为“X 的替代品”的大型项目(Immich、Bitwarden、Mattermost)只有在种子列表中时才会出现。
- 未托管在 GitHub 上的项目(GIMP、Krita、Inkscape)无法被发现。
- MCP 服务已通过 stdio 使用官方 MCP TypeScript SDK 客户端进行测试,但尚未在 Claude Code 或 Cursor 应用中测试。
开发
npm test # node:test, no network
npm run build:seed # regenerate data/seed.json from scripts/runa-README.snapshot.md
零运行时依赖。Node 18 或更高版本。MIT。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。