Autable 是什么
Autable 是一个代码优先的多维表格系统。它不是 no-code 或 low-code 搭建器,而是把业务表格、表单和工作流拆成可读、可提交、可 review 的文件,让团队和 AI 都能直接维护真实的业务结构。
设计目标
Autable 的核心目标是让业务系统保持三个性质:
- 结构可见:数据库、表、字段、视图存在于
metadata/main.yml。 - 自动化可读:workflow 是普通 JavaScript 文件,可以组合内置节点。
- 录入体验可编程:form 也是 JavaScript 文件,可以做提交、查询、扫码和自定义动作。
- 运行数据可落地:系统数据、业务数据、历史记录都保存在本地数据目录。
它解决什么问题
多维表格产品通常把表结构、自动化、表单配置藏在产品内部。这样的系统上手快,但当业务变复杂后,会遇到几个问题:
- 很难用 Git review 一次结构变更。
- AI 只能操作 UI 或生成片段,无法直接修改源文件。
- 自动化逻辑和数据权限经常分散在不同产品里。
- 迁移、备份、部署和审计缺少清晰边界。
Autable 选择相反的方向:把业务定义放进 Git,把运行数据放进本地数据库,把 UI 当作对这些文件和数据的工作台。
当前组成
Autable 当前包含:
- Go 后端,负责 API、权限、工作流运行、表单执行和静态前端服务。
- SQLite,用于系统数据和每个业务数据库的行数据。
- LevelDB-compatible 存储,用于 row/workflow 历史记录。
- React 前端,用于表格、视图、表单、工作流和权限管理。
- Git-managed repository,用于 metadata、workflow JavaScript、form JavaScript;本地
config.yml不进入 Git。
适合谁
Autable 更适合需要长期维护业务结构的团队:
- 内部运营系统、售后系统、采购/库存同步系统。
- 需要 AI 参与维护表结构和自动化脚本的团队。
- 需要把工作流、表单和权限放在同一个用户体系下的系统。
- 希望用一个单文件 Go binary 分发和部署的项目。
不是什么
Autable 不是一个追求“所有人都不用写代码”的工具。它允许 UI 操作,但默认假设业务结构最终需要回到代码和 Git。