技术手册 v1.8.8

视频制作
管理平台

一个自托管、完全离线的平台,覆盖整个商业视频制作流程——从客户开发到交付——在一个统一系统中完成。

阅读文档
申请测试会议

1. 概览

XteVision Producer 是什么,适合谁使用?

1.1 什么是 XteVision Producer?

XteVision Producer(原 VidPro)是一个 完全离线、自托管的视频制作管理平台,覆盖整个商业视频制作流程——从客户开发到交付——在一个统一系统中完成。不依赖任何外部服务、无需云计算,运行在本地硬件上。

1.2 核心能力

  • 完整的流程覆盖:前期制作 → 中期拍摄 → 后期制作 → 交付 → 客户管理
  • 客户 CRM:流程阶段(LEAD→ACTIVE)、沟通记录、联系人管理
  • 预算引擎:11 个费用类别、应急预算百分比、预算与实际对比、9 种货币转换
  • 剧本与镜头管理:基于场景的剧本、12 种镜头类型、13 种运镜、分镜
  • 制作排期:多日拍摄计划、剧组排班(19 个岗位)、设备预约、通告单
  • 时间表与甘特图:基于真实数据的交互式时间轴,支持拖拽调整大小、依赖箭头、缩放级别
  • 后期制作跟踪:剪辑/调色/音效/特效流程、审核周期、画面锁定
  • 交付与归档:母带规格、平台优化、质量检查、归档跟踪
  • 发票:估算、定金、进度款、最终发票,含明细项、税费、打印布局
  • AI 助手:可配置的聊天机器人,支持数据库查询和通过工具调用获取天气预报
  • 天气预报:实时 Open-Meteo 集成——地理编码、每日预报(温度、天气状况、日出/日落)、本地化格式(EN °F,DE/ZH °C),支持多日拍摄的每日数据
  • AI 时间感知:系统提示自动注入当前服务器日期/时间/时区,用于解析相对日期("今晚"、"明天"、"这个周末")
  • 完整 i18n:English、Deutsch、中文——每种语言 500+ 翻译键
  • 工作区备份:完整的 XLSX 导出/导入,含 34 张表和 FK-safe 的 ID 重映射

1.3 目标用户

  • 主要用户:小型至中型视频制作公司(2–50 人),制作广告、品牌内容或纪录片
  • 次要用户:独立制片人和自由职业制作协调员,管理多个项目

1.4 实现状态

自 v1.8.3(2026-07-25)起,规范中的所有 5 个阶段均已实现。该平台包含 49 个 API 路由14 个项目标签页3 种语言40+ 张数据库表,以及重新设计的玻璃拟态 UI 和可主题化强调色。所有路由均已认证并按工作区隔离。

待增强项(非关键):带品牌标识的发票 PDF 导出、响应式移动界面、性能追踪(VTR/CTR)、WebSocket 实时协作。

2. 系统架构

高层设计与通信流程

2.1 高层架构

┌─────────────────────────────────────────────────────────────────┐
│                         Browser (Client)                         │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │              Next.js 16 (App Router)                       │  │
│  │  ┌────────┐ ┌──────────┐ ┌────────┐ ┌────────┐ ┌──────┐  │  │
│  │  │ Auth   │ │ Dashboard│ │Project │ │ Budget │ │Script│  │  │
│  │  │        │ │          │ │ Detail │ │        │ │      │  │  │
│  │  └────────┘ └──────────┘ └────────┘ └────────┘ └──────┘  │  │
│  │  ┌────────┐ ┌──────────┐ ┌────────┐ ┌────────┐ ┌──────┐  │  │
│  │  │ Shot   │ │ Shooting │ │Schedule│ │ Post-  │ │Invoice│  │  │
│  │  │ List   │ │ Day      │ │(Gantt) │ │Prod    │ │       │  │  │
│  │  └────────┘ └──────────┘ └────────┘ └────────┘ └──────┘  │  │
│  └───────────────────────────────────────────────────────────┘  │
└──────────────────────────────└──────────────────────────────────┘
                               │ HTTP/REST API
┌──────────────────────────────┴──────────────────────────────────┐
│                    Next.js API Routes (Server)                    │
│  ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌──────────────┐  │
│  │ Auth   │ │Project │ │ Budget │ │ Script │ │ AI Chat      │  │
│  │ Routes │ │ CRUD   │ │ Engine │ │ Editor │ │ + Tool Calls │  │
│  └────────┘ └────────┘ └────────┘ └────────┘ └──────────────┘  │
│  ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌──────────────┐  │
│  │Export  │ │Upload  │ │Currency│ │  DB    │ │ Settings     │  │
│  │(XLSX)  │ │(files) │ │(API)   │ │ (pg)   │ │              │  │
│  └────────┘ └────────┘ └────────┘ └────────┘ └──────────────┘  │
└──────────────────────────────└──────────────────────────────────┘
                               │
                    ┌──────────┴──────────┐
                    │  PostgreSQL 18.4     │
                    │  xtevision_producer  │
                    │  40+ tables, 14 enums │
                    └─────────────────────┘

