MG-03-001 领域模型
状态说明:以当前有效边界为准。供应执行规则与历史实现证据保留;客户身份、售价、结算、全量旧跨仓契约及图像开放计划不代表当前验收范围。
1. 领域边界
系统分为五个领域:
- 身份与访问:用户、客户组和 API Key;
- 供给目录:渠道、Credential、Supply、能力和成本;
- 公开模型:模型广场、Supply Binding、调度和降级政策;
- 执行控制:同步请求、异步任务、Attempt、健康和容量;
- 使用与运营:统一使用记录、输出、告警和审计。
图像和视频只共享稳定基础概念。请求 DTO、能力、Provider 请求、执行和结果解析 分别实现。
2. 身份与访问
User
id
email_or_username
password_hash
role admin / user
customer_group_id
status active / disabled
created_at首版没有个人资料。用户仅用于登录、Key 所有权、权限和使用记录归属。
CustomerGroup
id
name
enabled
request_rate_limit
sync_concurrency_limit
async_concurrency_limit客户组不携带渠道、价格或调度信息。
Customer Price Book
客户售价与 Provider 成本严格分离:
DefaultPublicModelPrice
public_model_id
material_profile
resolution
billing_mode
amount
currency
UserPublicModelPrice
user_id
public_model_id
material_profile
resolution
billing_mode
amount默认售价按公开模型和完整规格唯一。用户专属售价必须覆盖一个已有默认售价并继承其币种; 未覆盖时回退到默认售价。价格簿不携带 Channel、Supply、调度或 Provider 成本信息。
APIKey
id
user_id
name
secret_hash
secret_prefix
enabled
expires_at
last_used_at
rate_limit_override
sync_concurrency_override
async_concurrency_overrideKey 可以附加 Public Model Allowlist;未配置时继承客户组可用模型。
3. 渠道与供给
Channel
id
media_type image / video,不可修改
provider_type
name
base_url
enabled
credential_version_id
connection_settings
account_status
created_at
updated_atChannel 不保存模型能力、价格、优先级、权重或 Public Model Mapping。 Channel 媒体类型在创建时固定;其 Credential、健康、容量和全部 Supply 只服务该媒体类型。 图像 Channel 与视频 Channel 是独立聚合,即使它们连接同一 Provider 账户也不能共用。
ProviderCredentialVersion
Provider Credential 加密且版本化。新 Credential 发布后,新 Attempt 使用新版本; 已提交异步 Attempt 继续绑定旧版本完成查询。
id
channel_id
encrypted_secret
encryption_key_version
created_at
retired_atSupply
Supply 是调度原子。相同 Provider 模型在协议、能力、分辨率、计费模式或故障隔离 边界不同的情况下必须拆成多个 Supply。
同一 Channel、同一 request profile、同一 431/900/903/933 配置可以发现多个
upstream_model。配置号、能力参数和分辨率均不能代替模型身份。具体 SKU 身份至少
包含 channel_id + media_type + upstream_model + request_profile + variant_key;
分辨率、时长、比例和素材数量进入不可变能力版本。若不同分辨率实际提交不同
upstream_model,必须建立不同 Supply,禁止在调度时临时猜测或复用一个含糊映射。
id
channel_id
media_type image / video
upstream_model
request_profile
variant_key
display_name
enabled
production_ready
cost_rule_version_id
concurrency_limit
rate_limit 每分钟最多接纳的新尝试数;null 或 0 表示不限速
capability_version
created_at
updated_at建议唯一性:
(channel_id, upstream_model, request_profile, variant_key)VideoCapability
supply_id
resolutions
duration_mode exact / range
durations
min_duration
max_duration
aspect_ratios
min_reference_images
max_reference_images
max_reference_videos
max_reference_audios
max_image_bytes
max_video_bytes
max_audio_bytes
max_reference_video_duration
max_total_material_bytes
prompt_required
prompt_or_image_required
generate_audio
real_person_policy
evidence0 表示明确不支持;null 表示未知。生产供给的关键字段不能保持未知。
ImageCapability
supply_id
operations
resolutions
aspect_ratios
quality_levels
min_output_count
max_output_count
max_reference_images
supported_response_formats
provider_execution_mode sync / async / both图像能力不包含真人政策、视频时长或参考音视频字段。
4. 成本
CostRuleVersion
成本规则发布后不可变。修改价格创建新版本。
id
supply_id
source manual / provider_api / adapter_catalog
currency
billing_mode per_second / per_request / fixed_range / table
charge_on submit / success / provider_reported
rule
effective_from
source_observed_at
created_atrule 表达:
- 每秒单价和最小计费秒数;
- 固定单次价格;
- 4–15 秒等固定区间;
- 分辨率、时长和音频附加费;
- 失败是否收费。
所有金额使用十进制定点表示。
2026-10-18 拆分:本页只保留领域模型的前半部分;其余章节见 领域模型(续)。