Node-Red的配置文件

本章详细说明了 Node-RED 默认配置文件 settings.js 中的所有配置项及其作用。

通常情况下,用户无需修改默认配置文件。如果需要自定义配置,可以在 ~/.node-red/settings.js 中进行修改。 或者,在启动 Node-RED 时可以使用 --settings 命令行参数指向不同的文件。参考指定配置文件

1. Flow 文件和用户目录设置

flowFile

  • 类型: String

  • 默认值 : 'flows.json'

  • 说明 : 指定流程文件的名称。如果未设置,默认为 flows_<hostname>.json

  • 示例:

    javascript 复制代码
    flowFile: 'flows.json'

credentialSecret

  • 类型: String 或 Boolean

  • 默认值: 未设置(使用生成的密钥)

  • 说明 : 用于加密存储的凭据。设置为 false 可禁用加密。一旦设置请勿更改。

  • 示例:

    javascript 复制代码
    credentialSecret: 'a-secret-key'

flowFilePretty

  • 类型: Boolean

  • 默认值 : true

  • 说明: 是否格式化 JSON 流程文件,便于版本控制比较

  • 示例:

    javascript 复制代码
    flowFilePretty: true

userDir

  • 类型: String

  • 默认值 : '~/.node-red'

  • 说明: 用户数据存储目录

  • 示例:

    javascript 复制代码
    userDir: '/home/root/.node-red/'

nodesDir

  • 类型: String

  • 默认值: 未设置

  • 说明: 额外的本地节点扫描目录

  • 示例:

    javascript 复制代码
    nodesDir: '/home/root/.node-red/nodes'

2. 安全性设置

adminAuth

  • 类型: Object

  • 说明: 管理员身份验证配置

  • 示例:

    javascript 复制代码
    {
      type: 'credentials',
      sessionExpiryTime: 86400,  // 24小时
      users: [
        {
          username: 'admin',
          password: '$2b$08$o3H3q7KPrgoqE0fNRtIkj.5XZZ1XJNKOW2lbYU7.lx0AeI86NQFTy',
          permissions: '*'
        }
      ]
    }
  • 密码使用 bcrypt 加密存储,示例中为 admin 用户的密码。

  • 可以在命令行窗口中使用 node-red admin hash-pw 生成加密密码。
    details admin工具的使用

  • init:交互式生成 Node-RED 配置文件

  • hash-pw :创建用于 Node-RED 配置(如 adminAuth )的哈希值

  • target :设置或查看目标 URL 与端口,例如 http://localhost:1880

  • login:登录到 Node-RED 管理 API 的目标地址

  • list:列出所有已安装的节点

  • info:显示模块或节点的详细信息

  • enable:启用指定的模块或节点集

  • disable:禁用指定的模块或节点集

  • search:搜索可安装的 Node-RED 模块

  • install:从 NPM 安装模块到 Node-RED

  • remove:从 Node-RED 中移除 NPM 模块

https

  • 类型: Object 或 Function

  • 说明: HTTPS 配置,包含私钥和证书

  • 示例:

    ::: code-group

    javascript 复制代码
    https: {
      key: require("fs").readFileSync('privkey.pem'),
      cert: require("fs").readFileSync('cert.pem')
    }
    javascript 复制代码
    // 这是一个函数,它应该返回一个选项对象,或者是一个Promise,这个Promise会解析为一个选项对象。
    https: function() { 
      return {
        key: require("fs").readFileSync('privkey.pem'),
        cert: require("fs").readFileSync('cert.pem')
      }
    }

    :::

httpsRefreshInterval

  • 类型: Number

  • 默认值 : 12 (12小时)

  • 说明 : HTTPS 证书刷新间隔,单位为小时

  • 示例:

    javascript 复制代码
    httpsRefreshInterval: 12

requireHttps

  • 类型: Boolean

  • 默认值: 未设置

  • 说明: 是否将 HTTP 重定向到 HTTPS\

  • 示例:

    javascript 复制代码
    requireHttps: true

httpNodeAuth

  • 类型: Object

  • 说明 : HTTP 节点的认证配置,密码生成参考adminAuth

  • 示例:

    javascript 复制代码
    httpNodeAuth: {
      user: 'admin',
      pass: '$2b$08$o3H3q7KPrgoqE0fNRtIkj.5XZZ1XJNKOW2lbYU7.lx0AeI86NQFTy'
    }

