方法说明
数据从哪里来、标识如何生成、指标怎么定义,以及采集器的限制。所有数字都来自真实的采集和请求记录,没有的数据保持缺失。
什么算 Claude Mod
Claude Mod 是一种 Claude Code 插件:行为写在钩子模块里,由 hooks/hooks.json 的 modules 字段指名(例如 ["./register.ts"])。本站只在读到这项证据后才把包算作 Mod:
- 采集器在包最新快照所在的提交读取 .claude-plugin/plugin.json 和它指向的钩子配置(默认 hooks/hooks.json),只当 JSON 文本解析。
- modules 必须是一个或多个相对的 .ts/.js 路径;只声明事件钩子(hooks)的配置不算 Mod。
- 检查结果按仓库、提交和包路径记录,只追加不改写。上游有了新提交,新快照要重新检查;还没检查过的包不算 Mod。
24 小时自动发现
采集器跑在网站所在的服务器上,和网站共用一个 SQLite 数据库,不依赖任何个人电脑。服务器上的调度器每分钟检查一次是否该开始新的运行:
- 每 6 小时一次全量运行:最多处理 20 个仓库、发起 3 次发现搜索(GitHub 或全网)。先检查待处理的提交,再按发现队列选仓库。
- 有待检查的提交时,最快每 5 分钟单独跑一次,只检查提交(每次最多 5 个仓库)。提交频率限制:每个 IP 每 60 分钟 10 次。
- 除了 GitHub 仓库搜索和代码搜索,轮换的发现查询里有两个是全网搜索(Exa 的免费搜索)。只保留结果里出现过的 GitHub 仓库链接,再由一个小模型(RunInfra 上的 GLM 5.3 Flash)挑出看起来像 Claude Code Mod 的,每次最多 10 个。它们作为线索进入队列,和其他线索一样要经过核实。
- 发现有上限:每次运行只读一部分搜索结果和队列,所以不会收录互联网上的每一个 Mod,覆盖面随运行次数逐步扩大。
- 每天用 SQLite 的 VACUUM INTO 在同一个数据卷上做一份一致的备份,保留最近 7 份。它能挽回误写,挽回不了数据卷本身的丢失。
- 调度器
- 运行中 · 最近检查
- 下一次全量运行
- 最近备份
数据来源
包记录来自公开 GitHub 仓库,以及仓库里的市场清单(marketplace.json)、插件清单、技能文件和设置文件。
- 社交媒体和第三方目录只作为发现线索,不作为质量或性能的证据。
- 仓库 Star 是仓库级的人气信号,不是包的质量。
- 没有明确公开开源许可证的包也可以被收录,但许可证显示为「未知」。
包与版本标识
标识由上游位置决定,不由本站分配:
- 包 ID 由仓库和包在仓库中的路径组成,仓库根目录用 ~ 表示;同一仓库里的多个包各有自己的 ID。
- 版本 ID 是包 ID 加 @ 和完整的 40 位提交 SHA,对应一个不可变快照。上游有新提交时生成新快照,旧快照不会被覆盖。
- 上游声明的版本号只是标签:同一个版本号可以对应多个提交,页面会把这种情况标为「同号多提交」。
- 许可证取自上游记录;没有记录就显示「未知」,不做推断。
指标定义
- 仓库 Star
- GitHub 仓库的 Star 数,是仓库级人气信号。同一仓库下的多个包共享同一个数字,它不代表其中任何一个包的质量。
- 下载请求
- 本站收到的有效下载请求数,计数规则见下一节。包页面显示该包所有版本的合计,版本页面显示该版本自己的请求数。
- 仓库更新
- 采集到的上游仓库更新时间。超过 365 天没有更新时,列表会标注「超过 365 天未更新」。这只是提示,不是质量评分。
- 最近检查
- 采集器最近一次检查该包的时间。超过 14 天会提示数据可能已过期。
- 收录时间
- 本站第一次发现该包的时间,用于「收录时间」排序。
- 没有的数据
- 本站不采集也不显示 token 用量、缓存命中、基准测试成绩或质量评分。没有测量过的东西保持缺失,不做估算,也不把不同来源的指标相加。
下载与下载请求
每个版本都有一个下载入口,它重定向到上游 GitHub 在该提交的源码归档。
- 只有对下载入口的真实 GET 请求才会计数。
- HEAD 请求、浏览器预取和预渲染请求,以及 User-Agent 为空或自称 bot、crawler、spider、preview 等的请求都不计数。
- 同一版本、同一访问者在同一个 UTC 日期最多计一次。访问者以每日加盐哈希区分,不保存原始 IP 或 User-Agent。
- 下载请求不是成功下载,更不是安装次数:本站看不到传输是否完成,也看不到直接从 GitHub 或通过 Claude Code 市场完成的安装。
- 归档是整个仓库在固定提交的源码,不是单独打包的插件。包页面会标出包在仓库中的目录。
安装命令
本站不是 npm 协议服务器,也没有自己的命令行工具。
- 只有当某个版本出现在已验证的 Claude Code 市场清单中时,才显示 /plugin 命令。命令由市场名称、市场仓库和清单里的条目名称拼成,并且只使用经过严格校验的字符。
- 这些命令安装的是上游市场的当前状态,不是本站固定的提交快照。
- 没有已验证市场命令的包不显示任何安装命令。
采集限制
采集器在下面的限制内运行。由限制造成的缺失会写进运行记录,而不是被当成完整收录。
- 只读取公开 GitHub 仓库,不读取私有仓库,不抓取任意 URL。
- 不执行被索引仓库里的代码、钩子或安装脚本。
- 市场清单里支持的来源:相对路径、github、HTTPS GitHub url、git-subdir。npm、archive、command 等来源会被记录为不支持,不会被执行或抓取。
- 响应大小、文件数量、目录树条目数和请求超时都有上限;目录树被截断或遇到速率限制时,运行记录会明确标出。早期快照可能未记录超过 20 个 JSON 配置文件或 64 KB 内联配置造成的遗漏;原始快照保持不变,组件清单不保证完整。
- 每次运行默认处理 20 个仓库,发现队列在多次运行之间继续,所以覆盖范围是逐步扩大的,不是一次性完整。
不支持的来源
目前没有记录到不支持的来源。
采集运行记录
状态和消息来自采集器写入的运行记录,下面是最近 10 次。点击编号查看那一次运行的详情;不带编号时显示最近一次。
运行 #29 的详情
- 状态
- 成功
- 开始
- 结束
- 包
- 19
- 版本
- 3
- 消息数
- 2
- API 详情
GET /api/runs/29
- 运行方式
- 只检查提交只说明仓库是指定的还是从队列选的,不说明由定时任务还是手动触发。
- 发现搜索
- 已跳过:本次关闭了发现搜索
- 本次仓库上限
- 20
- 已处理仓库
- 2
显示列表
anthropics/claude-code, Sma1lboy/claude-mods
- 失败的仓库
- 0
- 被截断的扫描
- 0
- 不支持的来源
- 0
- 队列剩余
- 1,129
- 本次新入队
- 0
- GitHub 搜索请求数
- 0
- 检查的提交
- 2
发现搜索记录
记录显示这次运行没有发起过搜索。
运行消息2
- 警告 anthropics/claude-code: 9 more SKILL.md declaration files await reading; at most 2 extra reads (source commit trees and declaration files) are made per repository per run
- 警告 anthropics/claude-code: 4 more plugin roots await a Claude Mod check; at most 12 are checked per repository per run
| 编号 | 状态 | 开始 | 结束 | 包 | 版本 | 消息数 |
|---|---|---|---|---|---|---|
| #30 | 成功 | 593 | 614 | 24 | ||
运行消息24
| ||||||
| #29 当前查看 | 成功 | 19 | 3 | 2 | ||
运行消息2
| ||||||
| #28 | 部分成功 | 360 | 373 | 20 | ||
运行消息20
| ||||||
| #27 | 成功 | 36 | 45 | 26 | ||
运行消息26
| ||||||
| #26 | 成功 | 127 | 0 | 1 | ||
运行消息1
| ||||||
| #25 | 成功 | 160 | 0 | 3 | ||
运行消息3
| ||||||
| #24 | 成功 | 56 | 70 | 11 | ||
运行消息11
| ||||||
| #23 | 成功 | 35 | 54 | 6 | ||
运行消息6
| ||||||
| #22 | 成功 | 153 | 166 | 6 | ||
运行消息6
| ||||||
| #21 | 成功 | 3 | 4 | 2 | ||
运行消息2
| ||||||
API
站点数据通过 JSON API 提供,观察记录也可通过 Atom XML 订阅。唯一的写入口是提交接口(POST /api/submissions,JSON 正文 {"repo": "owner/repo"}),受同样的频率限制。不兼容 npm 协议,也不支持发布。
GET /api/packagesGET /api/packages/{id}GET /api/versions/{id}GET /api/skill-declarations?version={id}GET /api/statsGET /api/runsGET /api/runs/{id}GET /api/updatesGET /updates.atomGET /api/sourcesGET /api/sources/{name}GET /api/following/{id}GET /api/submissionsPOST /api/submissions
接口不需要登录,有分页和大小限制。