📢 新文章推送 · 每周更新优质内容 · 订阅更新 →
向下滚动
资源分享

免费开源评论系统推荐与部署指北

AI 智能总结

前言

静态博客需要评论功能时,由于没有后端支持,必须借助外部评论引擎。本文推荐四款完全免费开源的评论系统,每款都有详细的部署步骤。

1. Twikoo —— 最省心的自部署方案

Twikoo 是基于 Vercel Serverless + MongoDB 的现代评论系统。

优点

  • 部署极其简单,Vercel 一键部署
  • 永远免费(Vercel + MongoDB Atlas 免费额度绰绰有余)
  • 功能齐全:评论、回复、表情、邮件通知、反垃圾
  • 国内访问速度快
  • 数据自有,不依赖第三方平台

部署步骤

  1. 注册 MongoDB Atlas,创建免费集群,获取连接字符串
  2. Fork Twikoo 仓库
  3. 在 Vercel 中导入项目,设置环境变量 MONGODB_URI
  4. 部署完成后获得一个 API 地址
  5. 在博客页面中引入 Twikoo JS 并初始化
1<div id="twikoo-comments"></div>
2<script src="https://cdn.jsdelivr.net/npm/twikoo/dist/twikoo.all.min.js"></script>
3<script>
4twikoo.init({
5  envId: 'https://your-twikoo-api.vercel.app',
6  el: '#twikoo-comments',
7  lang: 'zh-cn'
8});
9</script>

邮件通知配置

在 Vercel 环境变量中添加 SMTP 配置:

1SMTP_HOST=smtp.example.com
2SMTP_PORT=465
3SMTP_USER=your-email@example.com
4SMTP_PASS=your-password
5SENDER_NAME=博客评论通知
6SENDER_EMAIL=your-email@example.com

文章点赞

Twikoo 支持文章点赞功能,在初始化时添加:

 1twikoo.init({
 2  envId: '...',
 3  el: '#twikoo-comments',
 4  onCommentLoaded: function () {
 5    // 获取点赞数
 6    twikoo.getRecentComments({
 7      envId: '...',
 8      pageSize: 0,
 9      includeReply: false
10    }).then(function (data) {
11      // 遍历 data 获取每条评论对应的文章点赞数
12    });
13  }
14});

2. Waline —— 功能最全面的方案

Waline 是 Valine 的进化版,功能更加丰富。

优点

  • 支持社交登录(GitHub、Twitter、微博等)
  • 文章反应(表情表态)
  • 访客 IP 归属地展示
  • 完整的文档和社区

部署步骤

  1. 注册 LeanCloud(国际版),创建应用,获取 AppId 和 AppKey
  2. 在 Vercel 中部署 Waline
  3. 设置环境变量:
    • LEAN_ID - LeanCloud AppId
    • LEAN_KEY - LeanCloud AppKey
    • LEAN_MASTER_KEY - LeanCloud MasterKey
  4. 引入 Waline 并初始化
 1<div id="waline-comments"></div>
 2<script type="module">
 3import { init } from 'https://unpkg.com/@waline/client/dist/waline.mjs';
 4init({
 5  el: '#waline-comments',
 6  serverURL: 'https://your-waline-api.vercel.app',
 7  lang: 'zh-cn',
 8  login: 'enable',
 9  reaction: true,
10  pageview: true
11});
12</script>

3. Artalk —— 最轻量的独立方案

Artalk 是 Go 语言编写的轻量评论系统,使用 SQLite 单文件数据库。

优点

  • 极其轻量,二进制文件几 MB
  • SQLite 数据库,备份只需复制一个文件
  • Docker 一键部署
  • 数据完全自控

部署步骤

1# Docker 一键部署
2docker run -d \
3  --name artalk \
4  -p 8080:23366 \
5  -v $(pwd)/data:/data \
6  artalk/artalk-go:latest

前端引入:

 1<div id="artalk-comments"></div>
 2<link href="https://your-server:8080/dist/Artalk.css" rel="stylesheet">
 3<script src="https://your-server:8080/dist/Artalk.js"></script>
 4<script>
 5Artalk.init({
 6  el: '#artalk-comments',
 7  server: 'https://your-server:8080',
 8  site: '你的站点名',
 9  pageKey: location.pathname
10});
11</script>

数据备份

1# 直接复制 SQLite 数据库文件
2cp /data/artalk-go.db ./backup/artalk-go-$(date +%Y%m%d).db

4. Giscus —— 最轻量的 GitHub 方案

Giscus 基于 GitHub Discussions API,无需任何后端服务。

优点

  • 零后端,零费用
  • 评论存储在 GitHub Discussions 中
  • 天然支持 Markdown
  • 自带点赞和排序

部署步骤

  1. GitHub 仓库启用 Discussions
  2. 安装 Giscus App,授权仓库
  3. 访问 Giscus 配置页面,填写仓库名,获取配置代码
 1<script src="https://giscus.app/client.js"
 2  data-repo="username/repo"
 3  data-repo-id="R_kgxxxxxxxx"
 4  data-category="Announcements"
 5  data-category-id="DIC_xxxxxx"
 6  data-mapping="pathname"
 7  data-strict="0"
 8  data-reactions-enabled="1"
 9  data-emit-metadata="0"
10  data-input-position="bottom"
11  data-theme="preferred_color_scheme"
12  data-lang="zh-CN"
13  crossorigin="anonymous"
14  async>
15</script>

选型对比表

特性TwikooWalineArtalkGiscus
部署难度⭐ 极简⭐⭐ 简单⭐⭐ 简单⭐ 极简
免费程度免费免费需服务器免费
社交登录支持部分GitHub 登录
邮件通知GitHub通知
文章点赞
数据自控GitHub
国内速度取决于服务器依赖GitHub
管理后台GitHub界面

最终建议

  • 新手首选:Twikoo,Vercel 一键部署,零成本,功能全
  • 需要登录:Waline,支持多种社交平台登录
  • 有服务器:Artalk,数据完全自控,备份方便
  • 开发者博客:Giscus,利用 GitHub 生态,零配置
9 / 16
版权声明

本文作者 Lumin

本文链接 https://www.zhengquan.xyz/share/open-source-comment-systems/

许可协议 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

请作者喝杯咖啡 ☕

  • 微信打赏
    微信支付
  • 支付宝打赏
    支付宝
点击按钮查看打赏二维码
🎁 推荐工具
试试这些实用在线工具,提升工作效率
前往工具集 →

留言评论

期待你的想法

评论加载中