httpStaticAuth

  • 类型: Object

  • 说明 : HTTP 静态文件的认证配置,密码生成参考adminAuth

  • 示例:

    javascript 复制代码
    httpStaticAuth: {
      user: 'admin',
      pass: '$2b$08$o3H3q7KPrgoqE0fNRtIkj.5XZZ1XJNKOW2lbYU7.lx0AeI86NQFTy'
    }

3. 服务器设置

uiPort

  • 类型: Number

  • 默认值 : process.env.PORT || 1880

  • 说明: Web 服务器监听的端口

  • 示例:

    javascript 复制代码
    uiPort: 1880

uiHost

  • 类型: String

  • 默认值: 未设置(监听所有 IPv4 接口)

  • 说明: 监听的接口,设置为 "::" 可监听所有 IPv6 地址

  • 示例:

    javascript 复制代码
    uiHost: '0.0.0.0'

apiMaxLength

  • 类型: String

  • 默认值 : '5mb'

  • 说明: API 最大请求大小

  • 示例:

    javascript 复制代码
    apiMaxLength: '50mb'

httpServerOptions

  • 类型: Object

  • 默认值: 未设置

  • 说明 : HTTP 服务器选项,参考 Express.js 服务器选项

  • 示例:

    javascript 复制代码
    httpServerOptions: {
      maxHeaderSize: 16384
    }

httpAdminRoot

  • 类型: String 或 Boolean

  • 默认值 : '/'

  • 说明 : 管理界面的根路径,设置为 false 可禁用

  • 示例:

    javascript 复制代码
    httpAdminRoot: '/'

httpAdminMiddleware

  • 类型: Function

  • 默认值: 未设置

  • 说明: 自定义 HTTP 中间件函数,用于管理界面请求

  • 示例:

    javascript 复制代码
    httpAdminMiddleware: function(req, res, next) {
      // 自定义逻辑
      req.skipRawBodyParser = true;
      res.set('X-Frame-Options', 'sameorigin');
          next();
      }
    }

httpNodeRoot

  • 类型: String 或 Boolean

  • 默认值 : '/'

  • 说明: HTTP 节点的根路径

  • 示例:

    javascript 复制代码
    httpNodeRoot: '/api'

httpNodeCors

  • 类型: Object

  • 说明: CORS 跨域配置

  • 示例:

    javascript 复制代码
    httpNodeCors: {
      origin: "*",
      methods: "GET,PUT,POST,DELETE"
    }

httpStatic

  • 类型: String 或 Object
  • 默认值 : '/'
  • 说明: 静态文件的根路径,设置为 false 可禁用

httpAdminRoothttpStaticRoot设置为不同的值时,就没有必要修改httpAdminRoot

  • 示例:

    ::: code-group

    javascript 复制代码
    httpStatic: '~/.node-red/static',
    javascript 复制代码
    httpStatic: [
      { path: '/home/nol/pics/',    root: "/img/" },
      { path: '/home/nol/reports/', root: "/doc/" },
    ]

    :::

httpStaticRoot

  • 类型: String

  • 默认值 : '/'

  • 说明 : 静态文件的根路径 例如,如果httpStatic = "/home/nol/docs" 并且 httpStaticRoot = "/static/" , 那么/home/nol/docs 将会转换为 /static/。例如,如果httpStatic = [{path: '/home/nol/pics/', root: "/img/"}]并且 httpStaticRoot = "/static/",那么 /home/nol/pics/ 将会转换为 /static/img/

  • 示例:

    javascript 复制代码
    httpStaticRoot: '~/.node-red/static/'

4. 运行时设置

lang

  • 类型: String

  • 默认值 : 'zh-CN'

  • 说明 : 界面语言,支持:en-US, ja, de, zh-CN, zh-TW, ru, ko

  • 示例:

    javascript 复制代码
    lang: 'zh-CN'

diagnostics

  • 类型: Object

  • 说明: 诊断功能配置

  • 示例:

    javascript 复制代码
    {
      enabled: false,  // 启用诊断端点
      ui: false        // 在编辑器中显示诊断信息
    }

runtimeState

  • 类型: Object

  • 说明 : 运行时状态控制,部署菜单将显示停止启动按钮。

  • 示例:

    javascript 复制代码
    {
      enabled: false,  // 启用状态控制端点
      ui: false        // 在编辑器中显示控制选项
    }