2.2 通信流程

  1. 前端 → 后端:对所有 CRUD 操作使用 RESTful HTTP 请求调用 Next.js API 路由
  2. 后端 → 数据库:通过 pg(Node.js 驱动)使用原始 SQL 查询——参数化、按工作区范围
  3. 后端 → AI 后端:OpenAI 兼容 API 调用,目标为 MLX、Ollama、LM Studio 或 OpenRouter
  4. 前端 → AI:通过 SSE 流式返回聊天响应,通过工具调用执行数据库查询

2.3 部署模型

XteVision Producer 专为 自托管、完全离线运行设计:

  • 作为独立的 Node.js 服务器运行在您的硬件上
  • PostgreSQL 运行在 localhost,端口 5432,数据库:xtevision_producer
  • 所有数据保留在您的本地服务器上——无云计算依赖

3. 技术栈

前端、后端和基础设施技术

3.1 前端技术

技术版本用途
Next.js16(App Router)React 框架、SSR/SSG、API 路由
Tailwind CSSv4工具优先的样式
TypeScript5.9类型安全
Lucide React-图标库
next-intlv4国际化(EN/DE/ZH)
SheetJS (xlsx)0.18.5工作区导出/导入

3.2 后端与基础设施

技术版本用途
Next.js API 路由16REST API 服务器
PostgreSQL18.4主数据库
pglatestNode.js PostgreSQL 驱动
Bcrypt / crypto.scrypt-密码哈希
服务器任意系统Node.js ≥ 20,PostgreSQL ≥ 14
构建独立部署自包含的 Node.js 服务器
注意:数据库层使用纯 Node.js pg 驱动(无原生二进制文件),因此可在任何平台上运行。列名保持 camelCase(在 SQL 中使用引号标识符)。

4. 安装与设置

在您的服务器上运行 XteVision Producer

4.1 前置条件

  • PostgreSQL 18.4 已在目标服务器上运行
  • Node.js(用于运行独立构建版本)
  • 现代浏览器(Chrome/Edge/Firefox)
  • AI 模型服务器(可选,用于 AI 助手功能)

4.2 安装(3 步)

解压包、运行一条命令完成设置、然后启动应用。设置脚本会创建数据库、应用架构、生成安全的 AUTH_SECRET,并自动写入 .env

# 1. 解压包
mkdir -p /opt/xtevision
cd /opt/xtevision
tar zxvf xtevision-producer-build.tar.gz -C deploy/
cd deploy

# 2. 一条命令完成设置(创建数据库、应用架构、写入 .env)
./setup.sh

# 3. 启动应用
sudo npm install -g pm2
pm2 start server.js --name xtevision-producer
pm2 save
pm2 startup   # 按照打印出的指示在启动时自动启动

您可以通过环境变量自定义设置,例如 DB_NAME=myproducer DB_PASS=mysecret APP_PORT=8080 ./setup.sh

4.3 访问应用

http://your-server-ip:3000

应用默认运行在 3000 端口。如需使用其他端口,可在运行设置时设置 APP_PORT,或编辑 .env 中的 PORT 然后重启。

4.4 首次设置

  1. 注册:通过登录/注册页面创建第一个管理员账户
  2. 配置工作区:在设置中设置公司名称、默认货币和本地语言
  3. 邀请团队成员:通过 设置 → 团队管理 添加团队成员
  4. 创建项目:从项目简报和客户信息开始

4.5 尝试示例工作区

包中包含 Example_Workspace.xlsx——一个现成的演示 工作区,包含 3 个虚构客户和一个完整项目(简报、预算、剧本、镜头列表、 拍摄日、里程碑、任务、发票、后期制作、交付),以及示例器材、演员、 场地、剧组和供应商。

要导入它并查看 Total Recall 功能的演示,请打开 设置 → 工作区 → 导入,选择 Example_Workspace.xlsx, 然后确认。导入会自动重映射所有 ID,因此演示数据完全自包含,可安全导入 到任何工作区。探索它,然后编辑或删除演示条目,让工作区成为您自己的。

5. 应用结构

目录布局和模块组织

5.1 目录布局

XteVision-Producer/
├── src/
│   ├── app/
│   │   ├── [locale]/
│   │   │   ├── (main)/             # 已认证页面
│   │   │   │   ├── dashboard/      # 仪表盘统计 + 快速操作
│   │   │   │   ├── projects/       # 项目列表 + 详情(14 个标签页)
│   │   │   │   ├── clients/        # 客户 CRM
│   │   │   │   ├── invoices/       # 发票 CRUD + 详情/打印
│   │   │   │   ├── crew/           # 剧组名单
│   │   │   │   ├── vendors/        # 供应商管理
│   │   │   │   ├── casting/        # 演员 + 场地
│   │   │   │   ├── inventory/      # 工作室 & 器材
│   │   │   │   ├── calendar/       # 全局日历
│   │   │   │   └── settings/       # 公司、团队、个人资料
│   │   │   └── (auth)/             # 登录、注册
│   │   └── api/                    # 49 个 API 路由文件
│   ├── components/                 # 共享 UI 组件
│   │   ├── ui/                     # 按钮、输入、分页等
│   │   ├── projects/               # 项目标签页(14 个功能模块)
│   │   ├── layout/                 # 侧边栏、顶栏
│   │   ├── ai/                     # 聊天 wizard FAB + 模态框
│   │   ├── budget/                 # 预算明细项
│   │   ├── calendar/               # 日历组件
│   │   └── production/             # 制作日志组件
│   ├── lib/                        # 共享库
│   │   ├── db.ts                   # pg 查询助手
│   │   ├── auth.ts                 # 会话管理
│   │   ├── currency.ts             # 货币转换 + 格式化
│   │   ├── workspace-export.ts     # XLSX 导出构建器
│   │   └── workspace-import.ts     # XLSX 导入解析器
│   ├── i18n/                       # next-intl 路由配置
│   └── messages/                   # en.json、de.json、zh.json
├── migrations/                     # SQL 迁移(001–013)
├── schema.sql                      # 完整 PostgreSQL 架构
├── public/                         # 静态资源、上传、图标
└── deploy/                         # 解压缩的独立构建版本

