首页 / 文档中心 / 架构说明

Docs · Architecture

四个仓库
三条数据流

看懂这张图,你就知道每个数字是从哪来的、断网时会发生什么。

四个仓库

一个生态,四块积木

仓库职责技术构建
xkmyth/xkmyth安装包发行 + Downloads 页静态 HTML/CSS/JS + Releases API无
xkmyth/xkmyth.github.io主站:文档、软件库、工具目录、状态静态多页 + 少量 JS无
xkmyth/Timarsky工具站:27 个速查模块 + 在线工具箱单页 + 独立工具页无
xkmyth/about关于页、生态入口静态单页无

四个仓库都是 GitHub Pages 直接托管根目录,推 main 即上线。没有打包、没有 node_modules、没有构建缓存,改一行刷新就看到。

数据从哪来

三条只读数据流

Releases API

/repos/xkmyth/xkmyth/releases 提供版本号、资产名、体积、下载次数与时间。Downloads、版本日志、状态页都读它。

Commits / Actions

/commits?per_page=1 与 /actions/runs?per_page=1 只取最后一条,用来显示四仓最近活动与 CI 结果。

本地数据

软件库应用全部写 localStorage,一个应用一个前缀,互不干扰;清掉浏览器数据即归零。

匿名调用 GitHub API 的额度是每 IP 每小时 60 次。状态页因此把刷新间隔压到 15 分钟、四仓并发一次取完,并只在真正拿到数据时才写缓存。

缓存与降级

宁可显示旧数据,也不显示错误

localStorage 键内容有效期失败时
xkmyth-site-releases-cache首页下载卡与版本号10 分钟退回静态直链 + 「最新版见 Releases」
xkmyth-changelog-cache版本日志时间轴10 分钟显示一句说明 + Releases 链接
xkmyth-status-cache-v1四仓最近提交与 CI15 分钟保留上次成功数据,标灰不标红
xk-theme / xkmyth-theme2深浅色选择长期跟随系统
xk-vault-v1 等各应用数据长期不影响其他应用

为什么没有后端

静态不是妥协,是设计

成本与寿命

GitHub Pages 免费、全球 CDN、自带 HTTPS。没有服务器要续费,也就不会有「某天打不开」。

隐私边界清楚

没有后端就没有「数据在别人机器上」这回事。软件库的十个应用全部把数据留在你的浏览器里。

可审计

每个页面的 JS 都能直接读,没有打包混淆。怀疑哪个页面偷偷发请求,搜 fetch( 就行。

代价

不能做跨设备同步、不能做协作编辑、不能存大文件。需要这些时,请自己接 NAS 或云盘,而不是把数据交给本站。