production runtime and mock removal

This commit is contained in:
inman committed 2026-08-17 23:44:14 +08:00
1 parent 2ef3da7af5
commit 6480e503eb
55 files changed
+581 -540

No files matched your search

+2 -8
View File
@@ -41,13 +41,7 @@ queued -> running -> succeeded
-> cancelled
```
必须运行 Worker:
```bash
npm run worker
```
或 Docker Compose 中的 `zhinian-worker` 服务。
Go API 内嵌 WorkerLoop,生产和 Docker Compose 都由 `zhinian-go-api` 进程负责领取、提交、轮询和结算任务;不再运行独立 Node Worker 服务。
## 创建任务
@@ -92,7 +86,7 @@ curl -X POST https://你的域名/api/v1/jobs \
开放 API 仍按 API Key 和账号分区运行。当前未绑定组织的开放 API 任务保持兼容,不从组织钱包扣费;平台浏览器用户的真实图片/视频任务会按超级管理员配置的服务商标准单价、计费单位和上浮倍率,从所属组织余额冻结。普通用户余额不足时不会提交服务商并返回余额不足错误;超级管理员仍保存计算费用,但不检查、冻结或扣减组织额度,也不产生钱包扣费、退款流水。计费规则与最终金额会随任务保存,任务失败、取消或过期后由 Worker 在最终终态退款;Seedance 成功后按 `usage.completion_tokens` 多退少补,缺少该字段时保留冻结金额。
组织余额当前只能由超级管理员通过 `/billing` 的“余额与上账”直接入账。所有充值和人工余额调整都只记入组织账本,不存在个人上账归属;组织管理员和员工共同使用组织额度。未来接入支付时,支付成功回调应使用同一幂等上账逻辑自动入账,不产生待审核申请。余额不足时,平台会拒绝创建真实计费任务并返回错误;Mock 任务免计费。
组织余额当前只能由超级管理员通过 `/billing` 的“余额与上账”直接入账。所有充值和人工余额调整都只记入组织账本,不存在个人上账归属;组织管理员和员工共同使用组织额度。未来接入支付时,支付成功回调应使用同一幂等上账逻辑自动入账,不产生待审核申请。余额不足时,平台会拒绝创建真实计费任务并返回错误;未配置真实服务商凭据时也不会生成占位结果。
首次加载超管计费中心或提交真实任务时会自动补齐内置标准成本目录,默认倍率为 `1.2×`,已有同服务商/能力/模型/变体规则会同步平台维护的标准成本与参数档案,但保留已配置倍率。视频规则按分辨率匹配 `resolution=480p|720p|1080p|4k`;参数化规则按服务下的参数维度选择档位,标准成本为基础成本乘以各档位系数,组合倍率取所选档位中的最高倍率;最终金额使用整数分并向上取整。EvoLink 默认按固定 `1 USD = 7.20 CNY` 换算,并列出质量、分辨率、画面比例和参考图数量档位;即梦 4.6 使用公开资源包折算值作为平台维护的参考标准,实时价格以火山控制台为准。超级管理员只调整倍率,标准成本和参数档案不通过后台修改。
+16 -3
View File
@@ -126,6 +126,9 @@ Kubernetes Secret:
生产配置的事实来源是 ACK Secret/ConfigMap。不要通过静态页面或修改 Pod 文件来更新
生产密钥;修改 Secret/ConfigMap 后滚动 Go Deployment。
Go API 在 PostgreSQL 生产模式启动时会校验即梦、EvoLink、百炼和 Seedance 的真实凭据;
任一服务商缺少凭据都会拒绝启动,不会自动切换到占位或模拟生成。
## 探针与验收
- Web `/healthz`:Nginx 静态进程存活检查。
@@ -154,6 +157,16 @@ curl https://你的域名/api/v1/openapi.json
## 本地开发
`npm run dev` 仍用于前端开发;`npm run build` 生成可静态托管的 `out/`。生产不运行
Node Web 进程。需要完整联调时,同时启动 Go API,并用反向代理按
与生产相同的路径规则将同一站点的后端请求转发给 Go。
`npm run dev` 仍用于只开发前端;`npm run build` 生成可静态托管的 `out/`。需要完整联调
或在服务器上使用仓库内编排时:
```bash
cp .env.example .env.local
# 将 ZHINIAN_DATA_BACKEND 保持为 postgres,并填写 DATABASE_URL、登录密钥和全部真实服务商凭据
./scripts/deploy.sh
```
根目录 Compose 会启动 `zhinian-web` 与 `zhinian-go-api`,挂载
`deploy/nginx-compose.conf` 将 `/api`、`/uploads`、`/generated-results` 转发给 Go;Go
内嵌 WorkerLoop,不再启动独立 Node Worker。ACK 生产仍使用上面的两镜像 + Ingress 拓扑,
Web 镜像中的 `deploy/nginx.conf` 继续拒绝直接访问后端路径。