5.2 项目标签页(14 个)

#标签页描述
1简报项目收集表单:目标、受众、基调、KPI、品牌指南
2预算明细项网格,含 11 个类别、应急预算百分比、多货币转换
3剧本基于场景的剧本编辑器,带元数据提取
4镜头列表12 种镜头类型、13 种运镜、11 个镜头、从脚本自动生成
5分镜视觉网格,支持图片上传、拖拽排序、节奏时间轴
6拍摄日多日计划,含剧组排班、设备预约、依赖关系
7通告单基于拍摄日数据可打印的剧组/场地/设备汇总
8日历项目级月度视图,多日拍摄跨越所有天数
9时间表基于真实数据的交互式甘特图,支持拖拽调整大小、依赖箭头
10制作日志每日报告、摄像机日志(A–D)、DIT 校验和、连续性备注
11后期制作剪辑/调色/音效/特效流程、审核周期、画面锁定
12交付母带规格、平台优化、质量检查、归档
13里程碑与任务截止日期、阶段、依赖关系、优先级、完成计数器
14沟通按客户分类的邮件/电话/会议/备注条目,限定于项目

6. 商业视频流程

端到端覆盖的五个制作阶段

6.1 阶段 1:前期制作

每个项目的规划和创意基础。

子步骤功能
客户开发与需求沟通结构化收集表单:目标、受众、基调、KPI、品牌指南
创意概念与剧本基于场景的剧本编辑器,带元数据提取;自动生成镜头列表
预算与时间线交互式预算引擎,含明细项分解、应急预算百分比、多货币
选角与场地勘察演员档案含费率、场地数据库含许可证和保险
分镜制作视觉镜头列表构建器,支持图片上传、运镜标注、节奏时间轴
剧组与供应商组建含 19 个岗位的剧组名单、供应商管理、合同存储
排期通告单生成、多日拍摄计划、天气数据、依赖跟踪

6.2 阶段 2:中期制作

拍摄期间的执行和现场管理。

子步骤功能
现场/场地准备勘察清单、许可证跟踪、电力/Wi-Fi/安全验证
制作日志每日报告、摄像机日志(多机位 A–D)、DIT 校验和、连续性备注
现场指导导演/第一 AD/场记的岗位分配和任务跟踪
拍摄管理摄像机日志、灯光/音频设置文档、花絮镜头跟踪、补拍
演员管理指导备注、连续性跟踪、到场时间、服装/道具
DIT 与每日备份存储卡卸载日志、校验和验证、每日样片跟踪
收工与盘点设备归还跟踪、场地恢复确认、资产日志

6.3 阶段 3:后期制作

编辑、润色和客户审批流程。

子步骤功能
后期制作跟踪剪辑/调色/音效/特效流程,含部门备注和状态概览
剪辑流程未开始 → 粗剪 → 精确剪辑 → 画面锁定,带锁定/解锁时间戳
调色创意调色备注、曝光修正日志、品牌一致性清单
音效设计与混音Foley/环境音/ADR 跟踪、音乐授权、最终混音规格
特效 / 动态图形合成/字幕/下三分之一/动画任务跟踪
客户审核周期放映含反馈跟踪、修订轮次、审批状态
最终母带编解码器/分辨率/帧率/响度标准配置

6.4 阶段 4:交付与分发

平台就绪的输出和长期归档。

子步骤功能
平台优化多选宽高比(16:9、9:16、1:1、影院),字幕语言
质量检查QC 通过/失败切换、交付日期跟踪、格式验证
交付跟踪编解码器、分辨率、帧率、响度标准(-24 LUFS)选择
归档与存储归档路径、交付说明、保留政策跟踪

6.5 阶段 5:客户与项目管理

保持流程透明并全程跟踪进度。

子步骤功能
客户 CRM流程阶段(LEAD→ACTIVE)、联系信息、沟通历史
里程碑跟踪截止日期、状态(待处理/进行中/已完成/已阻塞)、阶段分配
任务管理标题、状态、优先级(低→紧急)、负责人、依赖跟踪
沟通记录按客户分类的邮件/电话/会议/备注条目,限定于项目
法律授权书5 种授权类型、现在签署带时间戳 + 文档哈希、审计轨迹
发票估算/定金/进度款/最终款、明细项、税费、状态工作流
设置公司资料、团队管理、工作区成员 + 角色

