Back to home@wyb587285-dot

git-ai-tracker

GitHub AI repo tracker: star ratings, growth leaderboard, Markdown reports and web dashboard.

Stars
0
Language
JavaScript
Created
Aug 31, 2026
Updated
Aug 31, 2026

Introduction

🛰️ git-ai-tracker · Git AI 星级项目追踪

一个 零依赖(仅需 Node.js ≥ 18)的本地插件/工具:持续追踪 GitHub 上以下六大方向最火、效果最好的开源项目,按「热度 + 增速 + 活跃度 + 社区」计算 1~5 星评分,并提供增速榜、Markdown 报告和网页仪表盘。

方向id内置搜索词
🤖 AI Agent 智能体agenttopic:ai-agentsai agent framework
📚 RAG 检索增强ragtopic:ragretrieval augmented generation
📄 文档解析docparsetopic:document-parsingtopic:pdftopic:ocr
🧩 多智能体协作multiagenttopic:multi-agentmulti-agent framework
🕸️ 知识图谱kgtopic:knowledge-graphknowledge graph llm
🕷️ 网页爬取crawlertopic:web-crawlertopic:web-scraping

内置 27 个保底观察名单(langchain、autogen、dify、ragflow、MinerU、docling、MetaGPT、graphrag、LightRAG、crawl4ai、firecrawl……),即使搜索相关性有偏差也能保证明星项目入榜。

界面与简介

  • 浅色高对比主题(默认),右上角 🌙/☀️ 一键切换深色模式(记忆偏好)
  • 内容区全宽布局,大字号、强对比,表格可读性优先
  • 所有项目简介均为中文:知名项目使用手工中文词典(src/i18n.js),新项目按主语言 + 话题词典自动生成中文兜底简介

快速开始

node bin/git-ai-tracker.js doctor     # 体检:Node 版本/网络/限额/数据
node bin/git-ai-tracker.js track      # 首次追踪(未认证约 1.5~2 分钟)
node bin/git-ai-tracker.js dashboard --open   # 生成并打开网页仪表盘
npm run serve                          # 或启动实时仪表盘 http://127.0.0.1:3210

也可以 npm link(Windows 下 npm link 需管理员)后全局使用 git-ai-tracker 命令。

⭐ 增速、新星徽章、趋势曲线需要至少两天的快照才会出现——第一天只有热度榜,从第二天起自动解锁。

命令一览

命令说明
track拉取 GitHub 数据生成当日快照。参数:--category agent,rag 只跑指定类;--min-stars 1000 门槛;--quick 跳过观察名单
list终端查看最新榜单。--category / --sort stars|growth|week|month|score|updated(week=近7天窗口日均增速,month=近30天窗口日均增速)/ --limit 30
report生成 Markdown 报告到 reports/report-日期.md--stdout 直接打印,--demo 用演示数据)
dashboard生成单文件仪表盘 reports/dashboard.html(离线可用,--open 自动打开)
serve本地实时服务:GET / 仪表盘、GET /api/data 数据、POST /api/refresh 触发追踪;--demo 用演示数据预览;页面上有一键追踪 + 10 分钟自动刷新开关
history owner/repo查看某项目的每日星数快照曲线
add owner/repo --category agent加入观察名单(--category 可多选逗号分隔)
remove owner/repo移出观察名单
doctor体检:Node / 网络 / GitHub 限额 / 数据状态

星级评分模型

评分(0~100) = 热度0.26 + 增速0.26 + 动量0.12 + 活跃度0.20 + 社区0.10 + 声量0.06   (有历史数据时)
评分(0~100) = 其余分量按占比折算                                                   (首次追踪,无增速数据时)

热度   = log10(★+1)/6 × 年龄衰减   (100 万星封顶;>1 年每多 1 年 -12%,下限 55%——防止老项目靠存量霸榜)
增速   = 日均涨星/100              (与上一个快照的真实差值,日均 100 星封顶)
                                  另计算「近7天窗口日均(周均)」与「近30天窗口日均(月均)」,用于排序与展示
动量   = 相对增速 = 日均涨星 ÷ (星数/1000 × 10 星/天的体量基准)
活跃度 = 7 天内有推送=满分,线性衰减至 180 天归零
社区   = log10(fork+1)/4           (1 万 fork 封顶)
声量   = 互联网热度:Hacker News 声量(0.6) + 微信公众号文章量(0.4),尽力而为、失败按 0 分

星级: ≥85 → 5★ · ≥70 → 4★ · ≥55 → 3★ · ≥40 → 2★ · 其余 1★
徽章: 🚀 新星(创建≤1年且日均≥5星)· 🌲 常青(≥30k★)· 🆕 本次新上榜

增速完全来自本地每日快照的真实差值,不是估算——所以坚持每天跑一次 track,数据越攒越准。 声量与动量两个分量共同保证「正在被大家讨论、涨星快的项目」优先于「老项目吃存量」。

