关于FlintHub

极简 · 开放 · 务实

一个基于 PHP + SplitDB 构建的轻量级开源社区系统。


一、什么是 FlintHub?

FlintHub(燧石社区)是一个从零开始、纯手工打造的轻量级论坛系统。

核心定位:极简工程哲学,不追求商业变现,只追求极致的性能、清晰的架构和优雅的代码。

技术栈

  • 后端:纯 PHP,零 Composer 依赖,零框架
  • 数据库:SplitDB(纯 SQLite 分片引擎)
  • 前端:自研 Alpine.js 定制 + htmx 定制,无重型框架
  • 语言:内置简体中文、繁体中文、英文三语

二、核心亮点

1. SplitDB 分片引擎

FlintHub 的核心底层发明,把数据按“季度时序分区 + 32 桶哈希”进行物理分片,存于独立文件。

  • 数据自动分片,大数据量下依然高效
  • 二级索引(帖子主索引、搜索索引、统计缓存)可随时从分片重建
  • 数据永不丢失,任何索引都能重建

2. 正文外置

帖子正文存储在 extern/ 目录下的 .txt 文件中,不进数据库。

  • 大幅减少数据库体积
  • 数据库查询更快
  • 帖子内容读取更高效

3. 插件系统

“一目录一插件,零侵入核心”的插件架构。

  • 每个插件有独立数据库(Plugin::db('插件名')
  • 插件之间互不依赖、零耦合
  • 三条硬性安全规则 + 八条最高级别红线
  • 单钩子出错不影响其他插件和页面

4. 极简前端

  • 自研 TemplateCompiler,支持 {if}{loop}{extend} 等标签
  • 6 套主题(深海蓝、烈焰红霞、翡翠绿、暗夜星辰、紫罗兰、Modern),全部 CSS 变量驱动
  • 移动端完整适配(底部导航、抽屉式侧边栏)

三、技术特点

维度 FlintHub
后端 纯 PHP,零框架,零 Composer 依赖
数据库 SplitDB(纯 SQLite 分片引擎)
查询性能 首页 24 次查询(含 10+ 插件)
页面渲染 约 0.02 秒
前端 自研 Alpine.js 定制 + htmx 定制
语言 简中 / 繁中 / 英文
主题 6 套 CSS 变量驱动
插件 一目录一插件,独立库,零耦合

四、为什么选择 FlintHub?

你需要的 FlintHub 能给你
极简部署 纯 PHP + SQLite,无需配置数据库,解压即用
极速性能 SplitDB 分片 + 正文外置 + 双层缓存,页面秒开
安全可靠 三条硬性规则 + 八条红线,安全内建于设计
扩展性强 一目录一插件,独立库,互不依赖

五、版本计划

  • 当前版本:V1.0.56
  • 开发哲学:极简工程哲学,不追求商业变现,只追求极致性能

六、开发历程

FlintHub 的前身是 SoSite(SS),经过多次迭代升级,最终演变为现在的 FlintHub(fh)。

  • SplitDB(spd):自研分片引擎,从零开始,手工打造
  • 插件规范:三条硬性规则 + 八条红线,让插件开发有章可循

七、社区

FlintHub 是燧石社区(flinthub.top)的底层系统,欢迎注册体验。

  • 社区定位:极简、开放、务实
  • 版块:社区公告、FlintHub 相关、技术分享、每日话题、综合讨论、精品软件

八、关于作者

独立开发者,从零开始,纯手工打造 FlintHub。

不追求商业变现,只追求极简工程哲学。


九、欢迎讨论

FlintHub 是一个持续打磨中的项目,欢迎在社区发帖讨论:

  • 架构设计思路
  • 插件开发规范
  • SplitDB 分片引擎

燧石,是取火之石。每一次敲打,都是为了点燃更亮的光。

FlintHub · 燧石社区