telemetry

  • 类型:Object

  • 说明:默认情况下,遥测功能处于禁用状态,直至用户首次打开编辑器并授予许可后才会启用,若遥测功能已启用,当 Node-RED 有新版本可用时,编辑器会向用户发送通知。将以下属性设置为 false 可禁用此通知

  • 示例

    javascript 复制代码
    {
      enabled: false,  // 启用遥测
      updateNotification: false  // 在编辑器中显示更新通知
    }

logging

  • 类型: Object

  • 说明: 日志配置

  • 日志等级:

    • fatal: 记录最严重的错误事件,系统无法继续运行
    • error: 记录被认为是致命的请求错误以及fatal错误
    • warn: 记录非致命问题以及error和fatal错误
    • info: 记录关于应用程序运行的一般信息以及warnerrorfatal错误
    • debug: 记录所有事件(包括调试信息)
    • trace: 记录非常详细的日志(包括函数调用栈)
    • off: 关闭所有日志记录
  • 示例:

    javascript 复制代码
    {
      console: {
        level: "error",    // 日志级别
        metrics: false,    // 不包含指标事件
        audit: false       // 是否将audit事件包含在日志输出中
      }
    }

ontextStorage

  • 类型: Object

  • 说明: 上下文存储配置,,每30秒刷新一次到磁盘

  • 示例:

    javascript 复制代码
    {
      default: {module: 'memory'},           // 默认内存存储
      file: {module: 'localfilesystem'}      // 自定义:文件存储
    }

exportGlobalContextKeys

  • 类型: Boolean

  • 默认值 : false

  • 说明 : 导出全局上下文变量的键列表,在function节点中可以使用global.keys()访问

  • 示例:

    javascript 复制代码
    exportGlobalContextKeys: false

externalModules

  • 类型: Object

  • 默认值 : {}

  • 说明: 外部模块配置,用于加载自定义节点模块

  • 示例:

    javascript 复制代码
    externalModules: {
      modules: [
        autoInstall: false,       // 运行时是否尝试自动安装缺失的模块 
        autoInstallRetry: 30,     // 重新安装尝试之间的间隔,以秒为单位
        palette: {                // 配置 Palette Manager
          allowInstall: true,     // 在编辑器中启用 Palette Manager
          allowUpdate: true,      // 允许在 Palette Manager 中更新模块
          allowUpload: true,      // 允许上传模块 tgz 文件并进行安装
          allowList: ['*'],       // 允许安装的模块列表,'*' 表示允许所有模块
          denyList: [],           // 拒绝安装的模块列表
          allowUpdateList: ['*'], // 允许更新的模块列表,'*' 表示允许所有模块
          denyUpdateList: []      // 拒绝更新的模块列表
        },
        modules: {                // 配置节点指定的模块
          allowInstall: true,     // 运行时是否尝试自动安装缺失的模块
          allowList: [],          // 允许安装的模块列表,'*' 表示允许所有模块
          denyList: []            // 拒绝安装的模块列表
        }
      ]
    }

4. 编辑器配置

disableEditor

  • 类型: Boolean

  • 默认值 : false

  • 说明: 禁用编辑器,设置为 true 后,将无法通过浏览器访问编辑器界面

  • 示例:

    javascript 复制代码
    disableEditor: true

editorTheme

page

  • 类型: Object

  • 说明: 编辑器主题配置

  • 当前配置:

    javascript 复制代码
    editorTheme: {
      page: {
        title: '可视化流程控制系统',
        favicon: 'favicon.ico'
      }
    }
  • 类型: Object

  • 说明: 页面标题和图标配置

  • 当前配置:

    javascript 复制代码
    editorTheme: {
      header: {
        title: '可视化流程控制系统',
        image: 'red/images/node-red.svg'
      }
    }

tours

  • 类型: Boolean

  • 默认值 : false

  • 说明: 禁用编辑器中的教程

  • 示例:

    javascript 复制代码
    editorTheme: {
      tours: false
    }
  • 类型: Object
  • 说明: 编辑器菜单配置
