feat(*): 系统渠道与画布 - 支持多规格批量调价及 Agent 入口拖动
This commit is contained in:
@@ -15,6 +15,32 @@ description: 信封、错误码与 OpenAPI
|
||||
|
||||
## 模型规格报价
|
||||
|
||||
### 管理员批量调价
|
||||
|
||||
`POST /admin/channels/:id/models/batch-reprice` 接收最终售价及原始价格版本,返回 `{ code: 0, data: { updated: number }, msg }`。仅管理员可调用;单批 1–100 个模型,空 ID、重复 ID 或不属于当前系统渠道的记录整批拒绝。请求结构如下(价格为整数微积分):
|
||||
|
||||
```json
|
||||
{
|
||||
"models": [{
|
||||
"modelId": "MODEL001",
|
||||
"priceVersion": 4,
|
||||
"priceTiers": [{
|
||||
"id": "TIER001",
|
||||
"priceVersion": 8,
|
||||
"prices": { "unitPriceMicrocredits": 1370000 }
|
||||
}]
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
弹窗一行一个模型,列为模型展示名、渠道展示名(上游模型 ID)、规格、成本价和销售价输入框;多个规格在模型行内纵向对齐。利润率沿用财务口径:`(销售价 − 成本价) / 销售价 × 100%`,并非成本加价率。目标利润率为 0–99.99%,最多两位小数;售价按 `成本价 / (1 − 目标利润率)` 计算,按所选 0–6 位积分小数四舍五入(默认 2 位)。成本 1 积分、目标 20%、保留 2 位时售价为 1.25 积分。修改比例或精度实时计算,也可点击「重新计算」按当前参数覆盖全部手动售价;随后允许逐规格手动修改,保存以最终输入值为准。舍入和手动修改可能使实际利润率偏离目标;售价为零时利润率显示 `—`。
|
||||
|
||||
每个模型必须提交全部已启用规格(模型本身可停用),且每个规格只提交当前计费方式需要的完整 `prices` 字段:按次/秒为 `unitPriceMicrocredits`;文本 Token 为 `inputTokenPriceMicrocredits`、`outputTokenPriceMicrocredits`、`cachedTokenPriceMicrocredits`;视频 Token 仅为 `outputTokenPriceMicrocredits`。缺失、多余、重复、停用规格、null、负数或非整数价格均拒绝。成本和售价配置必须已保存;成本及 Token 售价上限为 1,000,000 积分,按次/秒售价不得超出 JavaScript 安全整数微积分范围。
|
||||
|
||||
服务端校验最终售价和模型/规格版本,不重新计算覆盖手工价格。价格快照过期必须刷新后重试。所有模型与价格档在单事务中更新,增加价格版本、失效目录缓存;无效配置、归属错误、超限或并发版本冲突均不部分提交。不改变成本、规格、计费方式和启停状态;未启用规格保持原值。此接口不新增数据表或迁移,不追溯修改已下单的计费快照。
|
||||
|
||||
### 用户模型目录
|
||||
|
||||
`GET /model-catalog` 固定返回 `source=system`,直接查询所有启用系统渠道下的渠道模型,目录数据在 `channels[].models[]`,`models` 固定为空数组。不受逻辑模型开关影响,不反查逻辑模型或供应线路。每项的 `modelKey` 是调用标识,`displayName` 是模型展示名,`icon` 是模型图标键,`channelLabel` 是可选的渠道展示名(默认空字符串)。后台渠道模型创建与更新请求使用相同的 `channelLabel` 字段;服务端去除首尾空白并限制为 80 字,空字符串表示使用所属渠道名称。
|
||||
|
||||
渠道模型创建、更新、管理列表、公开目录和会话模型价格信息均使用 `description` 表达模型描述。服务端去除首尾空白后限制为 500 字,允许空字符串清除描述;无管理员权限或超长内容拒绝保存。创作端二级选项在悬浮、聚焦或选中时展示该字段,长内容可悬浮查看完整文本;未填写的系统模型不按名称生成宣传文案。描述区域保留固定行高,悬浮不改变菜单项尺寸。
|
||||
|
||||
Reference in New Issue
Block a user