7. 核心功能

平台关键能力

14 个项目标签页

简报、预算、剧本、镜头列表、分镜、拍摄日、通告单、日历、时间表、制作日志、后期制作、交付、里程碑与任务、沟通。

预算引擎

11 个明细项类别,含应急预算百分比、预算与实际对比、通过实时 Frankfurter API 汇率进行多货币转换。支持 9 种货币。

交互式时间表

基于真实数据的甘特图,从拍摄日、里程碑和任务表拉取数据。支持拖拽移动/调整大小、正交依赖箭头、月/周/天缩放、localStorage 优先持久化。

通告单与发票打印

基于拍摄日数据可打印的通告单(按到场时间排序的剧组、场地、设备)。发票打印布局隐藏侧边栏/顶栏,用于 A4 输出。

天气预报

带地理编码的实时 Open-Meteo 集成。拍摄日每日预报(温度、状况、日出/日落)。多日拍摄的每日天气数据。本地化格式(EN °F,DE/ZH °C)。每个拍摄日都有"获取天气"按钮。

AI 助手

可拖拽/可调整大小的模态框带浮动聊天按钮。可配置后端(MLX、LM Studio、Ollama、Copilot、OpenRouter)。通过工具调用执行数据库查询。

三语言 i18n

English、Deutsch、中文——每种语言 500+ 翻译键。完整的 UI 翻译,包括通过位置匹配数组在前端翻译的 DB 任务名称。

工作区备份(XLSX)

完整工作区导出为 Excel(.xlsx),含 34 张表,按 FK-safe 顺序排列。导入使用新的 UUID 重建所有记录,并通过 ID 重映射保持关系。

全局日历

汇总所有项目的拍摄日和里程碑。按项目着色。多日事件跨越所有天数。可点击的事件导航到项目标签页。

工作区隔离

所有 49 个 API 路由均已认证 + 按工作区范围。安全审计通过。基于会话的认证,使用 crypto.scrypt 密码和签名 cookie。

8. 模块详情

深入功能文档

8.1 认证与工作区

使用 crypto.scrypt 进行密码哈希和签名会话 cookie 的自定义基于会话的认证。每个用户属于一个带有 RBAC 角色(管理员、制片人、剧组、客户查看者、会计)的工作区。

  • 登录/注册:基于会话 cookie 的邮箱/密码认证
  • 工作区切换:支持多工作区,适用于制作公司
  • 团队管理:通过 设置 → 团队 邀请成员、分配角色
  • 工作区隔离:所有查询按 workspaceId 过滤

8.2 仪表盘

包含关键指标和快速操作的概览页面:

  • 统计卡片:项目总数、活跃客户、库存项、即将到来的截止日期
  • 所有项目中未来 7 天内的拍摄日
  • 常见任务的快速操作链接

8.3 客户 CRM

完整的客户关系管理,含流程阶段:

  • 流程阶段:LEAD → QUALIFIED → PROPOSAL → NEGOTIATION → ACTIVE
  • 客户 CRUD,含联系方式、公司信息、沟通历史
  • 与每个客户关联的沟通日志
  • 项目编辑客户字段,使用 upsert 逻辑

8.4 预算引擎

交互式预算编制,含全面的财务控制:

  • 11 个类别:CREW、TALENT、GEAR、LOCATION、TRAVEL、POST-PRODUCTION、MUSIC、INSURANCE、LEGAL、CONTINGENCY、MISC
  • 按类别驱动的下拉框:CREW/TALENT/GEAR 选择会自动从真实 DB 数据填充费率和单价
  • 多货币:9 种货币(USD、CNY、EUR、GBP、HKD、CAD、NZD、AUD、SGD),带实时 Frankfurter API 汇率
  • 应急预算百分比:在小计上自动计算应急预算
  • 预算与实际对比:跟踪预算 adherence
  • 仅显示转换:切换货币会立即重新计算总额;保留原始值

8.5 剧本编辑器

基于场景的剧本管理:

  • 场景 CRUD,含元数据(角色、道具、场地、场景编号)
  • 状态工作流:草稿 → 审核中 → 已批准 → 已锁定
  • 从剧本场景自动生成镜头列表

8.6 镜头列表

全面的镜头规划,含行业标准选项:

  • 12 种镜头类型:特写、中景、全景、大全景、过肩、POV、双人镜、插入镜头、切出、跟拍、摇臂、 aerial
  • 13 种运镜:摇、俯仰、推/拉、左/右平移、升降、变焦推/拉、焦点变换、手持、稳定器、云台
  • 11 个镜头:18mm、24mm、35mm、50mm、85mm、100mm、135mm、200mm、24-70mm、70-200mm、100-400mm
  • 从剧本场景自动生成模板
  • 前端分页(10/25/50/100)

8.7 分镜

