路线图
这份路线图只讲判断,不讲日期。一个由单人维护的项目给出时间承诺,除了给自己挖坑没有别的用处。
已经做完
九个开发阶段,从脚手架到部署发布,全部落地。
| 阶段 | 内容 |
|---|---|
| 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;代码贡献见参与贡献。
评论
还没有评论,来说两句。