数据留在自己手里!这款可私有化的多维表格 LiteBase,让 Excel 和 Airtable 合体

管项目用 Excel,管客户又用另一个表格,想做个看板还要再开个工具;想上 Airtable 这类多维表格吧,数据又得放到别人的服务器上,心里总不踏实。
- 数据散在十几个 Excel 里,谁改了哪一行全靠口头报备;
- 想用在线多维表格,又担心客户资料、订单数据存在别人的云上不安全;
- 团队一多,SaaS 按人头收费,账单越来越吓人;
- 好不容易搭好的表,换个工具导不出来,被牢牢"锁死"。
如果你也在纠结,LiteBase 也许正是你要找的那个答案——一个可以装在你自己服务器上的多维表格系统:既能像 Excel 一样自由录入、筛选、排序,又能像 Airtable 一样建关联、写公式、切看板日历甘特,数据却始终留在你自己的机器里。
一、什么是 LiteBase:把多维表格装回自家服务器
LiteBase 用一套清晰的层级来组织你的数据:多维表格 → 数据表分组 → 数据表 → 字段 / 记录 / 视图。你可以自由定义字段类型,在表格视图里录入、筛选、排序、分组、统计,还能玩转公式计算、跨表关联、附件管理,以及 Excel/CSV 的导入导出。
它最核心的一句话卖点是:私有化部署。整套系统跑在你自己的服务器或电脑上,数据库文件就是一个本地 SQLite 文件,不依赖任何外部云服务,数据从始至终都在你手里。
二、双层数据模型:结构再复杂也不会乱

很多人担心"自己搭一个多维表格"会不会很脆弱,LiteBase 在架构上把这件事想得很透:
- 元数据层:用固定的系统表(
sys_base、sys_table、sys_field、sys_view等)描述多维表格的"结构"; - 数据层:每一张数据表,背后对应一张动态创建的物理表
data_tbl_xxxxxx,一列就是一个字段。
所有结构变更都走同一条管线:元数据声明 → 结构 diff → DDL 执行,而且元数据写入和真正改表结构放在同一个事务里,保证"结构描述"和"物理表"永远对得上,不会出现"说有这个字段、表里却没有"的尴尬。
后端基于 Go + Gin + GORM,数据库用的是纯 Go 驱动的 SQLite(无需 cgo、无需额外装数据库),前端是 Vue 3 + TypeScript + Vite + TailwindCSS。一个进程就能同时托管前端和后端,部署简单到不可思议。
三、字段体系:20+ 种字段类型,几乎覆盖你能想到的所有场景

不用再为了"日期""下拉""附件"去拼各种插件,LiteBase 内置了一整套字段类型:
- 多行文本(含邮箱)、数字(含货币 / 进度 / 评分形态)、单选、多选、日期、复选框、电话号码、超链接、附件;
- 单向关联 / 双向关联:把两张表连起来,像数据库的外键一样好用;
- 查找引用 / 汇总:从关联表里取数、做统计,结果自动算好;
- 公式:自己写表达式,实时计算;
- 系统字段:创建时间、最后更新时间、自动编号。
几个贴心细节:
- 第一个字段是主索引,不能删、不能藏、不能移,保证每条记录都有"身份证";
- 计算字段(公式 / 查找引用 / 汇总)对用户只读,结果物化到物理列,筛选、排序、分组、分页全走 SQL,快得飞起;
- 单选 / 多选支持选项调色、改名,删除选项时旧数据自动同步;
- 双向关联会在目标表自动建反向字段,两边联动更新;
- 改字段名时,公式里的引用会被自动重写,不会因为改名就"算崩了"。
四、表格视图:万级数据也能随手编辑

表格视图是日常用得最多的界面,LiteBase 把它打磨得很顺手:
- 行列双向虚拟滚动,轻松承载上万条记录,滑动不卡顿;
- 按字段类型分派单元格渲染与编辑器,点一下就能行内编辑;
- 列宽拖拽、列顺序拖拽、冻结前 N 列、行高三档(紧凑 / 中等 / 宽松);
- 多条件筛选(且 / 或,支持嵌套)、多字段排序、字段分组(分组桶带计数还能下钻);
- 字段显隐与顺序管理、字段底部汇总行(求和 / 平均 / 最大 / 最小 / 已填 / 未填 / 勾选);
- 记录多选、批量清空、复制粘贴(兼容 Excel 的 TSV)、行拖拽排序、右键菜单;
- 撤销重做(Ctrl/Cmd + Z / Shift + Z)和全套键盘导航(方向键、Tab、Enter、Esc、Delete)。
真正用起来,你会发现它比很多在线表格都更跟手。
五、六视图:同一份数据,六种看法

