星海 StarOcean

MIT 开源 · 单文件部署 · 日常约 50MB 内存

星海 StarOcean

一个文件,把账做对

面向中小商贸的开源 ERP。单二进制、零依赖,进销存与简易总账开箱即用。不替代 SAP,只把日常做账做扎实。

~50MB单文件体积
~50MB日常运行内存
零依赖不装外部数据库
MIT开源可商用

能力模块

商贸日常该有的,开箱都在

销售、采购、库存、往来、总账同一系统。状态机清晰,按钮只露出下一步。

销售

草稿 → 确认扣库 → 发货 → 开票收款

采购

下单 → 收货加库 → 付款核销

库存

SKU、安全库存预警、出入库流水

往来

收付款、账龄、报销、对账

总账

科目、凭证、试算、报表、结账

打印

送货单、对账单,浏览器原生打印

为何够用

中小商贸日常,不必养一套重系统

只做下单、出入库、收付款、简易总账。装得上、跑得动、账做对。

  1. 01

    拷贝即走

    约 50MB 可执行文件。U 盘、旧电脑、低配云主机都能跑。

  2. 02

    单文件数据

    不用另装数据库。备份 = 拷贝文件;启动即就绪。

  3. 03

    同事务过账

    扣库、开票、冲销在同一事务——要么全成,要么全不成。

  4. 04

    边界写明

    不做 BOM/MRP、多仓、多币种、多租户。适合单店与小团队。

业务闭环

从下单到关账,一条链走完

销售与采购两条主链,库存与总账随单联动。

销售链路

  1. 草稿
  2. 确认扣库
  3. 发货
  4. 开票收款

确认即扣库存,开票生成应收与凭证。

采购链路

  1. 草稿
  2. 确认下单
  3. 收货加库
  4. 付款核销

收货加库存;付款支持多对多核销,账龄精确到天。

部署

Docker,一键起服

只讲一条路:Docker。系统依赖锁进镜像,换机器不操心。演示账号 admin / starocean(起服务时加 serve -seed -demo-password 写入)。

终端 · 一键
# 构建一次(几分钟,之后到处运行)
docker build -t starocean .

# 一键起服务(含演示数据,admin / starocean)
docker run -d --name starocean -p 8080:8080 \
  --restart unless-stopped \
  -e SECRET_KEY="$(openssl rand -base64 32)" \
  -v starocean-data:/data \
  starocean serve -seed -demo-password

# → 打开 http://localhost:8080(服务器上把 localhost 换成 IP)

生产:先 docker run --rm -v starocean-data:/data -e ADMIN_PASSWORD=xxx starocean seed 写入管理员,再起不带 -seed 的正式服务;升级 = 重 build + 删旧容器起新容器(volume 原地保留);日志 docker logs -f starocean。不用 Docker?单二进制 install 也行,见 GitHub README

serve -seed -demo-password
首次演示,一步到位
-v starocean-data:/data
数据持久化,删容器不丢库
升级
重 build + 重起容器,volume 原地保留
docker logs -f starocean
实时日志

场景

开店、月结、运维:三件最常干的事

新店首日

建档 → 首单 → 收钱

商品与客户建档,销售确认扣库,收款核销应收。看板一次看清销售额与库存预警。

月底关账

对账 → 试算 → 结账

对账单确认,试算平衡,期间结账。关账后单据不可改,差错用冲销凭证。

低配运维

部署 → 备份 → 升级

常驻约 50MB 内存;数据在 volume 里,删容器不丢;升级重起容器即可。

自动过账

一张单据,自己长出凭证

确认即扣库、开票即生成应收与分录,采购收货即入存货与进项税。你不必手工做分录,试算始终平衡。

  1. 1

    录一张单据

    销售 / 采购订单,行级填写数量与单价。

  2. 2

    点确认 / 开票

    扣库存、生成应收应付——与单据同一事务,要么全成,要么全不成。

  3. 3

    凭证自动落账

    借贷、净额与税额一次写对;取消单据红冲对应凭证,不改历史。

价税合计 ¥48,620.00
1122 应收账款借 48,620.00
6001 主营业务收入贷 43,026.55
22210105 销项税额贷 5,593.45

销售成本按移动加权结转(借 6401 / 贷 1405)。

价税合计入应付
1405 库存商品借 净额
22210101 进项税额借 税额
2202 应付账款贷 价税合计

进项税不进存货成本;税率与科目可在设置里改。

诚实边界

合不合适,看这张表就够

星海不做大而全。下表是刻意的取舍。

星海重型 ERP
部署单二进制 + 单数据文件多组件编排
依赖零外部服务库 / 缓存 / 队列
内存日常约 50MB常以 GB 计
账目单据与凭证同事务严谨但更重
边界无 BOM、多仓、多币种大而全,难改

在行

  • 客户 / 供应商与销售采购全流转
  • 实时库存与安全库存预警
  • 收付款、账龄、报销、对账
  • 凭证、试算、报表、结账

不做

  • 生产制造(BOM / 工单 / MRP)
  • 多仓库 / 库位、高级盘点
  • 发票三单匹配、成本中心、多币种
  • 多租户 SaaS

问答

上线前最常被问的五句

数据存在哪里?容量够吗?

数据在应用目录下的单个文件里,不用另装数据库。几十万商品、上百万条流水的商贸体量可应对;备份就是拷贝一个文件。

数据安全吗?备份怎么做?

会话为 HMAC Cookie + 登录限流;SECRET_KEY 请用随机 32 字符以上。备份:停服拷贝数据文件,或做文件系统快照;恢复即放回文件重启。

支持多人同时用吗?权限怎么分?

支持多用户。当前最小 RBAC:admin 可写单据,viewer 只读账表。适合单店、小团队;细粒度权限与多租户暂未做。

升级麻烦吗?

停服务 → 替换二进制 → 启动。迁移在启动时自动执行。升级前备份数据文件即可。

我们行业有点特殊,能定制吗?

核心保持精简是底线。确有行业特殊需求,欢迎带着业务场景提 Issue,评估扩展方案——稳定优先。

装一次,把账理清

一个文件、一条命令,开机自启。数据就是一个文件,备份即拷贝。

立即部署