这是一个什么项目

KyCMS 博客版(KyCMS Blog)是一个自托管的博客与内容管理系统。后端 Go,前端 Vue 3 + TypeScript,数据库 MySQL 8.0/8.4。

它不是一个博客主题,也不是某个平台的插件,而是一套完整的站点程序:公开站、管理后台、评论、留言、友链、单页、导航、附件管理、主题引擎都在里面。

发布形态:前后端编译成一个二进制,前端产物、站点模板、图片转换用的 cwebp 全部在编译期嵌入。部署时不需要 Node,也不需要额外的静态目录,一个可执行文件加一份 .env 就能跑起来。

开源到什么程度

代码在 Gitee:https://gitee.com/bloginc/kycms-blog

协议是 AGPL-3.0。核心代码没有授权码、没有功能门槛、没有“企业版才给”的模块,克隆下来构建出来的就是完整功能。

边界

本项目自身代码被修改并对外分发时,需要同样以 AGPL-3.0 开源。这是协议要求,不是额外加的限制。

第三方主题通过 LICENSE-EXCEPTION.md 单独授权,可以自选许可,包括收费和闭源。也就是说,基于它做付费主题是允许的,这部分不受 AGPL 传染。

能做什么

公开站:文章列表与详情、分类、标签、搜索、分页、RSS、sitemap、JSON-LD 结构化数据

后台:Vue 3 管理界面;后台入口路径在运行期注入,改路径不用重新构建前端

安全:TOTP 二次验证、首次登录强制改密、审计日志、登录限流、评论与留言反垃圾

内容:文章、单页、分类、标签、导航菜单、友链、附件图库

互动:两级评论(需审核)、留言板(可公开可私信)、站长回复

图片:上传后自动转 WebP,cwebp 随程序分发,服务器不用另装依赖

主题:内置模板引擎与对外契约,第三方可以自己写主题

怎么部署

部署形态有三种:Docker Compose 一键、宝塔 / 1Panel 面板源码部署、裸机 systemd 托管。

服务器装好 Docker 和 Compose v2 之后,一行命令:

curl -fsSL https://gitee.com/bloginc/kycms-blog/raw/main/install.sh | bash

脚本会生成部署目录、随机密钥与数据库密码,下载编排文件,拉起应用与 MySQL 8.4 并自动建库建表。完成后按提示访问,初始账号 admin / admin,首次登录强制改密。

测试版状态

现在是 v0.1.0-beta,首个公开版本。这意味着:

  • 功能完整、可以正常搭站使用,但接口与数据结构在 1.0 之前仍可能调整
  • 安全修复只覆盖最新发布版本,升级前请留意版本说明
  • 只提供 linux/amd64 的预编译二进制;arm64 需要自己补齐 cwebp 后再构建
  • 没有数据库迁移框架:含表结构变更的版本,升级前要先备份并手工执行增量 SQL
  • 没有后台自动更新:后台「系统 → 系统更新」页只读展示当前版本,实际升级由你在服务器上执行 kycms 6 或 update.sh

参与开发

功能建议与缺陷反馈走仓库 issue,代码贡献走 Pull Request。

不需要签 CLA,也不要求 Signed-off-by。提交即以 AGPL-3.0 授权,著作权仍归贡献者本人。

发布流程、版本号规则、每次发版会产出哪些东西,都写在 docs/RELEASING.md 里——你可以据此判断自己的改动大概会在哪个版本进入主线。

最后

这个项目走到今天是一条独立的技术线,有自己的规范与发布流程。开源是希望它被更多人用起来,也希望能有开发者愿意一起把它做得更好。

有问题可以直接在仓库提 issue,或者在这篇文章下面留言,或者在留言板块留言,或者在博客集对应板块留言。