SuperAPI AI 工具集

github-stars

营销与增长

查看项目

更新于 10-16 03:05

技能介绍

用途:把 GitHub 仓库的 star 增长在终端里以 ASCII 图表呈现,分“按天”和“按小时”两个视图,可指定时区,便于观察一次发布、Show HN、Product Hunt 带来的增长峰值,或做 DevRel 增长追踪。

主要能力:脚本用 gh api 配合 application/vnd.github.star+json 请求头获取每位 stargazer 的 starred_at 时间戳,翻页取完所有 stargazers,逐个转换到目标时区,再按天和按小时分桶输出图表。支持自定义查看最近多少天的日图,以及最近多少天做小时拆解。

使用方式:脚本位于技能目录内。命令格式为:bash github-stars.sh <owner/repo | search-term> [--tz <IANA tz>] [--days N] [--hours-days N]。参数 <owner/repo> 为精确仓库(如 facebook/react),会自动跳过搜索;<search-term> 为不含斜杠的单个词,会解析为 star 数最高的仓库。--tz 指定 IANA 时区,默认 America/Los_Angeles,可用 UTC、America/New_York、Asia/Shanghai、Europe/Berlin 等。--days N 指定日图显示最近天数,默认 14;--hours-days N 指定做小时拆解的最近天数,默认 2。每次运行都会实时重新拉取;若要盯发布会,可按间隔重跑并报告增量,但不要快于约每 15 分钟轮询一次。

前提与限制:需安装并已认证 gh CLI(通过 gh auth status 检查);未认证调用会触发较低速率限制,大仓库可能在分页中途失败。需 Python 3.9+(使用标准库 zoneinfo 处理夏令时,不要硬编码 UTC 偏移)。存在 40,000 star 上限:GitHub 只对前 4 万个 stargazer 返回 starred_at,超出后按小时/按天的拆分不完整,脚本会给出警告,但总数仍然准确。数据为净增而非总量:stargazer 列表反映当前仍在的 star,取消的 star 不会出现,因此两次检查间总数持平也可能掩盖 +1/−1 的波动;若实时 stargazers_count 与时间戳计数不一致,说明发生了取消 star。

输出示例:owner/repo — 284 stars(带时间戳),随后显示“STARS BY DAY”按天条形图和“STARS BY HOUR”按小时条形图,峰值会标注 peak。除上述内容外,其余功能、收费、平台与效果暂未提供。