同一份底层数据,LiteBase 提供六种呈现方式,切换视图就是切换一整套展示规则:
| 类型 | 用途 | 关键配置 |
|---|---|---|
| 表格 | 行列编辑全量数据 | 列宽、行高、冻结列、汇总行 |
| 看板 | 按字段分栏,拖拽卡片改分组 | 分栏字段、卡片封面、卡片字段 |
| 日历 | 按日期在月 / 周历铺排记录 | 日期字段、结束日期、一周起始日 |
| 甘特 | 起止日期生成时间条,看排期进度 | 开始 / 结束日期、进度字段、刻度 |
| 画册 | 卡片大图浏览,封面取附件图片 | 封面字段、卡片尺寸 |
| 表单 | 对外收集数据,访客免登录填写 | 标题说明、必填项、分享链接 |
几个要点:
- 视图类型创建时确定、之后不可变;复制视图会沿用同类型与全部配置;
- 筛选、排序、分组、字段显隐、列宽、行高、冻结列都属于视图级配置,改动先落在本地草稿,点保存才写入,不想要随时放弃;
- 看板、日历、甘特复用记录查询的分组与筛选能力,不另开接口;
- 表单开启分享后服务端分配随机令牌,停用或重新生成,旧链接立即失效;访客提交只接受表单内出现的可写字段,计算字段与系统字段在服务端被剔除,安全省心。
六、公式与关联:让数据自己会算账

LiteBase 自带一套自研表达式引擎:词法分析 → Pratt 解析 → AST 求值,函数库覆盖逻辑、文本、数学、统计、日期、数组六类,共 60+ 函数。
- 字段引用写作
{字段名},编译期就解析成字段 ID 并收集依赖,实现增量重算,只算变了的部分; - 查找引用能基于关联字段取目标表字段值,还能附加筛选条件;
- 汇总(Rollup)沿关联字段取目标表的值集合,再按聚合方式折叠成一个数:关联记录数、空值 / 非空 / 去重计数与占比、求和、平均、最小 / 最大、勾选数与勾选占比;
- 双向联动:删除记录时,自动清理其他表里指向它的关联值,不留孤儿数据。
七、导入导出与附件:和现有数据无缝衔接
- 导入:上传 Excel/CSV → 服务端自动推断字段类型、匹配同名字段 → 向导确认映射与类型 → 批量写入;单选 / 多选字段还会自动补齐数据中冒出来的新选项;
- 导出:按当前视图的筛选、排序与字段显隐导出 xlsx 或 csv(CSV 带 BOM,Excel 打开不乱码);
- 附件:单元格多文件上传、图片缩略图(按需生成并缓存)、原图预览、下载与删除,一站式搞定。
八、私有化部署:数据不出内网,部署一个进程就够

LiteBase 的部署简单到令人感动:
- 后端是单个 Go 二进制,数据库就是一个 SQLite 文件,附件放在本地目录;
- 构建前端后,后端启动时会自动探测并托管
web/dist,也就是说,一个进程就能完成前后端部署; - 数据完全留在你自己的服务器 / 内网,不上任何第三方云;
- 常用配置通过环境变量即可完成:
LITEBASE_SERVER_PORT、LITEBASE_SERVER_MODE、LITEBASE_DB_PATH、LITEBASE_STORAGE_DIR。
对在意数据安全、又不想被 SaaS 订阅"按人头收割"的团队来说,这一点尤其重要。
为什么选 LiteBase?
- 数据私有:部署在你自己的服务器,数据不出内网,合规又安心;
- 零外部依赖:SQLite 单文件数据库,不需要另装 MySQL / Postgres;
- 一个进程搞定:前后端一体,拷贝即用,运维成本极低;
- 能力完整:20+ 字段、六种视图、公式与关联、导入导出、附件,该有的都有;
- 不被绑定:标准 Excel/CSV 导入导出,随时带着数据走,没有迁移焦虑。
三步上手
- 启动后端:
cd server && go run ./cmd/server(默认监听0.0.0.0:8080); - 启动前端:
cd web && npm install && npm run dev(开发服务器在5173,通过 Vite 代理转发/api); - 打开浏览器访问前端地址,开始建你的第一张多维表格。
生产环境只需
npm run build构建前端,再用go build出后端二进制,单进程即可对外服务。
一个能装进你自家服务器的多维表格,数据自己说了算。 现在就把 LiteBase 跑起来,体验"Excel 的灵活 + Airtable 的强大 + 私有化的安心"。


