昨天给 Utterlog 添加了一个 GitHub 使用记录的页面,是从
李笑来的官网扒来的思路(因为模仿的太像,不能叫参考),可以记录 GitHub 每日的构建动态,特别适合像我这样靠 AI 搞点东西的新手。
今天早上收到扣费通知,19 美元。我看了下是 MiniMax 订阅套餐,之前看到新模型发布,想体验一下 MiniMax 2.6,就开通了基础套餐,结果忘了退订。寻思也不能浪费,于是想着手里有几个用不到的 .dev 域名,干脆做成和 GitHub 信息关联的页面,就开始构思。
很多开发者都有 GitHub,但 GitHub Profile 本身更像一张名片。它能展示头像、简介、仓库和贡献图,但如果想把它当成真正的个人主页,就会遇到几个问题:项目展示不够可控,动态分散在不同页面,社交链接和联系入口不够灵活。
于是我做了 GitShow。

GitShow 是什么
GitShow 是一个自托管的 GitHub 个人主页程序。它会读取你的 GitHub 账号数据,把个人信息、项目、贡献热力图、最近动态、关注的人和 Star 趋势整理成一个干净的网页。它不是一个 SaaS,也不依赖数据库,适合直接部署在自己的服务器上。
它能展示什么 GitShow 的首页会先展示 GitHub 头像、用户名、简介、位置、社交链接,以及仓库数、Star 数、Commit 数、关注数和粉丝数。下面是贡献热力图、最近 30 天活动柱状图、精选项目和最近动态。

项目页不是简单列出所有仓库,而是由后台决定哪些仓库显示。这样个人主页就不会被一些实验仓库、临时仓库占满,而是更像一个真正的作品集。
活动看板会把 Push、PR、Issue、Star、Fork、Release 等 GitHub 事件整理成可筛选的时间线。关注页则会展示你关注的人、他们最近活跃时间、近期仓库和提交动态。
数据是怎么来的
GitShow 主要使用两类 GitHub API。
一类是 REST API,用来读取用户信息、仓库列表、仓库语言、最新 Release、公开动态和关注列表。
另一类是 GraphQL API,用来读取贡献日历和提交贡献统计。如果 GraphQL 获取失败,程序会退回到公开事件数据,尽量构造最近一年的提交热力图。
后端会把这些数据缓存起来,并且每 30 分钟刷新一次。这样页面访问时不需要每次都请求 GitHub,也能降低 API 限流风险。Star 趋势会记录到 star-history.json,最多保留最近 90 天。
后台管理
GitShow 带了一个轻量后台。进入后台后可以修改网站标题、GitHub 地址、Token、联系按钮、社交链接、首页项目数量和项目开关以及 Passkey 登录相关。
适合谁用
GitShow 适合想快速拥有一个开发者主页的人,想把 GitHub 项目整理成更像作品集的页面,通过关注可以更清楚的看到所关注用户的更新状态和仓库状态。
小结 GitShow 的目标不是替代 GitHub,而是把 GitHub 里的公开开发轨迹重新组织成一个更适合展示的个人主页。它保留了 GitHub 数据的真实来源,又提供了更自由的展示方式和更友好的关注信息同步状态。
演示地址: https://xifeng.dev
项目地址:
https://github.com/gentpan/GitShow,想要一些星星。
