技术架构
技术栈
MDMS 采用纯 Go 技术栈,单二进制文件即可运行,零外部依赖。
后端语言: Go 1.22+
Markdown 渲染: goldmark v1.7.4
模板引擎: Go 标准库 html/template
拼音转换: go-pinyin(中文标题自动转 URL slug)
后台框架: AdminLTE 3.2.0
图表: Chart.js 3.9.1
部署: Nginx 反向代理 + 纯静态文件
目录结构
/opt/mms/
├── main.go # 入口
├── config/ # 配置(结构体 + 默认值 + 读写)
├── model/ # 数据模型
├── generator/ # 静态页面生成引擎
├── handler/ # 后台管理(路由 + 所有功能)
├── middleware/ # 中间件
├── templates/admin/ # 后台模板(30+ 页面)
├── templates/site/ # 前台模板(7 个)
├── static/css/ # 前台样式
├── content/md/ # Markdown 源文件
└── data/ # 运行数据(配置/统计/同义词等)
数据流
用户在后台编辑器中撰写 Markdown 文章,保存为 .md 文件存储在 content/md/ 目录下。执行生成命令时,goldmark 将 Markdown 渲染为 HTML 片段,html/template 将片段套入前台模板,同时注入 canonical、JSON-LD、内链替换等 SEO 元素,最终输出纯静态 .shtml 文件到站点目录,由 Nginx 直接伺服。
后台管理通过 Go net/http 提供服务,Nginx 反向代理 /admin/ 和 /api/ 路径到 Go 进程,其余路径直接返回静态文件。
核心模块
handler 目录包含 10 个 Go 源文件,每个文件负责一个独立功能域:
handler.go 路由注册和所有页面管理
auth.go 登录认证和 Session 管理
llm.go LLM API 调用(5 个函数)
suggestion.go 下拉词采集(5 家搜索引擎)
synonym.go 同义词替换引擎
websearch.go 联网搜索 HTML 解析
ipstats.go IP 统计系统
baiduindex.go 收录量监控
batch.go 批量操作
每个源文件顶部都有重构路标注释,标注了职责、风险等级、依赖和被依赖关系,方便二次开发时快速理解模块边界。
来源:快搜原创 / 作者:MDMS / 发布时间:2026-03-29 00:00:02 / Kuaisou MDMS 版权所有