DEV-X-01-008 Creative共享基座与产品身份边界
区分Creative画布和Agent基座、业务产品、调用凭据与用户授权,纠正Creative整体映射Studio的接入假设
用户于2026-10-29明确:oceanway-creative是所有平台共用的画布和Agent基座,不能整体按Studio身份接入。 Studio在Creative仓中推进重制,只说明当前实现位置和首批接入顺序;不能据此把Creative承接的其他产品请求都标成studio。
此定位修正已经明确。本文的实施方式与验收项仍为Proposed,不声明跨产品共享宿主已经实现或部署,也不改变多仓、React + Go + PostgreSQL + Redis的目标。既有Accepted ADR与历史审计事实保留;现行接入文档中的“Creative使用studio”以本页限定为“Creative承接Studio业务时使用studio”。
1. 职责分层
| 层 | 责任 | 权威边界 |
|---|---|---|
| Studio、Drama、Commerce等业务产品 | 产品页面、项目和领域对象、业务规则、对象ACL、候选采用及最终业务提交 | 保留产品身份和业务数据;共用画布不授予跨产品项目访问权 |
| Creative共享基座 | 可复用画布、Agent会话与工具编排、节点和结果交互、供产品接入的适配界面 | 承接已校验的产品上下文;不以仓库名或运行入口代替业务归属 |
| Platform | 统一登录、产品准入、模型目录、图片/视频消费预览、EXA、资金与权益 | 校验实际调用凭据及业务产品,不因使用共享基座扩大权限 |
| Media | 账号共享原件、文件版本、用量、引用和生命周期 | 保留真实产品项目引用;共享账号原件不等于共享业务项目权限 |
共享基座作为一个服务部署,或以固定版本组件/模块由各产品分别部署,须在Creative实施规格中决定;两种组织方式都必须保留相同的产品与授权边界。本文不将多个业务仓合并,也不恢复旧Runtime作为必经依赖。
2. 分别保留的上下文
| 上下文 | 要回答的问题 | 约束 |
|---|---|---|
| 承载实现/调用者 | 哪个工程、服务实例或受限凭据发起请求 | Creative可以承载多个产品;调用者不自动拥有所有产品权限 |
| 业务产品 | 此次操作属于Studio、Drama还是Commerce | 由可信服务配置、已认证入口和实际业务对象共同确定,不从浏览器任意字符串选择凭据 |
| 当前主体与授权 | 谁操作,允许哪些产品、对象及动作 | 会话、EXA、mat1、员工委托分别校验;付款范围按已发布契约处理 |
| 对象与原操作 | 哪个项目、画布、Agent会话、业务任务及原请求 | 持久记录所属产品和账号;恢复读取原上下文,不随当前页面重新归属 |
以上是语义维度,不是新增HTTP头、Token字段或可直接调用的服务委托协议。现有提供方以product、key_id等字段绑定凭据;独立Creative服务身份与跨产品委托若需进入正式协议,应另行设计、评审并发布。
同一账号通过Creative使用Drama画布时,产品仍为drama,业务项目仍由Drama校验。切换到Studio画布后,新操作使用Studio作用域;既有Drama任务继续按原Drama授权恢复,不能改用Studio凭据接管。
3. 与现有Platform/SDK衔接
- 当前Platform产品注册范围为
studio、drama、commerce。产品凭据绑定其中一个产品,EXA绑定用户、产品、产品密钥和任务引用;mat1同样绑定产品与密钥。没有自动取得全产品权限的Creative产品ID。 - SDK的
NewClient固定Origin、Product和ProductKey。共享实现可按已批准产品配置建立分别固定的客户端;这只是实现基础,不代表共享宿主已经通过跨产品验收。 - Creative承接Studio业务使用Studio凭据,承接Drama业务使用Drama凭据,承接Commerce业务使用Commerce凭据。凭据分别注册、保管、撤销和审计;只有Studio接线不能写成所有产品已接入。
- 若Creative是独立后端,而产品Go服务另行部署,产品到Creative的调用也必须验证用户、产品、对象范围和受限委托。现有产品到Platform凭据不能单独证明这一跳已获得业务授权;正式接入方式仍需实施和验证。
- 实际HTTP服务地址、反向代理Host/Origin路由和业务
product分别满足发布契约及部署验证。UI路径或域名不是产品授权凭据。
以下方式不成立:把所有Creative调用标成Studio;为了区分仓库把所有产品改成creative;浏览器传product后由后端直接挑选对应秘密;修改EXA/mat1的产品后继续使用;随页面状态修改同一客户端实例的产品和凭据。
4. 请求、计费和资源归属
- 产品先校验登录主体和业务对象权限,形成可信产品上下文。基座接收的对象引用须能由所属产品复核,不能凭同一账号推定所有项目都可访问。
- 模型目录和消费预览在同一业务产品下获取。全部适用模型由Platform提供,费用预估展示只覆盖图片/视频;Creative不维护全产品共用的另一份模型清单或价格算法。
- 用户确认生成后,保存产品、账号、原任务和冻结请求,再取得对应产品EXA。产品凭据不能单独授权任意用户扣费,未支持的团队付款不能回落为个人。
- Agent只调用当前产品开放的工具和领域命令。共享工具实现不授予跨产品写权限;提示词、模型输出或Skill不能更改产品范围。
- 后台任务和失联恢复使用原产品凭据与原授权。浏览器切换产品、登出或重入画布不重新定义已受理任务,不触发另一笔生成。
- 原件仍进入Media账号共享资源;项目快照和绑定保持真实业务产品及项目归属。引用键不能只用可能跨产品重复的项目ID,也不能把Drama/Commerce引用登记为Studio。
- Creative可管理基座状态,但不能绕过产品领域命令直接改各产品业务表。缓存、草稿、Agent会话、任务关联和Redis命名空间须区分产品与主体;账号共享素材范围按Media契约单独处理。
5. 运营与审计
运营分别观察“服务运行在哪里”和“业务发生在哪个产品”。Creative错误率、队列和工具执行按承载实现排查;消费、项目引用、产品运营和授权审计按实际业务产品归属。二者通过原请求/任务和凭据标识关联,不把全部业务归为Studio。
员工通过运营后台使用共享Agent或画布,仍需员工动作、对象及产品范围授权;不能以Creative服务凭据或用户EXA模拟员工权限。报表维度本身不是授权条件。
6. 实施与验收缺口
| 范围 | 必须补齐的验收 |
|---|---|
| Creative产品上下文 | 单一入口、嵌入入口和后台任务均从可信来源取得产品;未知/未接入产品明确拒绝 |
| 产品隔离 | 同一账号、相同项目ID分别在Studio/Drama出现时,画布、Agent会话、草稿、任务和业务结果互不串用 |
| 目录与费用 | 不通过基座绕过产品模型准入;预览、提交和结算关联保持同一产品及原操作 |
| 凭据隔离 | Studio凭据读取/执行Drama EXA或mat1被拒绝;撤销一类凭据不能借另一类继续执行 |
| 资源引用 | 账号原件按正式权限复用,项目快照/绑定保持真实app与project;不复制原件、不改写引用归属 |
| 切换与恢复 | 产品切换、并发会话、Worker重启和迟到结果沿原上下文处理;旧响应不回填另一产品画布 |
| 真实部署 | 用拟发布的多域反向代理拓扑验证登录、目录、授权和资源访问;回环HTTP夹具不能代替部署验收 |
| Agent业务写入 | 工具按产品和对象权限限制;候选采用、商品修改、分镜写入分别通过所属产品命令 |
尚无业务产品归属的全局画布/Agent入口,需要另行明确对象归属、模型准入及消费授权;不能因缺少上下文就默认Studio。未来新增业务产品先扩展正式注册与契约,不能仅改前端标识。
本次修正文档不改变当前有效产品ID,也不迁移已有账务、原任务或资源引用。各产品继续完成自身接入与发布;“Drama已按drama接入”和“Creative共享基座已完成多产品接入”是两项独立结论。