路线图

这份路线图只讲判断,不讲日期。一个由单人维护的项目给出时间承诺,除了给自己挖坑没有别的用处。

已经做完

九个开发阶段,从脚手架到部署发布,全部落地。

阶段 内容
0 脚手架 Taskfile、golangci-lint、CI、Console 脚手架、Vite 产物接 go:embed
1 核心基座 配置四级覆盖、bun + goose 迁移、Module 契约、三平面路由、RFC 9457 错误、健康检查
2 认证权限 argon2id、服务端会话、CSRF 双提交、访问令牌、权限串与所有权规则
3 业务功能 文章与页面、分类与标签、设置 Schema、附件、评论与邮件队列、菜单、SEO、用户与角色
4 主题系统 html/template + Hugo 式约定、九个路由的固定上下文与 Finder、必需模板与整页回退、主题包安全、开发模式热重载
5 API 层 OpenAPI 3.1 由代码生成、Console 的 TS 类型自动生成、扩展平面通用 CRUD
6 全文搜索 Go 侧二元组分词 + tsvector/GIN,不依赖任何数据库扩展
7 后台 Console React 19 + Tailwind v4、两个编辑器、通用表单引擎、命令面板、明暗双主题
8 默认主题「墨」 自托管思源宋体、克制的动效、方印插图系统
9 部署发布 两份 Dockerfile、compose、goreleaser 六平台静态二进制与多架构镜像

在此基础上还做了:评论表单按登录状态与站点设置分形态、侧栏小组件、许可体系定型,以及首次安装向导

做完了,但还没在真实环境里验证过

这段是当前最该补的,也是最需要外部帮助的——它们都需要这台机器上不具备的条件。

  • Docker 全流程:镜像构建、compose 拉起、卷属主、停机宽限期是否够用,以及按文档走一遍备份恢复演练。本机没有 Docker。
  • 真实的发布流程:goreleaser 推 v* 标签后的完整 Release,以及 CI 里的 -race 作业(本机没有 C 编译器)。
  • 真实 SMTP 投递:验证邮件、找回密码这些路径只用过本机明文收信端,STARTTLS 与认证成功路径从未走通。
  • 真实浏览器与真机:触屏上的二级菜单、深色模式逐页观感、键盘 tab 顺序。
  • 密钥丢失 / 换钥匙分支:删掉 data/secret.key 再打开设置页会发生什么,只有人工演练一条路。

已知的粗糙处

这些不是「以后再说」,是现在就承认的地方。

  • 没有自动化测试。 原有用例已于 2026-09-15 整体清空,go test 现在只是空跑。CI 通过不能证明改动是对的。这是当前最大的短板。
  • 后台日志页是占位。 服务端还没有日志读取接口——先得决定日志落文件还是落库,才谈得上那条 API。
  • 富文本编辑器缺两处:没有气泡工具栏;插入代码块时不能选语言(TipTap 的 codeBlock 没有语言属性入口,所以 HTML 原稿里的代码块只上行号不上色,Markdown 围栏正常)。
  • 零权限账号的验证状态在后台不可见:邮箱是否已验证标了 json:"-",也没有「重发验证邮件」的入口。有意不做,因为这类账号本来就不该在后台被当成用户管理。
  • 主题截图没有静态路由,所以主题页不显示截图。
  • 后台首屏 chunk 偏大(插件页、十八种控件、命令面板都在首屏),还可以再拆。
  • 会话清理是进程内定时任务,多实例部署会重复跑(逻辑幂等,只是白跑);评论限流是单机内存态软判定。
  • menu / seo / theme 三个模块直接只读业务表,查询再复杂就该改走 App.Provide 暴露接口。

v1.1

  • 官网:用 Lumo 自建,也就是本站。第一版已上线,内容还在补。
  • 2FA 与 OAuth:模块边界已经留好,接进来不需要动核心。
  • 插件系统期 2–4:声明式页面 → 扩展点与插件间依赖 → WASM 后端。选型与代价已经写在设计文档里,最后一步之所以放这么后,是因为一个能执行任意代码的插件系统必须先有可靠的沙箱,而可靠的沙箱不该赶。

明确不做

  • 不做多租户。一个实例一个站点,这是安装向导与模块边界都建立在的前提。
  • 不做可视化页面搭建。模板即主题,所见即所得和文件即真相很难同时成立。
  • 不做从其他 CMS 的一键迁移工具。导入脚本会长期变成第二套需要维护的代码,而真正需要它的人往往需要的是定制迁移。
  • 不做功能分档。没有社区版与专业版的功能差,也不会为了卖授权而阉割任何东西。

想出力的话

最有用的是把它装一遍,然后告诉我哪里卡住了。尤其是上面「还没验证过」那几项——Docker 部署、真实 SMTP、真机浏览,每一条都是在本机做不到的事情。

问题和建议走 GitHub Issue;代码贡献见参与贡献

评论

还没有评论,来说两句。