文档
08_归档04_VOZEB任务卡

OceanWay 三站点架构

OceanWay 使用同一个 Next.js 服务承载三个产品入口,通过请求 Host 在服务端分流。三者共享数据库和父域 Session,但页面职责、导航和模型发布范围相互独立。

站点职责外部路径
oceanway.tech公共宣传、作品展示与产品入口/
canvas.oceanway.tech当前创作工作区、Canvas、短剧与用户中心/、/canvas、/drama 等
ai.oceanway.tech开发者门户、模型目录、API Key、用量与 /v1 API/、/models、/keys、/usage、/v1/*

生产环境配置:

NEXT_PUBLIC_SITE_URL=https://oceanway.tech
NEXT_PUBLIC_MARKETING_ORIGIN=https://oceanway.tech
NEXT_PUBLIC_CANVAS_ORIGIN=https://canvas.oceanway.tech
NEXT_PUBLIC_DEVELOPER_ORIGIN=https://ai.oceanway.tech
OCEANWAY_COOKIE_DOMAIN=oceanway.tech
OCEANWAY_COOKIE_SECURE=true

NEXT_PUBLIC_* 变量需要在构建 Web 镜像时可用。反向代理必须把三个 Host 原样转发给同一个应用,并按实际代理层数配置 VOZEB_PRO_TRUSTED_PROXY_HOPS。

会话与请求边界

  • 登录 Cookie 使用 Domain=oceanway.tech、HttpOnly、Secure、SameSite=Lax,三个子站可以识别同一登录状态。
  • 浏览器仍然只调用当前站点的同源 /api/*,不使用跨域 Cookie 请求,因此无需放宽 CORS。
  • 非 GET API 请求继续校验精确 Origin/Referer,共享登录不等于允许跨站写入。
  • 登录页只接受三个配置站点或本地相对路径作为回跳目标。

模型发布边界

逻辑模型通过显式 surfaces 控制用途,不根据模型名称猜测:

  • web:可进入 Canvas、Agent 与网页模型选择。
  • api:可进入开发者模型目录和 /v1 路由;同时必须存在 API 费率。
  • internal:只供审核、规划等内部服务使用。
  • 空数组:已经建立渠道路由,但尚未发布到任何产品面。

新同步的上游模型默认不发布。管理员确认能力后再选择发布范围;API 模型还可以设置公开“模型系列”,大量文本模型先按能力、再按系列组织。一个模型可以明确勾选多个范围,但任何范围都不会被自动推导。

On this page