带图片上传的视觉镜头规划:

  • 带拖拽排序的视觉网格
  • 服务端图片上传(基于文件,非 base64)——修复 body 大小限制
  • 节奏时间轴概览
  • 场景编号徽章("Sc N")显示在信息区
  • 镜头列表 ↔ 分镜同步:sceneId 在多次保存间保持不变

8.8 拍摄日计划

带完整资源管理的多日制作计划:

  • 多日支持:startDate + endDate(迁移 010),自动递增日期
  • 19 个剧组岗位:导演、摄影指导、第一 AD、第二 AD、混音师、灯光师、首席机械师、美术指导、场记、化妆、服装、花絮、剧照、数据管理员、DIT、现场 PA、制作协调员、后勤服务、医护
  • 剧组下拉框:从剧组名单中选择,自动填充角色
  • 设备预约:按拍摄日从库存中预约器材
  • 场景分配:将场景链接到拍摄日用于规划
  • 依赖跟踪:"依赖"下拉框用于拍摄日排序
  • 日历集成:多日拍摄跨越范围内所有天数

8.9 通告单

基于拍摄日数据生成的可打印制作文档:

  • 按到场时间排序的组成员
  • 场地详情、设备列表、场景安排
  • 打印 CSS 隐藏侧边栏/顶栏,输出干净

8.10 日历与时间表

用于制作时间线管理的两个互补视图:

日历

  • 项目级月度视图 + 汇总所有项目的全局日历
  • 多日拍摄事件跨越范围内所有天数
  • 全局视图中按项目着色
  • 可点击的事件 → 导航到拍摄日/时间表标签页
  • 汇总各项目的里程碑

时间表(甘特图)

  • 基于真实数据:从拍摄日、里程碑和任务表拉取
  • 拖拽移动/调整大小条,带日期持久化(PATCH API)
  • 月/周/天缩放级别
  • 正交 90° 依赖箭头,带右键菜单
  • localStorage 优先持久化,确保箭头在标签页切换后保留
  • 折叠的阶段摘要条显示隐藏的事件范围
  • 双击任何事件可导航到其编辑标签页

8.11 制作日志

现场文档,含 4 个子章节:

  • 每日报告:每日通用制作备注
  • 摄像机日志:多机位跟踪(A–D),含媒体详情
  • DIT 日志:校验和验证、存储卡卸载跟踪
  • 连续性备注:剧本连续性跟踪

8.12 后期制作跟踪

端到端的后期制作流程:

  • 剪辑流程:未开始 → 粗剪 → 精确剪辑 → 画面锁定
  • 带时间戳的锁定/解锁跟踪
  • 调色:创意调色备注、品牌一致性检查
  • 音效设计:Foley/环境音/ADR 跟踪、音乐授权
  • 特效:合成、字幕、下三分之一、动画任务跟踪
  • 客户审核周期:带状态和反馈的修订轮次

8.13 交付跟踪

最终输出规范和分发:

  • 编解码器、分辨率、帧率、响度标准选择(-24 LUFS 广播)
  • 平台优化:多选宽高比(16:9、9:16、1:1、影院)
  • 字幕语言配置
  • QC 通过/失败切换,带交付日期跟踪
  • 归档路径和交付说明

8.14 里程碑与任务

带依赖跟踪的项目管理:

  • 里程碑:截止日期、状态(待处理/进行中/已完成/已阻塞)、阶段分配
  • 任务:标题、状态、优先级(低→紧急)、截止日期、负责人、阶段
  • 里程碑和任务的依赖跟踪
  • 每阶段的完成计数器
  • 前端分页

8.15 沟通日志

  • 按客户分类的邮件/电话/会议/备注条目
  • 限定于单个项目
  • 前端分页

8.16 法律授权书

  • 5 种授权类型:演员、场地、音乐、照片、通用
  • 现在签署带时间戳 + 文档哈希审计轨迹
  • 前端分页

8.17 发票

  • 发票类型:估算、定金、进度款、最终款
  • 含税费处理的明细项
  • 状态工作流:草稿 → 已发送 → 已付款
  • 带打印布局的详情视图(A4,隐藏侧边栏/顶栏)
  • 多货币支持

8.18 剧组、供应商、选角与场地

剧组

  • 含岗位、费率、联系信息的名单
  • 带编辑/删除的 CRUD
  • 与拍摄日剧组排班关联
  • 货币敏感的费率显示

供应商

  • 带联系信息的供应商管理
  • CRUD 操作

选角(演员)

  • 含费率、角色的演员档案
  • 带货币符号的费用输入
  • CRUD 操作

场地

  • 含许可证、保险跟踪的场地数据库
  • 联系人、地址详情
  • CRUD 操作

8.19 工作室与器材(库存)

  • 12 个设备类别:摄像机、录制介质、音频器材、镜头、无人机、轨道车与跟踪、滑轨、云台、灯光、支撑与吊装、场地专用、其他
  • 状态跟踪(新/良好/一般/差)
  • 按拍摄日的设备预约
  • 每项的内联编辑/删除
  • 前端分页