名称 描述
menu-item-projects-menu 项目菜单,包含新建项目、打开项目、项目设置选项
menu-item-projects-new 新建项目选项
menu-item-projects-open 打开项目选项
menu-item-projects-settings 项目设置选项
menu-item-edit-menu 编辑菜单,包含撤销、重做、剪切、复制、粘贴等编辑相关选项
menu-item-edit-undo 撤销更改选项
menu-item-edit-redo 重做更改选项
menu-item-edit-cut 剪切节点选项
menu-item-edit-copy 复制节点选项
menu-item-edit-paste 粘贴节点选项
menu-item-edit-copy-group-style 复制组样式选项
menu-item-edit-paste-group-style 粘贴组样式选项
menu-item-edit-select-all 全选节点选项
menu-item-edit-select-connected 选择所有连接的节点选项
menu-item-edit-select-none 取消选择所有节点选项
menu-item-edit-split-wire-with-links 用链接节点拆分导线选项
menu-item-view-menu 视图菜单,包含显示/隐藏面板、侧边栏等视图相关选项
menu-item-palette 显示/隐藏调色板选项(可切换)
menu-item-sidebar 显示/隐藏侧边栏选项(可切换)
menu-item-event-log 显示事件日志选项
menu-item-action-list 显示操作列表选项
menu-item-arrange-menu 排列菜单,包含对齐、分布、调整层级等排列相关选项
menu-item-view-tools-align-left 向左对齐所选内容选项
menu-item-view-tools-align-center 向中心对齐所选内容选项
menu-item-view-tools-align-right 向右对齐所选内容选项
menu-item-view-tools-align-top 向上对齐所选内容选项
menu-item-view-tools-align-middle 向中间对齐所选内容选项
menu-item-view-tools-align-bottom 向下对齐所选内容选项
menu-item-view-tools-distribute-horizontally 水平分布所选内容选项
menu-item-view-tools-distribute-veritcally 垂直分布所选内容选项
menu-item-view-tools-move-to-back 将所选内容移到后面选项
menu-item-view-tools-move-to-front 将所选内容移到前面选项
menu-item-view-tools-move-backwards 将所选内容向后移动选项
menu-item-view-tools-move-forwards 将所选内容向前移动选项
menu-item-import 导入选项
menu-item-export 导出选项
menu-item-search 搜索选项
menu-item-config-nodes 显示配置节点选项
menu-item-workspace 工作区(流)菜单,包含添加、编辑、删除流选项
menu-item-workspace-add 添加流选项
menu-item-workspace-edit 编辑流选项
menu-item-workspace-delete 删除流选项
menu-item-subflow 子流菜单,包含创建子流、将所选内容转换为子流选项
menu-item-subflow-create 创建子流选项
menu-item-subflow-convert 将所选内容转换为子流选项
menu-item-group 组菜单,包含将所选内容分组、取消分组等组相关选项
menu-item-group-group 将所选内容分组选项
menu-item-group-ungroup 取消所选内容分组选项
menu-item-group-merge 将所选内容合并到组选项
menu-item-group-remove 将所选内容从组中移除选项
menu-item-edit-palette 编辑调色板选项
menu-item-user-settings 用户设置选项
menu-item-keyboard-shortcuts 键盘快捷键选项
menu-item-help 帮助选项,链接到相关文档
menu-item-node-red-version Node-RED版本信息选项,点击显示关于信息
  • 示例:

    javascript 复制代码
    editorTheme: {
      menu: {
        'menu-item-keyboard-shortcuts': false,  // 隐藏快捷键菜单
        'menu-item-help': {                     // 修改默认帮助菜单链接
          label: '可视化流程控制系统',
          disabled: true, // 禁用默认帮助菜单
          url: 'https://custom-domain/help.html'
        }
      }
    }

palette

  • 类型: Object

  • 说明: 节点库配置

  • 示例:

    javascript 复制代码
    editorTheme: {
      palette: {
        // 自定义节点管理器目录
        catalogues: [
          'https://catalogue.nodered.org/catalogue.json',
          'https://custom-domain/catalogue.json'
        ],
        // 自定义节点类别在编辑器中的排列顺序。如果某个节点的类别不在列表中,该类别将被添加到末尾
        categories: ['自定义分组1', '自定义分组2', 'subflows', 'common', 'function', 'network', 'sequence', 'parser', 'storage']
      }
    }

