快速开始
如何快速上手本项目
在阅读其他章节前,建议先阅读本节,以便初步了解本项目。
问题反馈
如果在开发或部署过程中遇到问题,请通过微信(imqi1-wx)、QQ(2318110891)或电子邮件(imqi1@qq.com)联系我。我会在看到后尽快回复。请不要在 ImQi1 的留言区、相关文章或 GitHub 仓库的 Issues 区域询问使用问题。
什么是 ImQi1 CMS
其实这些话我已经在其他地方说过很多次了。
我从 2022 年开始建站,用过很多管理系统。最初我在淘宝上买了数百个建站模板,逐个挑选,最后选出我最喜欢的一个模板,算是梦的开始。接着我尝试了 Halo 框架,它界面美观,部署容易,我跟着教程,记录了数个月的文章,最后却因不会使用 Docker、没有处理好挂载卷和持久化等原因丢失了所有的数据。于是我又换到了 Typecho,这也是我使用时间最久的一个框架。我使用过很多主题,用的时间最久的是 火喵 的 MyLife 主题,但是实在受不了高 TTFB,我就下定决心换一个主题。于是我以 Saammaa 的 Citizen 主题为原型,自己不断仿造别人的样式加样式、加功能,也算是打造了一个尽量符合自己理想的 CMS 样子。但它的很多功能都要围绕着 Typecho 生态做开发,且 PHP 的速度还是太慢,所以我在今年(2026 年)4 月决定,自己从零打造一个属于自己的 CMS。
起初我不打算将此 CMS 开源,因为现在随着 AI 的发展,建站的成本已经相当低,我喜欢有自己理解、融合每个人特色的站点或内容,而不是将博客当做知识库、纯为好看将站点装裱得花里胡哨,而缺乏真正内容的网站(这也是我加友链的原则)。后来我认识的朋友足够多,我自己开发的功能也足够丰富,我觉得现在我的源码已经足够复杂,不再是一键就能搭建好的了。所以我希望我开源以后,有人能将我用心实现的功能融合自己的创新,创建出比我更优秀的网站,这样我才觉得开源有意义。为什么互联网发展地如此迅速,为什么如今的 AI 层出不穷,越来越强,就是因为一有人在某一方面有创新,就会将思想开源或分享。这样各大开发者或科技巨头都可以相互学习,整个互联网生态才会进步地如此飞快。
最后,我仍然希望本项目保留一定的使用门槛,不编写过度简化的教程。一方面,这是为了保持项目的定位;另一方面,也希望为真正希望学习技术、探索代码的读者保留思考空间。
ImQi1 CMS 是一款基于 Nuxt 4 的、提供文章、独立页面、评论、留言板、分类、标签、单用户、RSS 订阅、评论回复邮件通知、友链等常用博客功能的全栈内容管理系统,还提供了轮播图、瀑布流、图片灯箱、实况照片、音乐播放器、旅行足迹地图等更多功能,并具备覆盖全部模块的后台界面。ImQi1 CMS 将数据存储于 PostgreSQL 数据库中,采用 SSR 架构,配置基于 Redis 的缓存后,页面渲染结果缓存 30 分钟,并且当相关写接口被触发时,对应缓存还会即时失效,保证数据和缓存的一致性;未配置 Redis 时页面实时渲染、搜索缓存关闭。除 Web 主站外,仓库还以子模块形式包含基于 uni-app 的小程序端(H5 / 微信 / 支付宝三端),并支持 PWA 离线访问。ImQi1 CMS 支持基于 Nodejs 或 Docker 部署,并可将静态资源托管于 CDN(目前仅支持 COS)。
当前最新提交为 a8130e0(style(test): mail-notify 测试 import 组内空行 — import/order);最新发布为 v1.2.1 — MCP 工具扩容 / 日志配置化 / 点赞修复 / 安全加固 / 性能优化。
界面预览

第 1 张,共 5 张:桌面端首页:站点名称、标语与社交入口
开发环境搭建
在部署到生产环境之前,需要先在本地完成运行验证,构建命令也建议在本地执行。当然,也可以在服务器中安装依赖并完成构建,但仍建议先在本地完成验证。
由于 Nuxt 是重量级依赖,无论启动 dev 还是执行 build,在 Windows 上都较为缓慢。如有 macOS 或 Linux 设备,建议优先在这些系统上进行开发或构建。
环境要求
Nodejs ≥ 22、PostgreSQL ≥ 14、Bun ≥ 1.3。
作者的环境是 bun 1.4.0、Nodejs v24.19.0(npm 为 11.17.0)、Postgresql 16.3,开发系统有 Linux 和 Windows,PostgreSQL 都是在 Docker 中安装的。
Nodejs 安装这里不介绍,请前往 Nodejs 官方网站 下载并安装。
bun 安装也不介绍,请前往 bun 官方网站 下载并安装。
安装 PostgreSQL
作者开发时,PostgreSQL 数据库是在 Docker 中安装的,也可以从 PostgreSQL 官方网站 下载并安装。尚未安装 Docker 的,请先从 Docker 官网 安装 Docker Desktop。
安装 PostgreSQL 数据库:
Bashdocker run -d --name imqi1-postgres --restart unless-stopped -e POSTGRES_USER=imqi1 -e POSTGRES_PASSWORD=imqi1_pg_password -e POSTGRES_DB=imqi1-cms -p 5432:5432 -v imqi1-pg-data:/var/lib/postgresql/data postgres:16可根据需要修改数据库用户名、密码和数据库名称等参数;修改后,在下文配置
.env时应保持一致。
查看是否安装成功并运行正常:
Bashdocker exec imqi1-postgres pg_isready -U imqi1pg_isready 输出 accepting connections 即表示数据库已正常运行。
准备项目
从 Github 上克隆此项目:
Bashgit clone --recurse-submodules https://github.com/imqi1-github/imqi1-cms.git复制一份环境变量模板:
Bashcp .env.example .env数据库连接是必填的,其余(COS、高德地图、部署相关)不填也能启动,模板里每段都有简要的注释说明。
INIDB_HOST="localhost"
DB_PORT="5432"
DB_USER="imqi1"
DB_PASSWORD="imqi1_pg_password"
DB_NAME="imqi1-cms"安装依赖:
Bashbun install生成 Prisma 客户端:
Bashbunx prisma generate初始化数据库:
Bashbun run db:init库不存在时会自动创建(UTF8 编码),并把库时区设为 UTC。
启动开发服务器
Bashbun run dev默认访问地址为 http://localhost:3000,管理后台位于 /admin。用户名为 admin,密码为 123456。
接下来
在使用本项目构建个人站点前,建议先阅读 快速部署 及全部【基础教程】。对本项目形成基本了解后,其余章节可按需阅读。