数据与配置

data/snapshots/2026-02-07.json   每天一个快照(同日重跑覆盖当天文件)
reports/report-*.md              Markdown 报告
reports/dashboard.html           单文件仪表盘
config/categories.json           (可选)覆盖内置 6 大类的名称/搜索词/门槛
config/watchlist.json            (可选)覆盖内置保底观察名单
token.txt                        (可选)GitHub Personal Access Token,已被 .gitignore

GitHub Token(强烈建议配置):在 GitHub → Settings → Developer settings → Personal access tokens 生成一个不勾选任何权限的 token(公开数据只读),然后任选其一:

  • 项目根目录创建 token.txt,把 token 粘贴进去(已 gitignore,不会提交);
  • 或设置环境变量 set GITHUB_TOKEN=ghp_xxx
searchcore
未认证10 次/分钟60 次/小时
带 token30 次/分钟5000 次/小时

一次完整 track ≈ 12 次 search + ~27 次 core(观察名单有跨类别缓存去重)。

每天自动追踪(已配置)

本机已注册 Windows 计划任务 git-ai-tracker-daily:每天 08:30 自动运行 track 并把日志写入 data/track.log

# 查看 / 手动运行 / 删除
schtasks /query /tn git-ai-tracker-daily /fo list
schtasks /run   /tn git-ai-tracker-daily
schtasks /delete /tn git-ai-tracker-daily /f

# 重建(注意替换为你的项目路径)
schtasks /create /tn "git-ai-tracker-daily" /tr "cmd /c cd /d E:\work\git星级项目追踪 && node bin\git-ai-tracker.js track >> data\track.log 2>&1" /sc daily /st 08:30 /f

计划任务为「仅当前用户登录时运行」模式;如需开机后台自动跑(不登录也运行),把任务改为 SYSTEM 账户或在任务计划程序中调整。

其他平台 crontab:

30 8 * * * cd /path/to/git-ai-tracker && node bin/git-ai-tracker.js track >> track.log 2>&1

常见问题

  • 第一次跑为什么没有增速/趋势? 增速需要两天快照对比,第二天就有了。
  • 搜索被限流(HTTP 403/429)? 未认证 search 限额 10 次/分钟,工具已自动节流+退避;配置 token 后即可解除。
  • 公司内网/代理环境? Node 24+ 可设置 NODE_USE_ENV_PROXY=1 并配置 HTTPS_PROXY 环境变量。
  • 想改追踪方向/搜索词? 拷贝 src/defaults.js 里的结构,创建 config/categories.json 覆盖即可。

目录结构

bin/git-ai-tracker.js     CLI 入口
src/cli.js                命令分发
src/track.js              追踪编排(搜索+观察名单+过滤+评分+存快照)
src/github.js             GitHub API 客户端(节流/限流退避/重试)
src/score.js              星级评分模型
src/store.js              快照存储与历史读取
src/render.js             终端表格 + Markdown 报告
src/dashboard.js          仪表盘生成器
src/dashboard/template.html  仪表盘模板(内嵌 CSS/JS,零 CDN)
src/serve.js              本地实时服务
src/fixture.js            演示数据(--demo 预览用)
src/dsh/                  DSH 插件半身(inject/apply + 五工具定义)
scripts/smoke-dsh.mjs     插件冒烟测试

🔌 DeepSeek Harness 插件

本项目同时是一个 DSH 插件包package.json 内含 dsh.bundle 清单 + 根目录 cordis.patch.yml)。装进 DeepSeek Harness 后,Agent 在对话里可以直接调用五个工具,无需敲命令行:

工具说明
git_ai_status数据状态:快照天数、最新快照、入榜项目数(只读本地,不联网)
git_ai_list最新榜单:category / sort(score|stars|growth|updated)/ limit
git_ai_report生成 Markdown 报告(写入 reports/,返回全文;demo 用演示数据)
git_ai_dashboard生成单文件网页仪表盘(离线可用;demo 用演示数据)
git_ai_track拉取 GitHub 数据生成今日快照(联网 + 写盘,默认走宿主审批门

安装(DSH web profile):

dsh plugin --profile web add wyb587285-dot/git-ai-tracker   # 从 GitHub 安装
# 或发布 npm 后:dsh plugin --profile web add git-ai-tracker

配置(可选,在你的 profile cordis.patch.yml 中按 id 覆盖整个 config):

- id: git-ai-tracker
  name: 'git-ai-tracker'
  config:
    writeApproval: false   # 关闭 git_ai_track 执行前审批(默认 true,自行承担风险)

插件入口在 src/dsh/inject: ['tools'] + apply(ctx, config)),冒烟测试:node scripts/smoke-dsh.mjs。CLI 用法与插件互不影响。