8.20 设置

  • 公司资料:公司名称、默认货币、本地语言
  • 团队管理:带角色的工作区成员、邀请流程
  • 个人资料:姓名、邮箱、密码、本地语言
  • 备份与还原:XLSX 导出/导入(仅管理员/制片人)
  • AI 配置:后端 URL、模型、系统提示

9. AI 集成

带数据库查询的可配置 AI 助手

9.1 AI 聊天向导

在所有页面上可用的浮动 AI 助手:

  • FAB 按钮:固定在右下角,所有页面可见
  • 可拖拽模态框:拖动标题栏可在桌面端重新定位
  • 可调整大小模态框:右下角把手,360×400 最小尺寸
  • 可配置后端:MLX、LM Studio、Ollama、Copilot、OpenRouter
  • 自定义系统提示:在设置中按工作区设置
  • Powered-by 页脚:显示当前后端 + 模型
  • 重置聊天:刷新图标清空对话

9.2 AI 数据库工具调用

AI 向导可以直接查询工作区 PostgreSQL 数据库:

  • OpenAI 兼容工具:使用 tools/tool_calls 协议
  • query_database 工具:仅 SELECT,带安全检查——阻塞 DDL/DML
  • 200 行限制:防止过度检索数据
  • 10 秒超时:防止长时间运行的查询
  • 完整 DB 架构感知:系统提示自动增强,含 43 张表架构
  • 工作区隔离:查询自动注入 workspaceId 作为参数
  • 最多 10 轮:防止无限工具调用循环
示例查询:"项目状态是什么?"、"下周预约了多少剧组?"、"显示本月预约的设备。"

9.3 AI 天气工具调用

AI 向导可以通过 Open-Meteo API 获取实时天气预报:

  • get_weather_forecast 工具:将城市名称地理编码为坐标,获取每日预报
  • 返回:温度(最高/最低)、天气状况、日出/日落时间
  • 本地化格式:EN 用 °F 和 12 小时制,DE/ZH 用 °C 和 24 小时制
  • 相对日期解析:系统提示包含当前服务器时间——AI 正确解析"今晚"、"明天"、"这个周末"
  • 来源标注:每条响应都包含"Data: Open-Meteo (api.open-meteo.com)"和技术 API 端点 URL
  • 数据源:免费开放数据 REST API,无需 API 密钥
示例查询:"今晚昆山会下雨吗?"、"这个周末上海拍摄的天气如何?"、"柏林明天的温度是多少?"

9.4 支持的 AI 后端

后端默认 URL端口备注
MLXyour-ai-server-ip5010Apple Silicon,最佳隐私
LM Studioyour-ai-server-ip1234本地 GGUF 模型
Ollamayour-ai-server-ip11434流行的本地模型
Copilotyour-ai-server-ip5015GitHub Copilot 桥接
OpenRouteropenrouter.ai443第三方网关

10. 部署

在您的服务器上运行和管理平台

10.1 要求

  • Node.js v20+
  • PostgreSQL v14+
  • pm2(可选但推荐)—— sudo npm install -g pm2

10.2 启动应用

cd /opt/xtevision/deploy
pm2 start server.js --name xtevision-producer
pm2 save
pm2 startup   # 按照打印出的指示在启动时自动启动

不使用 pm2,可直接运行 ./start.sh,或用 nohup ./start.sh > app.log 2>&1 & 在后台保持运行。

10.3 环境变量

变量描述
DATABASE_URLpostgresql://producer:<password>@localhost:5432/xtevision_producer?schema=publicPostgreSQL 连接(专用 producer 用户)
PORT3000服务器端口
HOSTNAME0.0.0.0监听所有接口
AUTH_SECRET64 位十六进制会话签名密钥(由 setup 自动生成)
NEXT_PUBLIC_APP_NAMEXteVision Producer应用名称
NEXT_PUBLIC_DEFAULT_LOCALEen默认语言

这些由 setup.sh 自动写入 .env。编辑 .env 以更改它们,然后重启应用。

10.4 升级到新版本

pm2 stop xtevision-producer
cp .env /tmp/xv-env.bak
cp -r uploads /tmp/xv-uploads.bak
rm -fr deploy && mkdir deploy
tar zxvf xtevision-producer-build.tar.gz -C deploy/
cp /tmp/xv-env.bak deploy/.env
cp -r /tmp/xv-uploads.bak deploy/uploads
pm2 start xtevision-producer

然后应用包中包含的任何新的数据库迁移:

