已上线
方法
每个引擎都先在真实产品中经受检验。
验证通过后,才会成为平台。NotaFlow 从 RFC 到上线只用了几天,Vapulab 几乎所有引擎都已以雏形形态在其中运行。
正在巴西国家系统中开具真实发票,见 notaflow.vapulab.com。
ose
与国家系统的同步:每 30 分钟读取各家企业的每一张发票和每一个事件,基于游标增量读取,失败自动重试。
MORAX VAULT
证书保险库:每张 A1 证书都有自己的数据密钥,再由主密钥加密(信封加密)。业务数据从不物理删除。
haborym
税务接口(Sefin 和 ADN)的完整 mock,每份 XML 都按官方 XSD 校验,同一张发票绝不会重复开具。
FOCALORS SENTINEL
Prometheus、Loki 和 Grafana,告警推送到 Discord,加上 Sentry、外部 watchdog 和审计日志。
生态
内部引擎、平台和产品。每个引擎都先在真实产品中经受检验,然后才成为平台。
产品 · by Vapulab
独立品牌,由 Vapulab 背书
Arcontes · 平台
对外产品用实心图标表示
MORAX VAULT
持久化与契约
保险库、不可变备份,以及不允许失败的事务。由 Vapula 驱动。
BUER GNOSIS
市场洞察
数据挖掘与竞品分析:把原始数据变成精准如手术刀的报告。由 Ose 和 Vassaga 驱动。
BARBATOS GATEWAY
分发与界面
带客户品牌的界面,首字节到达即可渲染。构建于 Malphas 之上。
FOCALORS SENTINEL
审计与可观测性
每一条日志、每一笔事务、每一个异常,都在同一个面板上接受审视。由 Haborym 支撑。
Goétia · 内部引擎
内部引擎用线性图标表示
vapula
Logic
后端核心。Go,加上类型安全的查询和版本化迁移的 PostgreSQL。本站目前就跑在它上面。
ose
Perception
一组 worker,负责去网上采集无人整理的数据。每 30 分钟从国家系统读取每一张发票和每一个事件。
malphas
Structure
设计系统。HTML 由服务端直接生成;键盘、焦点和 ARIA 都在真实的 Chrome 中测试过。
vassaga
Discovery
索引与分析。为 Ose 带回的数据建立目录,找出规律,预判趋势。
haborym
Ignition
混沌、负载与 CI/CD。用 mock 和基于官方 XSD 的测试攻击我们自己的系统,确保线上不出问题。
我们如何构建
没有客户端框架,没有 Node 构建,运行时不依赖 CDN。运行的就是二进制文件里的东西。
后端
Go 编译成单个二进制文件,由 chi 负责路由。服务器上无需安装运行时,请求与响应之间没有中间进程。
持久化
通过 pgx 连接池访问 PostgreSQL。查询是真正的 SQL,sqlc 据此生成 Go 代码——编译器因此知道数据库的 schema。用 goose 管理版本化迁移。
精简前端
HTMX 替换服务端本就会拼装的 HTML 片段。只有在交互过于局部、不值得走一趟网络时,才用 Alpine。Tailwind 用独立二进制文件编译。