去掉 head 防闪脚本;删除论坛 JSON CRUD 与 crawler,仅保留机器入口;用户向文档对齐 SSR。 Co-authored-by: Cursor <cursoragent@cursor.com>
5.9 KiB
姜十三论坛:为小圈子而生的轻量论坛
轻量 · 好看 · 单文件部署
面向内部交流,不堆功能,把「能聊、好看、好装」做到位。
它是什么
姜十三论坛(Jiang13 Forum) 是一款面向小圈子、团队与兴趣社群的现代化论坛软件。
它不做「大而全」的社区平台,而是聚焦一件事:让几个人到几百人的内部交流,有一个干净、顺手、自己能掌控的地方。
技术上,它是一个编译为 单个 Go 二进制 的 Web 应用:公开页用 Go html/template 真 SSR,web_src 做渐进增强 CSS/JS(go:embed),数据库默认 SQLite,拷贝到服务器就能跑。
为什么做它
市面上的论坛方案往往落在两端:
- 重型产品(Discourse、phpBB 等):功能完整,但部署与运维成本高,对小团队过重。
- 即时通讯 / 文档工具:适合聊天与协作,却缺少「发帖—回复—沉淀」的社区节奏。
小圈子真正需要的,常常是中间态:
- 有板块、帖子、楼层回复,讨论可追溯;
- 界面清爽、信息密度够高,桌面与手机都好用;
- 部署简单到「一个文件 + 一份配置」;
- 数据在自己手里,备份一眼能懂。
姜十三论坛正是为这个缺口而生。
谁适合用
| 场景 | 说明 |
|---|---|
| 团队 / 工作室内部论坛 | 需求讨论、进度同步、知识沉淀 |
| 兴趣小圈子 | 同好交流、作品分享、活动组织 |
| 开源 / 私有项目配套社区 | 与 Gitea 等工具通过 OIDC(开放身份连接)做 SSO(单点登录) |
| 想自己托管的个人站长 | 单机即可,无需云数据库与一堆微服务 |
如果你需要百万用户级的公网社区、复杂插件生态或企业级工单流,它可能不是最优选;如果你要的是 小而美、自己能装、自己能管,它会对胃口。
用起来是什么感觉
浏览:高密度、不臃肿
前台采用熟悉的 三栏布局:
- 左栏:板块导航,可折叠;
- 中间:帖子 Feed(信息流),支持虚拟滚动,长列表依然流畅;
- 右栏:热门帖与最新评论,社区动态一目了然。
Feed 可按 最新发帖 / 最新回复 / 热门讨论 切换。浅色与暗色主题一键切换,并会记住你的偏好。平板与手机上侧栏会自动收起,触控浏览同样顺手。
整体气质更接近 V2EX / NGA 一类的信息密度——一屏能看更多内容,而不是大留白的营销站。
发帖:Markdown,够用就好
发帖使用 Markdown 工具栏(标题、粗斜体、列表、代码块、图片上传、内容门控插入)与服务端预览;标签、板块选择日常写帖够用。帖子支持置顶;编辑后保留 修订历史。管理员还可配置普通用户的 编辑时限,避免无限制改稿。
讨论:楼层回复,聊得清楚
评论是楼层式的:可回复指定楼层、引用原文;支持嵌套展示。点赞、收藏、热门帖,把活跃内容自然推到前面。
管理:SSR 后台
管理后台统一在 /admin,与公开页同一套模板布局:
- 仪表盘、板块与帖子管理
- 用户禁言、删帖删评
- 论坛参数、限流、敏感词
- SQLite 一键备份
权限模型很简单:普通用户 / 管理员;首次通过 安装向导 创建管理员账号。
部署:一个文件,真正开箱
这大概是姜十三论坛最「硬核」的卖点之一。
编译 → 得到一个 jiang13(或 jiang13.exe)
放到目录里运行 → Env / CLI 引导(默认 SQLite)
打开浏览器完成安装向导 → 创建管理员
要点:
- 单二进制:静态资源已内嵌,不必再配 Nginx 专门反代前端文件;
- 零外部数据库:SQLite 落在数据目录,备份就是拷贝文件;
- Env / CLI 引导:端口、数据目录、数据库类型;业务项在管理后台热更新;
- 系统服务:内置 Linux systemd / Windows Service 安装与启停;
- 跨平台:Windows / Linux / macOS 均可编译与运行。
典型启动后访问 http://localhost:3000,完成安装后即可开始。
技术素描(给好奇的人)
| 层级 | 技术 |
|---|---|
| 后端 / SSR | Go · Gin · GORM · SQLite · html/template |
| 渐进资源 | web_src → public/assets(/ssr-assets/) |
| 构建 | web_src + go:embed templates/assets,单二进制 |
| 认证 | bcrypt + 会话 Cookie;可选 OIDC Provider,对接 Gitea 等 SSO |
对运维者:数据目录结构清晰(数据库、日志、上传、敏感词、备份)。对开发者:改模板/Go 后重启进程;改 web_src 后跑 build.bat -Target web-src。
现在走到哪一步
项目仍在积极开发中,核心体验已经可用(分支 rebuild/gitea-ssr):
- ✅ 三栏布局、主题切换、Feed 排序、真 SSR 公开页
- ✅ 发帖 / 评论 / 点赞收藏 / 修订历史(Markdown 编辑器)
- ✅ SSR 管理后台与论坛参数配置
- ✅ OIDC Provider(可作 Gitea 等站点的登录源)
- ✅ 单二进制部署与系统服务
计划中的方向见仓库 ROADMAP.md 与 09-ssr-progress.md。
一句话总结
姜十三论坛 = 小圈子论坛该有的功能 × 清新好用的界面 × 真正能单文件带走的部署方式。
如果你正在给团队或同好找一个「自己的小论坛」,不妨编译跑一下:注册第一个账号,从发第一帖开始。
快速上手
# Windows
.\build.bat
# Linux / macOS
make build
# 运行
./dist/jiang13 # 或 Windows: .\dist\jiang13.exe
浏览器打开 http://localhost:3000/register,第一个注册用户即为管理员。
更多细节(配置项、系统服务、前端开发)见项目 README。欢迎通过 Issue / PR 参与共建。
许可证: MIT