projects

  • 类型: Object

  • 说明 : 项目配置,必须安装GIT后才生效

  • 示例:

    javascript 复制代码
    editorTheme: {
      projects: {
        enabled: true,  // 启用项目功能
        workflow: {
          mode: 'manual' | 'auto'  // 手动或自动提交更改
        }
      }
    }

codeEditor

  • 类型: Object
  • 说明: 代码编辑器配置

details 主题名称:参考源文件 packages/node_modules/@gd-node-red/editor-client/src/vendor/monaco/dist/theme

  • ace
  • active4d
  • all-hallows-eve
  • amy
  • birds-of-paradise
  • blackboard
  • brilliance-black
  • brilliance-dull
  • chrome-devtools
  • clouds-midnight
  • clouds
  • cobalt
  • cobalt2
  • dawn
  • dominion-day
  • dracula
  • dreamweaver
  • eiffel
  • espresso-libre
  • forge-dark
  • forge-light
  • forge
  • github-dark
  • github-light
  • github
  • idle
  • idlefingers
  • iplastic
  • katzenmilch
  • krtheme
  • kuroir-theme
  • lazy
  • magicwb-amiga
  • merbivore-soft
  • merbivore
  • monoindustrial
  • monokai-bright
  • monokai
  • night-owl
  • nord
  • oceanic-next
  • pastels-on-dark
  • slush-and-poppies
  • solarized-dark
  • solarized-light
  • spacecadet
  • sunburst
  • textmate-mac-classic
  • tomorrow-night-blue
  • tomorrow-night-bright
  • tomorrow-night-eighties
  • tomorrow-night
  • tomorrow
  • twilight
  • upstream-sunburst
  • vibrant-ink
  • xcode_default
  • zenburnesque
  • 示例:

    javascript 复制代码
    editorTheme: {
      codeEditor: {
        lib: 'monaco',
        options: {
          theme: 'github-light',
          // fontSize: 14,
          // fontFamily: "Cascadia Code, Fira Code, Consolas, 'Courier New', monospace",
          // fontLigatures: true,
          // fontLigatures: true,
        }
      }
    }

markdownEditor

  • 类型: Object

  • 说明: Markdown 编辑器配置

  • 示例:

    javascript 复制代码
    editorTheme: {
      markdownEditor: {
        mermaid:{
          enabled:true // 启用 Mermaid 图表
        }
      }
    }

multiplayer

  • 类型: Object

  • 说明: 多人编辑配置

  • 当前配置:

    javascript 复制代码
    editorTheme: {
      multiplayer: {
        enabled: true  // 启用多人编辑
      }
    }

节点设置

fileWorkingDirectory

  • 类型: String

  • 默认值 : ""

  • 说明: 函数节点执行时的工作目录,为空时默认使用 Node-RED 安装目录

  • 示例:

    javascript 复制代码
    fileWorkingDirectory: ""

globalFunctionTimeout

  • 类型: Number

  • 默认值 : 0

  • 说明: 函数节点超时时间(秒),0 表示无限制

  • 示例:

    javascript 复制代码
    globalFunctionTimeout: 0

functionTimeout

  • 类型: Number

  • 默认值 : 0

  • 说明: 函数节点超时时间(秒),0 表示无限制

  • 示例:

    javascript 复制代码
    functionTimeout: 0

functionGlobalContext

  • 类型: Object

  • 默认值 : {}

  • 说明 : 允许函数节点中使用额外的节点模块,函数节点中可以使用global.get("os")使用对应模块

  • 示例:

    javascript 复制代码
    functionGlobalContext: {
      os:require('os'),
      fs:require('fs'),
    }

nodeMessageBufferMaxLength

  • 类型: Number

  • 默认值: 0

  • 说明: 节点消息缓冲区最大长度,0 表示无限制

  • 示例:

    javascript 复制代码
    nodeMessageBufferMaxLength: 0

debugUseColors

  • 类型: Boolean

  • 默认值 : true

  • 说明: 调试输出是否使用颜色

  • 示例:

    javascript 复制代码
    debugUseColors: true

functionExternalModules

  • 类型: Boolean

  • 默认值 : false

  • 说明: 允许函数节点加载外部 npm 模块

  • 示例:

    javascript 复制代码
    functionExternalModules: true

debugMaxLength

  • 类型: Number

  • 默认值: 1000

  • 说明: 调试消息最大长度

  • 示例:

    javascript 复制代码
    debugMaxLength: 1000

