文档
04 产品

PDOC-ROOT-001 产品总述

产品工程的组织方式,以及所有产品接入平台的共同约定

2026-10-18 更新:当前创作产品为 Studio 与 Drama(已解除冻结,ADR-0022);Commerce 是原型。共用执行能力独立命名为 OceanWay Runtime,工程为 oceanway-runtime(已创建),Studio、Commerce平级接入。

仓库产品形态
runtime/oceanway-runtime(目标)三个创作产品共用的执行运行时,不是用户产品独立模块与可构建包;首阶段可由Studio同进程加载,后续按合同独立API/Worker
oceanway-studio当前Studio当前Next.js应用,Runtime首个消费者
Drama(oceanway-drama)Commerce平级消费者;按领域切片接入,不复制Runtime,不将原型后端直接投入生产
oceanway-siteSite品牌官网,React + Vite 静态预渲染

Console和Admin指Platform内现行前端,见平台;旧独立仓已废弃,不是迁移前置。公共工具、任务、资产和可执行Canvas方案见多应用升级。

产品工程的组织

现有公共实现仍在Studio web/src/shared/,是抽离来源,不是公共能力的长期产品身份。保留2026-10-14共享Agent及10-15具名交接成果,先建立独立模块、可构建包与依赖约束,再迁出执行入口。产品仍可暂时由同一Next.js应用构建部署;Runtime独立不等于三个产品必须同时拆仓、拆站或改域名。

runtime/oceanway-runtime/    目标独立工程;本次不创建
├─ contracts / tools         版本化合同、受控工具注册与处理器
├─ jobs / agent / workflows  Job、Attempt、Agent与固定流程执行
├─ artifacts / events        产物、持久事件、恢复与交付
├─ media                     按合同迁入的可复用媒体实现
├─ platform                  正式Platform合同的受控适配
└─ sdk / ui                  接入客户端与可嵌入界面

products/*                  产品工程;可暂时同Next应用部署
└─ 领域对象 / 上下文 / 业务引用 / 候选采纳 / 专业界面

规则:

  • 依赖有边界。 产品互不import;Runtime不反向import产品、App入口或旧本地权威模块。产品通过受控端口提供领域处理器、上下文与结果接收器;SDK和共享UI只负责接入,不复制数据库、调度器或执行引擎。现有shared/platform路径保留为当前实现事实,抽离后的平台请求仍集中于正式适配器。
  • 新代码只用 PostgreSQL。 文件数据库Provider退出,不等于移除现有local/object媒体Provider。10-14新模块的clean schema约定不能套用到10-15已上线Job、资产和Operation;旧身份与未知任务按版本保留,通过兼容读取、接管或排空切换,每条记录只允许一个Writer。
  • 三种执行方式共用底座。 Runtime覆盖direct、workflow、agent,共用Tool、Job、Attempt、Artifact与事件。先用MediaPort与ResultSink解开任务保存对Studio对话的依赖,不要求首批迁完媒体模块;通用登记可按产品授权受托写入,产品归属、对象权限和业务引用仍由产品负责。
  • 领域Agent由产品扩展。 产品提供提示词/Skill、获准上下文、领域工具、候选采纳和默认值,不配置Run预算,不复制引擎或逻辑模型路由。现有强制规划的适用范围及纯媒体后台授权须先完成正式合同交接。
  • 许可证。 Studio基于VOZEB-PRO,使用AGPL-3.0;独立Runtime抽离及其他产品复用须保留原代码许可证义务,不能因拆包消除。

接入平台的三件事

各产品与Runtime经正式适配器接入平台;当前产品适配代码位于 src/shared/platform/,后续按独立模块边界迁出:

  1. 登录。 不自建账号。通过主域名共享 Cookie 识别用户,向平台确认身份和角色。未登录时跳转到平台登录页,登录后返回原页面。
  2. 模型调用。 不直连任何供应商或网关,一律调用平台的模型 API;平台负责扣费和写使用记录。
  3. 非模型扣费。 调用平台的预留、结算、释放接口,每次带幂等键。

产品不保存余额,不展示自己的充值页面;需要充值时引导到 Console。

调用授权分为三种:当前用户调用可以提交新请求;原请求凭证只能定位、核对、恢复和保存;Platform Run 授权限定主体、产品、Run、动作、模型范围、有效期与并发,后续每次调用由 Platform 核对当时余额或权益。Run 授权不绑定首发资源库存或独立金额预算;产品只持授权编号并展示 Platform 返回。执行上下文和业务摘要 activityGrant 都不是付费授权。

2026-10-14 用户确定 Run 的资金与权益由系统自动处理:Platform 自动选择适用资源,按每次调用预留、结算和原操作恢复;产品不提供填写/确认/追加 Run 预算、总金额上限、钱包上限或付费偏好表单。发起前不足则提示原因,运行中不足则暂停并保留结果,用户补足后主动继续原 Run,Platform 再核资源;不自动重发 UNKNOWN。普通 Platform 单次调用的既有付费设置和独立 Key 预算规则保持各自范围。

退出登录结束浏览器会话,已授权 Run 在授权有效且资源足够时继续执行并扣费;修改密码和安全重置同样不撤销 Run。停止 Run 阻止后续调用,已提交图像、视频不可取消,完成后照常结算并保存;文本中断依赖 Platform P3,文本 UNKNOWN 只恢复原调用。产品只显示平台精确费用,未知不填零。10-15已有Studio共享Run/Agent、文本/图片/基础视频和Canvas具名交接,未验能力与完整范围继续逐项追踪,不沿用早期P1/P2/P3整体“未实现”结论;详见共用授权与 Agent 规则。

接口细节见身份与权限、模型中转和钱包与计费。

共用 Worker、素材存储、结果保存和用户/产品隔离见共用任务与媒体。同仓不等于共享所有用户数据,模型成功与素材保存成功分别记录。

未来Console、Admin等界面也可嵌入Runtime的Agent UI,但必须正式登记调用方及动作授权,沿原界面的主体、角色与对象范围执行;不冒用studio身份,也不因嵌入一个组件新增产品枚举。Runtime不是第二身份系统或资金平台。

通用对话入口的会话模型、页面上下文、结构化问题/候选交互及接入清单见跨平台Agent对话设计。

产品管理页

每个子站在自己的 /admin 下提供产品级管理(如作品治理、提示词运营、生成排障),只有拥有对应产品角色(如 studio:admin)的员工能进入。Admin 导航里放入口,跳转过来无需重新登录。平台级管理(用户、钱包、价格、订单)不在产品里重复建设,见 Admin。

On this page