Moonlit Fate 现在已经不只是一个“刷题追踪页面”的外壳了。
它更像一个长期站点:博客负责表达和沉淀,OJ Tracker 负责同步训练记录,评论区负责承接读者反馈,项目日志负责把每一次改动留下来。
第一阶段:把博客站稳
这一阶段的目标是让站点本身成为一个完整的个人博客。
- 首页能清晰展示最新文章、精选分类和周复盘入口。
- 关于页、Now 页、项目页能说明我是谁、最近在做什么、站点长期会往哪里发展。
- 文章页保留良好的阅读体验:目录、代码块增强、相关文章、评论区和 RSS。
- 内容分类保持简单:算法题解、项目日志、周复盘、随笔。
博客先站稳,后面的工具功能才不会显得像孤立的面板。
第二阶段:让 OJ Tracker 真正可用
OJ Tracker 不应该停留在 MVP。
它需要持续同步公网数据,并且允许以后加入更多刷题网站。每个平台都应该被抽象成独立 provider:输入账号标识,输出统一的提交记录、比赛记录和题目信息。
短期优先级:
- 稳定同步 Codeforces、AtCoder、牛客、洛谷。
- 给每个平台保留清晰的错误提示和同步状态。
- 在页面上区分“同步成功但无数据”和“平台接口不可用”。
- 为新增 OJ 网站准备统一的接入文档。
第三阶段:把复盘做成核心能力
刷题记录本身只是原材料。
真正有价值的是复盘:最近常错什么题型,哪类题看起来会但写不稳,哪些平台题目适合下一轮训练。这里会逐步接入大模型,把原始提交记录变成可读的周报和训练建议。
理想效果是:
- 自动总结一周的训练量、通过率和活跃平台;
- 识别高频标签、薄弱标签和重复犯错模式;
- 推荐值得补的题型和题目集合;
- 把高质量复盘沉淀成正式文章。
第四阶段:抽离成可复用模板
当博客中的 OJ Tracker 足够稳定后,会把它拆成独立模板或包。
这个包应该允许别人快速接入自己的博客:配置账号、选择平台、生成追踪面板,然后按自己的节奏写复盘。也就是说,Moonlit Fate 会先作为样板站成长,再把其中通用的部分开放出去。
一个原则
这个站点会优先服务长期维护。
功能可以慢慢加,但每一步都要留下文档、文章和可回溯的代码。这样它不会只是一次性做完的项目,而会成为一个能陪着训练和写作一起变化的地方。