编辑规则
无需重新询问,直接遵循。关于存在的工具及其使用方法,请阅读 video-toolkit。
0. 配置文件和个人规则
- 按照
video-toolkit§0 中的说明找到频道的配置文件:在工作文件夹上方最近的studio.json,否则使用默认频道~/.video-studio/config.json。 如果缺失 → 提示/studio-setup。 - 配置文件中的
house_rules是用户自己的决定(例如“不要触碰麦克风声音”)。 它们会覆盖下面的默认规则。当用户声明新的常规偏好时,将其作为一行简短描述(包含原因和日期)附加到house_rules中,并告知用户已保存。
1. 一切必须免费
- DaVinci Resolve:免费版,21.0.x。 切勿建议升级到 21.1 或更高版本:21.1 将 Python 脚本功能限制为仅 Studio 版,这会破坏免费版上的 Resolve MCP。
- 不要提议 21.1 独占的 API 功能(SetSpeed、AddTransition、SetFades、NormalizeAudioLevel、CreateMulticamClip、AutoAlignClips、output blanking)。提供替代方案(关键帧、Fusion、ffmpeg 或手动 UI 步骤)。
- 不要提议 Studio 独占的功能(声音隔离、对话电平器、时域/空域降噪、Super Scale、Magic Mask),除非说明它们是 Studio 独占的。
- 如果配置文件中的
resolve.edition是studio,那么 Studio 功能可以正常使用;21.0.x 的锁定限制仅在用户依赖应用内桥接时适用。
- HyperFrames:仅限本地渲染。 使用工具箱
render_hyperframes或npx hyperframes render。- 切勿运行
hyperframes cloud render、lambda、cloudrun或hyperframes auth login。 - 切勿使用 HeyGen 信用点功能:HeyGen TTS/语音、头像、
media-use resolve --type bgm|sfx(需要 heygen CLI)或任何消耗信用点的 AI 图像/音乐/视频生成。请改用工具箱:speak用于语音,sfx_search/sfx_generate用于音效,transcribe用于字幕。 - 如果 HyperFrames 工作流程步骤需要上述任何一项,请跳过它或使用免费替代方案,并说明原因。
- 不要推广 HyperFrames 桌面应用或
hyperframes open:工作流程是 Claude + CLI 渲染 + Resolve MCP。Web Studio 预览仅供用户自己进行小幅调整。
- 切勿运行
- 其他工具: 优先使用已安装的工具(ffmpeg、Node、Docker)。不要注册或连接付费服务。
- 语音: 使用
speak调用 Kokoro(本地,Apache 2.0 许可证),并使用配置文件中的语音和速度。不要为频道视频使用非商业 TTS 权重。 - 转录: 使用工具箱
transcribe调用 WhisperX,不要使用 Resolve 或 HeyGen 的。除非要求,否则不进行说话人分离。 - 生成的音效/音乐: 使用工具箱
sfx_generate调用 Stable Audio Open 1.0(其 Hugging Face 许可在/studio-setup时已接受)。
2. 文件夹结构
<studio>/
sfx_library/ 共享生成的音效 + index.jsonl(跨视频和频道复用;toolbox.sfx_library)
recordings/ 来自任何来源的原始录制文件(默认 recordings.folder):只读
_scratch/ 没有项目文件夹的工具箱输出
<channel>/ 每个频道一个文件夹
studio.json 该频道的配置文件
<ProjectName>/ 每个视频一个文件夹,名称与 Resolve 项目名完全一致
plan.md, script.json, short.json
audio/ 旁白、混音
capture/ 为此视频制作的屏幕录制
transcripts/ 每个文件的转录文件 + <timeline>.timeline.*(时间线时间)
timeline/ 捕获的轨道布局
animations/ HyperFrames 项目和渲染输出
builds/, renders/, audio_preview/
单频道工作室可以将 studio.json 和项目文件夹直接放在 <studio>/ 下;这仍然有效。
- 从 Resolve 获取项目名称(
project_manager get_current)(如果有打开的 Resolve 项目);否则与用户商议确定项目名称。在第一次需要时创建文件夹。 - 切勿将项目文件写入工作室根目录、另一个频道的文件夹或原始录制文件旁边。
3. 原始录制文件为只读
- 录制文件夹(
recordings.folder)永远不会被写入:没有覆盖、删除、重命名或侧边文件。处理后的媒体作为副本复制到项目文件夹,然后通过素材池进行替换。 - 使用
recordings.mic_audio_stream进行转录。如果录制文件包含额外的音轨(例如桌面音频、麦克风副本),请指出它们,并且未经请求不要移除或静音。
4. 除非要求,否则不做修改
- 音频: 除非用户要求,否则不要对用户语音应用均衡器、降噪、压缩或标准化。
- 画面: 除非用户要求,否则不要进行调色或锐化。
5. 工作方式
- 提交前预览: 对于音频/视觉更改,渲染一个简短的前/后对比样本到
<project>/audio_preview/(或类似位置),让用户决定。 - 提议,然后应用: 在更改时间线之前,显示提议的剪辑点、触发点和叠加层位置。
- 叠加层 → Resolve: 在
<project>/animations/中构建 HyperFrames 项目,渲染为时间线帧率的mov(带 Alpha 通道)文件,导入并放置在空的视频轨道上。如果另一个会话可能正在animations/中工作,将一次性叠加层作为独立的 HyperFrames 项目构建在兄弟文件夹中。 - 面部安全区域: 当存在摄像头画面时,在放置卡片之前测量面部位置(使用 ffmpeg 平铺帧);切勿遮挡面部。
- 隐私: 切勿显示
channel.never_show中的任何内容。屏幕录制会捕获屏幕上的所有内容——检查每个裁剪的首帧和末帧。 - 音效库: 先生成后搜索,使用
sfx_mark记录用户的决断,切勿删除库文件(包括被拒绝的)。将选中的音效放置在空的音频轨道上,切勿放在 Audio 1 轨上。