Skip to content

Generator 配置

generator 通过 PluginConfig 接收结构化运行选项,通过环境变量接收部署覆盖项。

PluginConfig

ts
export interface PluginConfig {
  port?: number;
  plugins?: string[];
  pluginsDir?: string;
  maxImportImageBytes?: number;
  maxImportImagePixels?: number;
  allowedImportImageFormats?: string[];
  allowLocalImagePaths?: boolean;
  sessionResumeTtlMs?: number;
  [key: string]: unknown;
}

port 控制 HTTP/WebSocket 服务端口。plugins 包含按数组顺序加载的插件包绝对路径。 pluginsDir 指向集合目录,其直接子目录是插件包。

插件来源按以下优先级加载:

  1. PS_BRIDGE_PLUGINS 中按列表顺序排列的绝对路径
  2. PluginConfig.plugins 中按数组顺序排列的绝对路径
  3. pluginsDir 的直接子目录,按目录名排序

所有来源会按 real path 去重。第一个完整激活的候选会占用插件 id;初始化或注册失败时, 后续候选仍可尝试同一个 id。

layer 图片导入会在交给 Photoshop 前校验输入。maxImportImageBytes 限制解码后/导入的图片字节数,maxImportImagePixels 按总像素数限制图片尺寸,allowedImportImageFormats 限制可接受格式,allowLocalImagePaths 控制公开 layer:importImage 请求是否允许使用本地路径或 file:// URI。

sessionResumeTtlMs 控制意外断线的 WebSocket 会话可恢复多久,默认 30 分钟。SDK 显式调用 close() 时会立即销毁会话。

默认值

设置默认值
Host127.0.0.1
Port7700
Root WebSocket/ws
Plugin WebSocket/ws/{pluginId}
Plugin directorypackage-local plugins/
Import max bytes104857600
Import max pixels100000000
Import formatspng, jpeg, webp, gif, tiff
Local image pathsenabled
Session resume TTL1800000 ms

环境变量覆盖

环境变量是部署开关:

generator-core 通过 main.js 加载包时,会先读取包内 .env,再启动打包后的 host 代码。进程中已经存在的环境变量优先,不会被 .env 覆盖。

变量作用
PS_BRIDGE_PORT有效时覆盖配置端口。
PS_BRIDGE_PLUGINS前置加载以平台分隔符连接的插件包绝对路径列表。
PS_BRIDGE_PLUGINS_DIR未提供 pluginsDir 时,覆盖默认插件目录。
PS_BRIDGE_LOG_DIRbundle 加载前覆盖 generator 运行日志目录。
PS_BRIDGE_SESSION_RESUME_TTL_MS使用非负整数覆盖会话恢复 TTL。
PS_BRIDGE_COS_SECRET_IDCOS 上传支持所需。
PS_BRIDGE_COS_SECRET_KEYCOS 上传支持所需。
PS_BRIDGE_COS_BUCKETCOS 上传支持所需。
PS_BRIDGE_COS_REGIONCOS 上传支持所需。
PS_BRIDGE_COS_KEY_PREFIX可选对象 key 前缀,默认 ps-bridge/exports
PS_BRIDGE_COS_URL_EXPIRES可选签名 URL 有效期秒数,默认 315360000

只有四个必需 COS 字段都存在且非空时,COS 上传支持才会启用。

PS_BRIDGE_PLUGINS 使用平台路径分隔符:Windows 为 ;,POSIX 系统为 :。 空条目会被忽略。