docs/exec-plans/completed/2026-08-15-repository-owned-star-history.md
状态: 已完成
创建日期: 2026-08-15
更新日期: 2026-08-16
负责人: tisfeng
链接: PR #1267、https://github.com/star-history/star-history/issues/542
移除 README 对 star-history.dera.page 的运行时依赖,改为由仓库自行维护历史
Star 曲线,同时保留 Date 图表、浅色和深色 SVG,以及交互式静态查看器;整个流程
不需要管理个人 GitHub token。
scripts/star-history/update_history.py 在首次回填时使用 stargazer 专用媒体类型读取
全部页面;已有 history.json 时只读取仓库信息,并追加 stargazers_count 快照。
快照使用历史末点与当前数量的较大值,因此取消 star 不会重写过去的曲线。scripts/star-history/history.py 保存图表数据,以及可选的自包含仓库头像;历史点的
数量允许持平但不允许下降。scripts/star-history/render_chart.py 生成 README 使用的 SVG,并将相同数据嵌入
支持 Date/Timeline 哈希参数和浅色/深色系统主题的静态查看器。SVG 渲染器沿用
原 Star History 的手绘风格,使用坐标轴和曲线抖动滤镜及手写字体回退;标题前显示
仓库头像,并移除右下角重复的仓库名。Date 按真实日历间隔定位,Timeline 按数据点
顺序等距定位,二者因此表达不同含义。.github/workflows/update-star-history.yml 每周或手动运行,将变更提交到专用更新
分支,创建或更新 PR,并在 CI 通过后自动合并;同时通过 GitHub Pages 部署查看器。docs/assets/star-history/ 保存初次回填的 14,220 个 star 数据。stargazers_count 追加每周快照。python3 scripts/star-history/test_history.py:5 项测试通过。git diff --check 和
bash scripts/check-agent-docs.sh:通过。actionlint;工作流 YAML 解析通过。