execMaxBufferSize

  • 类型: Number

  • 默认值: 10000000

  • 说明: 执行外部命令时的最大缓冲区大小(字节),默认 10MB

  • 示例:

    javascript 复制代码
    execMaxBufferSize: 10000000

httpRequestTimeout

  • 类型: Number

  • 默认值: 360000

  • 说明: HTTP 请求超时时间(毫秒),默认 120秒

  • 示例:

    javascript 复制代码
    httpRequestTimeout: 120000

mqttReconnectTime

  • 类型: Number

  • 默认值: 15000

  • 说明: MQTT重连间隔(毫秒)

  • 示例:

    javascript 复制代码
    mqttReconnectTime: 15000

serialReconnectTime

  • 类型: Number

  • 默认值: 15000

  • 说明: 串口重连间隔(毫秒)

  • 示例:

    javascript 复制代码
    serialReconnectTime: 15000

socketReconnectTime

  • 类型: Number

  • 默认值: 15000

  • 说明: Socket 重连间隔(毫秒)

  • 示例:

    javascript 复制代码
    socketReconnectTime: 15000

socketTimeout

  • 类型: Number

  • 默认值: 0

  • 说明: Socket 超时时间(毫秒),0 表示无限制

  • 示例:

    javascript 复制代码
    socketTimeout: 0

tcpMsgQueueSize

  • 类型: Number

  • 默认值: 1000

  • 说明: TCP 消息队列大小

  • 示例:

    javascript 复制代码
    tcpMsgQueueSize: 1000

inboundWebSocketTimeout

  • 类型: Number

  • 默认值: 5000

  • 说明: 入站 WebSocket 超时时间(毫秒)

  • 示例:

    javascript 复制代码
    inboundWebSocketTimeout: 5000

tlsConfigDisableLocalFiles

  • 类型: Boolean

  • 默认值 : false

  • 说明: 禁用在TLS配置节点中使用本地文件存储密钥和证书的选项

  • 示例:

    javascript 复制代码
    tlsConfigDisableLocalFiles: true

webSocketNodeVerifyClient

  • 类型: Function

  • 默认值 : null

  • 说明: 自定义验证 WebSocket 连接的函数

  • 示例:

    javascript 复制代码
    webSocketNodeVerifyClient: function (info) {
      /** 'info'有三个属性:
       *   - origin : Origin头的值
       *   - req : HTTP请求
       *   - secure : 如果req.connection.authorized或req.connection.encrypted被设置为true
       *
       * 此函数应返回true,连接被接受,否则返回false。
       *
       * 或者,如果此函数接受一个名为callback的第二个参数,它可以用于异步验证客户端。
       * 回调函数接受三个参数:
       *   - result : 布尔值,是否接受连接或不接受
       *   - code : 如果result为false,则为HTTP错误状态码
       *   - reason: 如果result为false,则为HTTP原因字符串
       */
      return info.req.headers['origin'] === 'https://example.com';
    }

dashboard

  • 类型: Object

  • 说明: Dashboard 配置

  • 示例:

    javascript 复制代码
    dashboard:{
      // 最大 HTTP 缓冲区大小(字节)
      maxHttpBufferSize: 1e8  // 100MB
    }
相关推荐
Oo小刚oO3 小时前
Node-Red的部署与启动
开源
半夏微凉半夏殇11 小时前
除了arm 还有那些开源的芯片架构
arm开发·架构·开源
ajassi200013 小时前
开源 C++ QT QML 开发(二十二)多媒体--ffmpeg编码和录像
c++·qt·开源
言之。1 天前
介绍近期github上有名的开源项目
开源·github
惘嘫、冋渞1 天前
CentOS 7上Python3.10报错 No module named ‘_ssl‘
开源
ajassi20001 天前
开源 C++ QT QML 开发(二十一)多媒体--视频播放
c++·qt·开源
算家计算1 天前
阿里最新开源!轻量级视觉模型Qwen3-VL-4B&8B-Instruct本地部署教程:小参数媲美顶尖模型
人工智能·开源
CoderJia程序员甲1 天前
GitHub 热榜项目 - 日榜(2025-10-16)
ai·开源·github·ai编程·github热榜
努力犯错1 天前
AI视频修复技术入门:从Sora水印谈起,我们如何“抹去”未来影像的瑕疵?
大数据·人工智能·语言模型·开源·音视频