cd deploy
for f in migrations/*.sql; do
  echo "Applying $f"
  psql "$(grep DATABASE_URL .env | cut -d'=' -f2- | tr -d '"')" -f "$f"
done

11. API 参考

完整的 REST API 端点清单

11.1 路由概览

所有 49 个 API 路由均已认证并按工作区范围。每个路由都调用 requireAuth() 并按 workspaceId 过滤查询。

类别路由方法
认证/api/auth/login、/register、/logout、/me、/workspacePOST、GET
仪表盘/api/dashboard/statsGET
项目/api/projects、/api/projects/[id]GET、POST、PUT、DELETE
客户/api/clients、/api/clients/[id]GET、POST、PUT、DELETE
预算/api/projects/[id]/budgetGET、PUT
剧本/api/projects/[id]/scenes、.../[sceneId]GET、POST、PUT、DELETE
镜头列表/api/projects/[id]/shotsGET、PUT
分镜/api/projects/[id]/storyboard、.../storyboard-uploadGET、PUT、POST
拍摄日/api/projects/[id]/shooting-daysGET、PUT
通告单/api/projects/[id]/call-sheetGET
日历/api/projects/[id]/calendar、/api/calendar/globalGET
时间表/api/projects/[id]/ganttGET、PATCH
制作日志/api/projects/[id]/production-logGET、PUT
后期制作/api/projects/[id]/post-productionGET、PUT
交付/api/projects/[id]/deliveryGET、PUT
里程碑/api/projects/[id]/milestonesGET、PUT
任务/api/projects/[id]/tasksGET、PUT
沟通/api/projects/[id]/communicationGET、PUT
法律授权书/api/projects/[id]/legal-releasesGET、PUT
发票/api/invoices、/api/invoices/[id]GET、POST、PUT、DELETE
剧组/api/crewGET、POST、PUT、DELETE
供应商/api/vendorsGET、POST、PUT、DELETE
选角/演员/api/casting/talentGET、POST、PUT、DELETE
场地/api/casting/locationsGET、POST、PUT、DELETE
库存/api/inventory、/api/inventory/[id]GET、POST、PUT、DELETE
设备预约/api/projects/[id]/equipment-bookingGET、PUT
设置/api/settings、/api/settings/teamGET、PUT
AI 聊天/api/ai/chatGET、POST
天气预报/api/weather/forecast?location=...&startDate=...&endDate=...GET
货币/api/currency/ratesGET
上传/api/uploads/[...path]GET
工作区/api/workspaces/[id]、/api/workspaces/[id]/exportGET、PUT、DELETE
工作区导入/api/workspaces/importPOST

12. 更新日志

版本历史和发布说明

v1.8.3 — 2026-07-25

  • 玻璃拟态 UI 重新设计:受 DRYL Components 启发的完整视觉改版——半透明玻璃表面、背景模糊、可主题化强调渐变(7 种预设 + 自定义颜色)。
  • 主题系统:设置 → 标签页 中的强调色选择器(Nebula、Ember、Verdant、Mono、Ocean、Cherry、Midnight)、自定义十六进制颜色,以及亮/暗/系统模式切换。持久化在 localStorage 中。
  • Aurora 环境光晕:缓慢漂移的强调色背景光球(紫色 + 青色),透过玻璃表面可见。
  • 紧凑表单字段:所有输入、选择、文本区域和按钮减少到 12px,并收紧内边距,呈现高密度、专业的外观。
  • 帮助手册:帮助图标现在在新浏览器标签页中打开手册,而不是内联模态框,避免了 Safari 对固定浮层的定位问题。
  • 拍摄日折叠:每个拍摄日卡片现在可折叠(点击标题切换),与剧本和镜头列表模式一致。
  • 设置标签页可滚动:标签栏在窄屏幕上现在可水平滚动——在 iPhone 上可访问主题标签页。
  • 版本号提升:v1.0.2 → v1.8.3

v1.0.2 — 2026-07-15

  • AI 聊天 — 时间感知:系统提示自动注入当前服务器日期/时间/时区。AI 现在解析相对日期("今晚"、"明天"、"这个周末"),用于天气查询和截止日期。
  • 天气来源标注:每条天气响应都包含"Data: Open-Meteo (api.open-meteo.com)"和技术 API 端点 URL。日历视图显示"Weather: Open-Meteo"页脚。
  • 每日天气数据:多日拍摄日在新的 weatherData JSONB 列中存储每日预报(迁移 024)。日历现在为每个独立日期显示正确的天气,而不仅是第一天的数据。
  • 天气工具调用:AI 向导可通过 get_weather_forecast 工具获取实时天气预报。带地理编码和本地化格式及来源标注。
  • 帮助手册:顶栏帮助图标(?)以全屏模态框打开技术手册。手册内容由 public/XteVision_Producer_Manual.html 提供。
  • 数据库用户更改:postgres 迁移到专用的 producer 角色(迁移 023)。
  • 天气文档:docs/overview.mddocs/how-to.md 中添加天气预报和 AI 天气工具调用。
  • 版本号提升:v1.0.1 → v1.0.2

v1.0.1 — 2026-07-11

  • 工作区备份(XLSX 导出/导入):完整工作区导出为 Excel(.xlsx),含 34 张表,按 FK-safe 顺序排列。导入使用新的 UUID 重建所有记录,通过 ID 重映射保持关系,并.Workspace 成员创建占位用户账户。通过 设置 → 备份与还原 访问。
  • 新增依赖:xlsx(SheetJS)——纯 JS、架构无关
  • 新增路由:GET /api/workspaces/[id]/exportPOST /api/workspaces/import

v0.9.0 — 2026-07-10

  • 实时货币转换:预算页面使用实时 Frankfurter API 汇率即时转换所有明细项。9 种货币(USD、CNY、EUR、GBP、HKD、CAD、NZD、AUD、SGD)。集中式 src/lib/currency.ts。仅显示转换——保留原始值。
  • 新增路由:GET /api/currency/rates,带 6 小时服务端缓存
  • 设置页面货币下拉框扩展为 9 种货币
  • 剧组、选角和库存页面使用集中式货币格式化

v0.7.0 — 2026-07-09

  • AI 数据库工具调用:AI 向导通过 query_database 工具查询 PostgreSQL。仅 SELECT、200 行限制、10 秒超时、完整 DB 架构感知、工作区隔离。
  • 时间表(甘特图):从"甘特图"重命名为"时间表"。基于拍摄日/里程碑/任务的真实数据。拖拽移动/调整大小、依赖箭头、缩放级别、localStorage 优先持久化。
  • 多日拍摄日:startDate + endDate 支持、自动递增日期、日历多日跨度。
  • 依赖跟踪:里程碑、任务、拍摄日都支持 dependsOn
  • 前端分页:添加到 10 个标签页(剧本、镜头列表、分镜、拍摄日、制作日志、里程碑与任务、沟通日志、授权书、工作室与器材、发票)。
  • 分镜图片修复:服务端文件上传替换 base64 存储。
  • 镜头列表 ↔ 分镜同步:sceneId 保留、场景编号徽章显示。

v0.5.0 — 2026-07-07

  • 品牌升级:XteVision 图标,应用重命名为"Producer",版本 + 版权页脚。
  • 甘特图:带 4 个阶段、29 个默认任务、依赖链、SVG 箭头的交互式时间线。
  • 完整 CRUD:项目编辑/删除模态框、库存内联编辑/删除、工作区危险区域删除。
  • 库存重命名为"工作室与器材"。
  • 日历链接:拍摄日可点击 → 导航到时间表标签页。

v0.4.0 — 2026-07-05

  • 全部 5 个阶段完成——从需求沟通到交付的完整流程。
  • 后期制作跟踪、交付跟踪、里程碑与任务、沟通日志、法律授权书。
  • 全局日历、仪表盘截止日期、剧组下拉框、发票打印 CSS。
  • 安全审计:修复了 7 个缺少工作区隔离的处理程序。
  • EN/DE/ZH 新增约 120 个 i18n 键。

v0.3.0 — 2026-07-05

  • 制作日志(4 个子章节)、分镜视图、设备预约、剧组通告单、场景分配。
  • 迁移 006–008,用于镜头图片、场景规划、制作阶段。

v0.2.5 — 2026-07-04

  • 发票系统、剧组与供应商管理、选角与场地、库存管理、设置页面。

v0.2.0 — 2026-07-03

  • 移除 Prisma,改用 pg(原始 SQL)。基于会话的认证,使用 crypto.scrypt。
  • 现有工作区记录的认证数据迁移。

v0.1.5 — 2026-07-02

  • 镜头列表生成器、拍摄日计划、日历视图、客户 CRM、i18n 完成(EN/DE/ZH)。

v0.1.0 — 2026-07-01

  • 项目脚手架(Next.js 16、Tailwind v4、TypeScript 5.9)、认证系统、仪表盘、项目管理、预算引擎、剧本编辑器、数据库架构、跨构建流程。

v0.0.0 — 2026-07-01

  • 从 spec-first 工作流创建初始项目脚手架。规范文档:vidpro-spec.md,覆盖全部 5 个制作阶段。

13. 故障排除

常见问题及解决方案

13.1 服务器无法启动

  • 问题:配置端口出现 EADDRINUSE 错误
  • 解决方案:使用 kill $(lsof -ti:3000)(使用您的端口)终止现有进程,或在 .env 中更改 PORT

13.2 数据库连接失败

  • 问题:到 PostgreSQL 的"Connection refused"(连接被拒绝)
  • 解决方案:验证 PostgreSQL 正在运行:systemctl status postgresql。检查 .env 中的 DATABASE_URL。确保 xtevision_producer 数据库存在。重新运行 ./setup.sh 以修复角色/数据库。

13.3 认证后数据不可见

  • 问题:登录后所有页面都显示为空
  • 解决方案:每个账户都有自己独立的工作区。如果您期望看到数据,请确保登录到了正确的工作区(通过工作区菜单切换)。

13.4 pm2 未找到

  • 问题Command 'pm2' not found
  • 解决方案:使用 sudo npm install -g pm2 安装。如果 npm 不可用,直接使用 ./start.shnohup ./start.sh > app.log 2>&1 & 运行应用。

13.5 分镜图片不显示

  • 问题:保存后图片缺失
  • 解决方案:验证 uploads/<projectId>/ 目录存在并具有写权限。检查上传 API 路由是否正常工作。

13.6 AI 聊天无响应

  • 问题:"Connection refused"(连接被拒绝)或 AI 无响应
  • 解决方案:确保 AI 后端服务器在配置的主机/端口上运行。在 设置 → AI 配置 中验证后端 URL 和模型设置。

13.7 货币汇率不加载

  • 问题:预算加载动画永不结束
  • 解决方案:检查互联网连接(Frankfurter API 需要互联网)。服务端 6 小时缓存会在获取失败时提供过时的汇率。