跳到正文

CoolkHz

gptibo

Self-hosted GPTibo storefront, admin and Go backend — sanitized MIT source

README 已保存到本站,可直接阅读

Documentation snapshot

README 快照

本页保存的是公开项目资料快照,阅读过程不需要连接 GitHub。

GPTibo

可自托管的数字商品商城,包含用户前台、管理后台与代理工作台。

图片:CI MIT License · 快速开始 · 后端文档 · 安全说明

GPTibo 将商品展示、下单支付、订单交付、售后处理和代理商店管理整合在同一套系统中。前端使用 React 与 TypeScript,后端提供 Go + PostgreSQL 和 Cloudflare Workers + D1 两种实现,便于按部署环境选择和二次开发。

原站点已停止运营,项目现以 MIT 许可证开放源码。支付与供应商接入使用匿名适配器,需要配置自己的服务后使用。

功能

模块能力
用户商城商品与套餐展示、下单、支付状态、订单查询、售后申请、中英文界面、深浅色主题
管理后台商品定价、订单与客户管理、退款处理、代理管理、结算与通知配置
代理工作台独立商店、品牌设置、自定义域名、商品管理、订单统计与下级代理管理
业务后端身份验证、支付回调、采购适配、异步任务、邮件通知与交易状态管理
开发与部署数据库迁移、Docker Compose、自动化测试、GitHub Actions 与源码安全扫描

技术栈

层级技术
前端React 19、TypeScript、Vite、Tailwind CSS
Go 后端Go、Gin、PostgreSQL,API 与业务 Worker 分进程运行
Cloudflare 后端Workers、D1、Wrangler
邮件React Email
验证Node.js Test Runner、Go Test、Gitleaks

两套后端均服务于商城。当前公开版本包含商城侧供应商适配器,不包含独立供货平台及供应商执行系统。

快速开始

环境准备

  • Node.js 24、npm、Git、Python 3。
  • 使用 Go 后端时,准备 Docker Compose;原生开发需要 Go 1.26+ 和 PostgreSQL。
  • 使用 Cloudflare 后端时,通过项目内的 Wrangler 运行本地环境。
git clone https://github.com/CoolkHz/gptibo.git
cd gptibo
npm ci

选择下面一种后端方式运行。

方式一:Go + PostgreSQL

在仓库根目录执行以下命令,初始化本地秘密、数据库和运行角色:

cd services/storefront
python3 scripts/init-secrets.py
cp .env.example .env
docker compose config --quiet
docker compose build api
docker compose up -d --wait postgres
docker compose --profile maintenance run --rm maintenance migrate
docker compose --profile maintenance run --rm maintenance grant-runtime
docker compose up -d --wait api worker

另开终端,在仓库根目录启动前端:

npx vite --config services/storefront/vite.config.ts

访问 http://127.0.0.1:5175。前端会将 /api 请求代理到本机 Go API 的 8093 端口。

原生启动、管理员登录、邮件服务与接入配置见 Go 后端文档。Windows 用户可使用后端目录中的 scripts/init-secrets.ps1 初始化秘密。

方式二:Cloudflare Workers + D1

在仓库根目录执行:

cp .dev.vars.example .dev.vars
npx wrangler d1 migrations apply gptibo-local --local
npm run preview:worker

默认访问 http://127.0.0.1:8787。需要前端热更新时,另开终端运行 npm run dev,访问 http://127.0.0.1:5173;API 请求会转发到本地 Worker。

.dev.vars 保存本地配置,不应提交。远程部署时需创建自己的 Cloudflare 资源,并替换 wrangler.jsonc 中的占位配置。

页面入口

页面路径
商城/
管理后台/admin
代理工作台/partner

管理员登录需要配置自己的管理员身份、TOTP 和邮件验证服务。默认配置不提供可直接登录的管理员账号,也不会发起真实支付、采购或通知。

项目结构

src/                   商城前台、管理后台与代理工作台
services/storefront/   Go API、业务 Worker、迁移与部署配置
worker/                Cloudflare Workers 后端
migrations/            D1 数据库迁移
emails/                邮件模板
tests/                 前端与 Worker 业务测试
scripts/               构建与源码检查脚本
public/                静态资源
.github/workflows/     持续集成

配置与接入

配置文件用途
services/storefront/.env.exampleGo 后端基础运行配置
services/storefront/.env.integrations.exampleGo 后端支付、采购及通知接入
.dev.vars.exampleCloudflare 本地配置
wrangler.jsoncWorker 与 D1 资源配置

供应商适配器使用 recharge、account_supplier、delivery_supplier、xgift 等通用名称;gatewaya、gatewayb 为匿名聚合支付适配器。请依据自己的服务协议核对地址、签名、商品映射、金额和回调,再开启对应功能。

真实商户身份、密钥、账号凭据和生产数据不随源码提供。example.invalid 是不可用于真实接入的保留域名,示例商品与金额仅用于演示。请使用新数据库安装;匿名化后的迁移不兼容原生产数据库。

开发与验证

在仓库根目录执行:

npm test                # 前端与 Worker 业务测试
npm run lint            # 静态检查
npm run build           # 类型检查、邮件模板与前端构建
npm run security:scan   # 公开源码检查

Go 后端验证:

cd services/storefront
go test ./...
go vet ./...

完整数据库测试需设置 STOREFRONT_TEST_DATABASE_URL,连接本机、库名以 _test 结尾的专用数据库;未配置时集成测试会跳过。详细要求见后端测试说明。

自动化测试不连接真实支付或供应商服务。生产部署前,需要在自己的环境验证完整交易流程。

参与贡献

欢迎通过 Issues 反馈问题或提出建议,也欢迎提交 Pull Request。

  1. 描述问题、预期行为和复现步骤。
  2. 提交范围明确的改动,涉及交易或账务逻辑时补充回归测试。
  3. 运行与改动相关的检查,在 PR 中说明验证结果。

请勿提交真实凭据、用户资料、生产日志或数据库。安全问题请按 SECURITY.md 中的方式报告。

许可证

项目代码采用 MIT License,允许在保留版权与许可声明的前提下使用、修改和分发。

第三方资源遵循各自许可证,商标及美术作品权利归原权利人所有。详见品牌资源说明与第三方样式说明。

Official distribution

获取与安装

暂未发现可确认的官方软件包地址

当前 README 快照没有出现 npm、PyPI、Crates.io、pub.dev 等官方包页链接。本站不会根据仓库名称猜测下载地址。

本站不托管项目文件;需要安装时,请以项目维护者发布的官方文档为准。

使用前核验

本站保存公开资料用于阅读,不代表安全审计或功能背书。安装前请核对许可证、依赖来源和发布签名,不要直接运行来源不明的二进制文件或高权限脚本。