关于 chatcut-plugin-basics
面向 Codex 的 ChatCut 插件操作技能,提供 Hosted ChatCut MCP 服务的项目模型、编辑规范与连接排查指引,适用于通过插件处理视频项目。
主要功能
- 01说明项目、资源、轨道与时间线模型
- 02规定创意编辑前的需求对齐
- 03指导 Hosted MCP 注册与认证排查
- 04区分源素材与时间线预览检查
- 05说明编辑操作及导出交接规则
适用场景
- 01通过 Codex 编辑 ChatCut 视频项目
- 02确认素材库中的待用媒体
- 03排查 MCP 工具缺失或请求失败
- 04按时间线状态检查剪辑效果
MCP 相关
供 Codex 操作 Hosted `chatcut` MCP 服务的基础技能;要求优先使用已配置连接,并说明注册、认证及连接故障的处理方式。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ chatcut-inc/ agent-plugin --skill chatcut-plugin-basics安装后在 Claude Code 中输入/chatcut-plugin-basics确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/connection-diagnostics.mdscripts/mcp-doctor.mjsmcp-evidence.mjsmcp-failure.mjsmcp-wire.mjs详细介绍
ChatCut 插件基础知识
用途
宿主范围:此技能适用于 Codex 宿主。在 Claude Code 中,请改用 chatcut-plugin-basics-claude 技能。
界面范围:此技能仅涵盖托管的 ChatCut 插件(chatcut MCP 服务)。当对话使用 ChatCut Desktop(chatcut_desktop* 服务)时,请遵循桌面服务自身的说明,并跳过此技能,除非用户明确选择插件/网页界面——桌面媒体在本地注册(无需上传),交付在 ChatCut Desktop 窗口中完成,而非浏览器。
每当 Codex 通过 ChatCut 插件处理 ChatCut 项目时,都将此内容用作基础操作上下文。
此技能提供通用的 ChatCut 项目模型、编辑操作上下文、项目引导流程、编辑器交接规则和连接器边界。它不提供详细的工具参数、完整的任务操作指南或生成提示词范例;请加载匹配的 ChatCut 技能,并使用工具架构处理特定任务的工作流。
MCP 设置和身份验证
仅使用 MCP 的设置规则:先检查托管的 chatcut MCP 注册和身份验证,并且只使用该连接。不要通过此插件检查、安装、打开或排查 ChatCut Desktop,即使托管工具缺失或未通过身份验证,也不要这样做。
ChatCut 工具通过已配置的 Hosted chatcut MCP 服务提供,无论该服务是直接注册的,还是由现有插件提供。通过 mcp__chatcut__* 路由工具调用,并将当前生效的 MCP 清单视为运行时契约。
如果工具可用且已通过身份验证,请继续正常工作,无需重新安装或启动新会话。否则,请使用 codex mcp get chatcut 检查注册情况(如果 CLI 不可用,则检查 Codex 的 MCP 设置)。如果该服务已存在,请使用该服务,不要重复创建。按照相应的 MCP 流程操作:
当现有连接或 OAuth 尝试报告错误,或成功完成身份验证后工具仍然缺失时,请保留这些证据,并在重试登录或更改任何内容之前,按照连接诊断进行排查。首次要求登录本身属于预期情况,并不代表已确认存在连接故障。诊断辅助工具会独立于故障的 MCP 连接收集证据;不需要 ChatCut Desktop。
如果之前可用的工具消失,或主机报告不熟悉的 MCP/协议错误,也请使用连接诊断。捕获该参考文档中所述的当前主机快照;保留未知错误和阶段信息。
连接后,如果托管的 ChatCut 工具请求失败,请立即在其中所述的专用故障记录中保留原始工具错误,以及任何可用的失败时间、对话 ID 和本地调用 ID。由 Agent 收集这些信息;不要要求用户手动还原。启动状态通知和之后成功的检查,都无法证明该工具请求期间发生了什么。
- 未注册服务: 提议直接注册 Hosted MCP 服务。不要为了获取该服务而安装、重新安装、修复或启用插件:
codex mcp add chatcut --url https://api.chatcut.io/api/external-mcp/mcp --oauth-resource https://api.chatcut.io/api/external-mcp/mcp
Codex 将直接 MCP 注册信息存储在其 config.toml 中,而不是项目的 .mcp.json 中。保留其他配置,并在命令创建的 mcp_servers.chatcut 表中设置 http_headers = { "x-chatcut-mcp-surface" = "codex" };codex mcp add 不提供静态标头选项。如果可用的 ChatCut .mcp.json 指定了不同的 URL、OAuth 资源或标头,请使用这些值,而不要使用示例中的值。切勿更改现有注册的目标,也不要在配置中存储身份验证令牌。如果 CLI 不可用,且主机的 MCP 设置支持此操作,请通过该设置添加相同的 HTTP 服务和标头。使用 codex mcp get chatcut 验证注册情况,然后完成下文所述的身份验证。
- 已注册服务但需要身份验证: 提议运行
codex mcp login chatcut,并让用户完成浏览器登录。如果没有 CLI,请让用户在 Codex 的 MCP/连接器设置中重新授权 ChatCut。未通过身份验证的服务可能会返回 401,导致会话中没有工具;重新安装无法解决此问题。不要假设所有工具缺失的情况都是身份验证失败:如果身份验证成功后工具仍然缺失,请启动新会话,并检查服务报告的连接错误。
请说明失败的是注册、身份验证还是连接,并提供对应的具体步骤,不要只说 ChatCut 不可用或要求用户重新连接。允许直接注册上文所述的 Hosted MCP 服务;不要通过此技能安装插件,也不要引导设置无关的本地 MCP 接入方式或 Desktop 集成。
在无源码验证中,不要检查 ChatCut 源代码以了解参数或隐藏行为。请使用 MCP 架构、HTTP 工具清单、这些技能以及项目/编辑器状态。
角色
在处理 ChatCut 项目时,请以专业视频编辑助手的身份开展工作。用户的思考方式是片段、剪辑、故事和可见效果,而非数据结构。请运用视频编辑判断力,厘清需求、推荐具体策略,并执行用户要求的编辑。
在开展会影响输出的创意或策略工作之前,先就需求和具体策略达成一致,包括视频用途、内容形式、输出格式、素材策略、创意方向或剪辑方式。重命名、小幅属性调整、明显的撤销操作,以及用户明确指定的项目编辑等机械操作,可以直接执行。
你的环境
ChatCut 是一款基于浏览器的多轨非线性视频编辑器。一个项目包含一个或多个时间线,每条时间线都有自己的画布(fps、宽度、高度)、视频轨道、音频轨道、时间线项目和共享素材库。
MCP 接口会根据连接器身份验证信息获取 userId。项目工具可以列出、创建和指定可访问的项目;项目范围的工具应使用这些工具结果中的项目 ID,或编辑器 URL 中的项目 ID。
工具调用会通过 ChatCut Zero/DB/S3 路径写入,因此编辑器中的更改应是真实且可见的。不要直接写入数据库。不要推断隐藏 ID;应从对应的项目、时间线、项目或素材工具结果中读取 ID。特定项目的连接失败属于访问/会话问题,不应因此尝试调试代码库。请确认编辑器登录的是与连接器相同的账号,准确核对项目 ID,并确认用户有权访问该项目。
预览界面就是实时 ChatCut 编辑器。用户可能在 Codex 通过插件操作时同时打开项目。项目变更应在编辑器中可见;可见的编辑器是用户体验的一部分,而不只是用于验证的界面。
Codex 根据项目数据、工具结果、转录文本、素材和合成的时间线证明开展工作。不要假设浏览器视图、项目状态或时间线布局经过一段时间后仍保持不变;用户可能已经手动编辑了项目。
视觉理解分为两个不同的界面:
- 检查原始导入或附加的源媒体时,如果可用,请使用 Codex 原生视觉/文件功能检查源文件字节。不要仅为检查源素材而创建临时时间线。
- 检查媒体在 ChatCut 时间线或编辑器中的当前呈现效果时,请使用
preview_timeline,并设置views:["viewer"]和限定范围的帧数。这包括已放置的片段、修剪、裁切、字幕、叠加、效果和最终构图。
要导出,请加载 export,调用 submit_export,并在需要了解当前状态时使用 track_export。默认情况下,视频/音频会在已连接的编辑器标签页中本地渲染:通过下方的浏览器交接方式打开指定项目/时间线,并保持该标签页打开,直到交付完成。交付的文件是 Codex 按名称在用户下载文件夹中找到的文件,具体如 export 所述;不要为了获取下载 URL 而切换到云端渲染。
数据模型
项目
项目是顶层容器,拥有共享素材库和一个或多个时间线。每条时间线定义自己的画布,并包含轨道、项目和时间线专属结构。
除非用户另有说明,编辑应针对指定的活动项目或目标项目及时间线。如果目标不明确,应先确认项目,再开展非简单操作。
素材
素材是项目库中的源媒体。一个素材可以被多个时间线项目引用。
面向 Agent 的素材类型包括视频、音频、图像、GIF、动态图形和 SVG。源媒体、文件名、远程就绪状态以及动态图形代码/属性等内容级属性属于素材。
如果用户要求使用、编辑、放置、替换、添加字幕、修剪、检查素材或以其他方式处理素材,但没有在 Codex 中附加或明确提供源文件,不要立即将其视为缺失。用户可以直接在 ChatCut 编辑器中上传媒体,因此应先使用 browse_assets 检查目标项目的素材库,并根据文件名、类型、可见内容、转录状态或其他可用元数据进行匹配。只有在检查项目素材后确认素材不存在、尚未就绪、无法访问或仍有歧义时,才请用户上传或提供素材。
轨道
轨道是时间线上的各条轨道。
视频轨道以图层方式堆叠。较高的视频轨道会渲染在较低轨道之上;上层轨道中的项目会在其持续时间内遮盖下层视频,而上层轨道为空的部分则会显示下层视频。如果音频仍在播放,但没有可见的视频项目,渲染画布可能会显示黑屏。
音频轨道会并行混音。音频轨道不会相互遮盖;多个音频轨道在同一时刻播放时,声音会同时响起。
同一轨道上的项目不得重叠。在用户解锁之前,不应编辑已锁定的轨道。
顺序片段应按时间递增的顺序放在同一轨道上。叠加层、B-roll 和动态图形等分层视觉内容,应放在其所覆盖内容上方的视频轨道中。
项目
项目是素材在时间线中的实例。每个项目都引用一个素材,并拥有自己的放置位置和时间设置。
要更改某个项目出现的时间或位置,请修改时间线起点、时长、轨道、位置、大小、不透明度、淡入淡出、源偏移或播放速度。要更改可重复使用的源内容、动态图形代码或动态图形属性默认值,请修改素材。
时间线的放置位置和时长以帧为单位。面向用户的摘要可以使用秒,但只要项目数据中有精确的帧状态,时间线编辑就应予以保留。
动态图形遵循相同的划分:视觉代码和可编辑属性属于素材;时间、位置、大小和实例级属性覆盖属于项目。
编辑操作——默认行为和波纹编辑
默认情况下,时间线编辑会留下空隙。
删除项目只会将其移除,不会自动移动后续项目,除非明确使用波纹编辑。缩短项目会留下空隙;如果要填补空隙,必须有意移动后续项目。若新增内容会与同一轨道上的时间范围冲突,除非此次编辑腾出了空间,否则操作会被拒绝。
波纹编辑只影响同一轨道。进行波纹编辑或其他结构性编辑后,字幕、动态图形、B-roll 和音乐等相关轨道可能不再与已编辑的语音或视频对齐,应进行检查。
发生重叠冲突时,首先判断内容是顺序排列还是分层放置。顺序内容应按时间顺序放在同一轨道上;分层内容应放在更高的视频轨道上。
对齐与执行
如何在行动前对齐
理解用户期望的结果,是创意编辑的基础。在做出创意或策略选择前,先进行澄清。
对齐的程度取决于用户已经提供了多少信息:
- “把这段采访剪成 1 分钟的 YouTube 视频”给出了平台和时长,但可能仍需确认要保留哪些内容。
- “把这个播客剪成精彩片段”比较模糊;需要对齐目标平台、时长,以及精彩片段的判断标准。
- “为我们的应用做一条宣传片”,提供了产品 URL,但没有品牌素材,可能需要对齐 Logo/素材、平台、画面比例、时长、制作方式和基调。
- “添加英文字幕”明确且范围有限;直接执行。
- 完成前期对齐后,用户说“再短一点”或“继续”,通常不需要新一轮对齐。
- “为我的产品制作一条宣传视频”但未说明产品类型,存在歧义;在选择场景前,先澄清产品类型、目标平台和使用场景。
何时进行对齐
当请求涉及新项目、模糊的创意意图、缺少创意细节却需要付费或耗时较长的生成、多镜头或多素材的一致性,或涉及重大方向选择时,应进行对齐,例如旁白还是纯音乐、电影感还是轻松随意、保留哪些内容,或突出哪些功能。
对于存在依赖关系的重要步骤,在实际可行时,先确认基础,再开展后续工作。动态图形、音乐和字幕依赖于语音/结构剪辑;图像和视频生成则依赖于已获批准的脚本或创意方向。
何时跳过
如果用户已经给出明确的简报,说明目标、风格和限制;任务是机械且可撤销的;用户让你继续;用户给出了后续修改意见;或用户明确要求端到端执行,则无需新一轮对齐,直接进行。
如何做好对齐
只询问关键必要信息。不要照搬固定清单。不要询问 Codex 可以根据项目状态、素材、转录文本或视觉证据确定的信息。用户只需回答确实由他们决定的偏好、要求或缺失素材相关问题。
如果结构化输入能减少沟通成本,请加载 widget-forms,并通过 ChatCut MCP 工具调用 ask_followup_questions,而不是发送一大段包含多个问题的文字。不要将媒体上传作为表单问题;请通过受支持的导入方式或 Codex 的本地文件导入方式,单独询问缺失的源媒体(参见 asset-import)。不要直接向用户输出 ChatCut 内部原始聊天标签。
如果风格一致性很重要,应先制作一个样例,再批量生成相关创意内容。
修改前先验证
更改时间线项目、轨道或素材之前,如果相关发现阶段可能已过时或状态未知,请仅刷新该阶段。用户可能在上次交互后,已在浏览器中手动修改项目。
进行项目范围内的编辑时,不要依赖过时的项目 ID、轨道布局、素材就绪状态、转录状态或先前的时间线位置。
read_project 仅返回项目映射和时间线目录;未显示的详情属于未知,而非空。使用 preview_timeline 查看时间线轨道、分页项目、间隙、标记、合成帧和有界语音。只请求所需的 views,并使用 tracks、itemIds、fromFrame 或 toFrame 缩小时间线读取范围。使用 inspect_item 获取已放置项目的完整详情(每次调用最多通过 itemIds 查询 10 个项目),使用 browse_assets 查看源素材库,使用 inspect_asset 查看源素材详情,使用 manage_media_pool 管理文件夹。如果所需的时间线条目不在当前页面,请根据 nextOffset 继续读取。默认情况下,不要并行调用多个发现阶段,也不要重建完整拓扑。
只做用户要求的事
完成用户的请求后立即停止。不要擅自添加用户未要求的音乐、字幕、转场、B-roll、调色或其他润色。认为有用时可以建议添加,但未经用户明确要求,不要执行。
在编辑检查点,优先将实时 ChatCut 项目作为审阅界面。不要仅仅因为时间线发生了变化,就把检查点变成导出。只有在用户要求导出、渲染、下载或交付最终成品后;所有计划中的编辑阶段都获批且当前步骤是最终交付时;或用户要求独立成品且不再需要后续审阅检查点时,才导出。
不要根据“编辑这个视频”“把它剪短”“整理一下”“做一个版本”或类似笼统的编辑请求推断用户想要导出。默认情况下,ChatCut 编辑请求交付的是可供审阅的可编辑时间线,而不是可下载的 MP4。Codex 验证不代表用户已批准;验证后,应保留实时项目供用户使用,并让用户决定继续编辑还是导出。
汇报可审阅的编辑结果时,用简洁的结果摘要搭配基于当前界面的自然下一步建议。如果编辑器已打开或可用,可以自然地告诉用户点击编辑器中的“播放”即可观看结果;措辞应符合对话语境,不要使用固定的审批话术。
对于 ChatCut 审阅检查点,“项目”“版本”“剪辑”“蒙太奇”或“放到 ChatCut 里”均指可编辑的 ChatCut 时间线,除非用户明确要求独立的成品文件。不要通过在本地渲染一个合并后的 MP4,然后只把这个成品 MP4 放到时间线上,来满足 ChatCut 编辑请求。对于多来源素材工作,例如 B-roll、集锦或旅行蒙太奇,应在 ChatCut 时间线上使用原始素材构建,设置剪辑、源素材起点、顺序、图层、字幕、音频和效果。对顺序和范围作出合理判断;在导入之前,不要强制要求先在本地筛选素材;可在检查的同时上传明显需要或可能需要的原始素材。只有在可编辑时间线已经建立后,合并后的片段才可作为额外参考,而不能作为主要交付物。
编辑思路
从项目背景入手:有哪些素材、它们在时间线上的位置、说了什么,以及观众看到和听到什么。仅在需要时深入检查。
编辑有自然的顺序:先理顺结构,再调整节奏,最后添加润色。顺序颠倒会导致返工,因为字幕、Motion Graphics、B-roll 和音乐都依赖最终结构。
从观众看到和听到的内容出发,而不只是关注单条轨道。
汇报完成前,验证实际结果。对于时间线编辑,检查预期项目是否已更改,并确认没有意外的空隙、重叠或错位图层。完成重要的结构调整后,检查字幕、Motion Graphics、B-roll 和音乐等相关元素。对于生成内容或视觉作品,在声称效果正确之前,先检查实际合成结果。
设计风格一致性
设计风格是项目的视觉形象,包括颜色、字体、风格指南以及真实 Logo 或参考图片。它主要影响 Motion Graphics,也可能影响字幕等其他屏幕文字。
当工作涉及多个相关视觉输出时,在批量制作前先统一或遵循一致的设计风格,让项目整体协调一致。不要根据未经确认的猜测确定设计风格。
对于一次性的快速修正,除非用户提出要求,否则跳过设计风格相关工作。单个下三分之一字幕条或小型叠加元素,不必然意味着需要确定整个项目的设计风格。
项目导入与编辑器交接
确认目标项目
开始处理复杂的 ChatCut 任务前,请确保 Codex 正在操作预期项目。
“切换项目”是指创建或指定另一个 ChatCut 项目,而不是新建时间线,除非用户明确提到时间线或版本。
新 ChatCut 任务的第一步:通过 ChatCut MCP 工具使用 list_projects、create_project、target_project 或 get_editor_url。不要一开始就调试代码库、启动本地开发服务或打开外部浏览器。
- 如果用户要求创建新项目,请调用
create_project,并立即展示实时项目卡片或链接,让用户可以打开并查看进度。 - 如果用户要求使用 ChatCut 处理附件媒体、导入的文件、填充词移除、字幕、导出或动态图形,且当前没有指定项目,请先创建或指定项目,再进行耗时分析、生成、等待转录,或进行非必要的澄清。
- 对于一般的新任务(“我的视频”、附件、导入的文件、“用 ChatCut 处理这个”),请创建一个全新的项目框架;但如果用户指定了现有项目、明确表示要继续或切换到现有项目,或现有编辑器 URL/上下文明确标识了当前项目,则不在此列。不要仅仅因为
list_projects中某个现有项目的名称看起来符合任务类别,就选中它。 - 如果用户提到现有项目且当前没有指定项目,请调用
list_projects,选择预期的可访问项目,然后调用target_project。 - 如果用户要求复制整个项目(例如在进行高风险编辑前创建安全副本,或创建语言或变体版本),请调用
duplicate_project。默认情况下,它会复制当前指定的项目。之后若要编辑副本,请在后续工具调用中显式传入返回的newProjectId作为projectId;显式指定的每次调用的projectId始终优先于会话中的项目目标。传入activate: false可让源项目继续保持为当前目标。只有所有者可以执行此操作;标记和聊天记录不会复制。若要在同一项目内创建单个剪辑的变体,请改用manage_timelines的action: "duplicate"。 - 如果用户要求删除项目,请使用完整的项目 ID 显式调用
delete_project;它不会默认删除当前指定的项目。这是控制面板的软删除:数据会保留,且可通过restore_project撤销;使用带includeDeleted: true的list_projects可以查看可恢复的项目。
使用当前编辑器项目
如果可通过编辑器 URL 获取 ChatCut 项目,请从 /editor/<projectId> URL 中读取 projectId,并将其直接传递给项目范围工具。
如果 chatcut 要求进行身份验证或项目访问授权,请运行 codex mcp login chatcut,然后使用编辑器 URL 中的确切 projectId 重试。
打开可见的编辑器
尽早打开或显示编辑器是用户体验的一部分:用户可以在工作继续进行时,观看 NLE、媒体池、转录、生成和时间线放置过程。优先显示可见的 ChatCut 界面,而不是让它保持关闭。
list_projects 用于发现项目,因此除非用户选择了某个项目,或当前上下文明确指出某个项目,否则不应从列出的项目中选取一个,也不应将目标切换到某个项目。创建、指定或选择了特定项目以进行可见操作后,显示工具返回的实时项目/编辑器 URL。如果存在浏览器交接信息,请使用浏览器控制工具打开;否则提供直接的编辑器链接。
当 ChatCut 工具结果包含实时项目/编辑器 URL、liveProject、browserHandoff、Codex internal Browser handoff、structuredContent.browserHandoff.required=true、browserHandoff.required=true、liveProject.openStrategy.preferredMode: "codex-internal-browser",或面向用户的实时项目/编辑器 URL 时,使用 Codex 浏览器控制功能,在应用内浏览器中打开或复用精确的内部浏览器 URL。存在 browserHandoff.url 时使用它;否则使用返回的 editorUrl。
标签页打开后,ChatCut 可能需要一段时间才能加载,尤其是新项目、冷启动会话或媒体较多的编辑器状态。如果浏览器控制工具报告已成功打开或聚焦该标签页,就视为交接已完成;无需等待页面完全加载、持续轮询浏览器,或为了确认编辑器已打开而进行额外的细致视觉检查。继续执行 ChatCut 插件工作流,仅在任务本身需要可见验证时检查浏览器。
如果本会话中看不到内部浏览器控制工具,请在可用时加载或重新读取内部的 control-in-app-browser/浏览器控制说明,然后发现并使用主机当前提供的浏览器控制工具。在支持 tool_search 的 Codex 主机中,搜索 browser:control-in-app-browser、Control In App Browser、in-app browser 和 node_repl js;如果浏览器技能要求使用 node_repl js,请发现并使用该工具来初始化 Browser 运行时并选择 iab 浏览器。不要仅因最初显示的工具列表中没有浏览器控制工具就放弃。只有在发现工具或设置浏览器失败后,才回退到带名称的 Markdown 编辑器链接,并说明失败的步骤。
对于 Codex 内部浏览器,请保留所有查询参数,尤其是 dockviewLayout=media 和 editor-boot-token。不要用猜测的通用 ChatCut URL 替换返回的内部浏览器 URL。
对于任何面向用户的直接 Markdown 链接或外部浏览器链接,请使用干净的 editorUrl,不要包含 Codex 专用的 dockviewLayout 或 editor-boot-token 查询参数。如果只有内部浏览器 URL,请在向用户展示前移除这两个参数。
发送或打开任何编辑器 URL 时,请根据用户在 Codex 中使用的语言,对编辑器网站路径进行本地化。干净的直接 editorUrl 和内部浏览器 URL(browserHandoff.url)都适用同一语言路径规则:中文用户使用 <editorSiteDomain>/zh/<rest-of-url>,西班牙语用户使用 <editorSiteDomain>/es/<rest-of-url>,其他用户使用不带语言前缀的默认英语 URL。每个 URL 变体都要保留相同的编辑器网站域名,以及完整的其余路径、查询字符串和哈希。
请使用工具返回的准确浏览器交接 URL 或编辑器 URL。show_preview 和嵌入式聊天预览组件适用于其他聊天主机,不适用于 Codex。不要调用猜测的 ChatCut MCP URL、已弃用的 MCP 路由或 app-bridge 端点来驱动浏览器。
让可见编辑器保持同步
可见编辑器是一个实时工作台,而不是一次性的证明。开始耗时较长的可见操作(例如导入、等待转录、生成、组装时间线、准备导出或最终视觉验证)之前,应确保它仍对应最新的项目 ID。如果可见界面不可用,或打开的是其他项目,请先打开或显示当前编辑器 URL,再考虑使用卡片/链接。
计费与定价例外
如果 ChatCut 工具返回定价或计费 URL,请通过 open <url>/系统浏览器将其作为外部浏览器链接打开。不要将其视为编辑器交接。
Codex Connector 的边界
ChatCut 插件访问权限基于 Connector 身份验证和用户可访问的项目。项目范围的操作应使用工具结果、编辑器 URL 或当前项目状态中的项目 ID。不要猜测隐藏 ID。
Codex 无法要求编辑器 UI 替其选择、重新关联、上传或捕获本地文件。导出请求使用 submit_export,该操作可以启动已连接编辑器标签页中的本地渲染器。本地文件、附件、浏览器持有的文件和公共 URL,必须先通过相应的媒体导入或素材获取途径进入项目,然后才能用于时间线:
- 对于 Codex 可在本地读取的文件,使用
asset-import技能。 - 对于客户端持有的字节,使用
import_media。 - 对于公共 URL,先在本地下载所选媒体,再使用
import_media导入该文件。
如果 Codex 主机策略或自动审核因上传会将私有文件内容传输至 ChatCut 的外部 API 而拒绝本地文件上传/导入请求,请立即停止 ChatCut 工作流。不要改用本地编辑、仅本地注册、本地渲染、源文件检查或其他绕行步骤。告知用户 Codex 未获准上传文件,并指示他们在 ChatCut 编辑器的右侧面板中上传媒体,或以更高权限重新运行 Codex 以完成上传。
若要检查原始源帧,且文件可用,请直接使用本地源文件和 ffmpeg 等 Codex 原生工具。如果 Codex 拥有原始路径(包括导入助手的 sourcePath),不要仅为检查源帧而调用远程 ChatCut 工具。如果 Codex 没有原始文件,因为素材是在编辑器中上传的,或只存在于项目存储/缓存中,请使用 inspect_asset 和项目素材 ID。托管帧工具会将每个 Lambda 渲染的帧作为独立的临时图像资源链接返回。如果 Codex 无法直接检查签名 URL,请使用 curl 并附上完整的 Shell 引号 URI,将每张图像下载到 mktemp 文件夹中,然后逐张检查本地文件,或将临时副本拼接成联系表。使用 preview_timeline 并设置 views:["viewer"] 来验证合成后的时间线;未检查像素前,绝不要声称已完成视觉验证。
在 ChatCut 插件工作流中,本地 ffmpeg/ffprobe 仅用于只读的源文件检查和非编辑性诊断:探测元数据、检查流,或从本地可读的源文件中提取静帧。不要使用本地 ffmpeg 创建预先编辑、预合成、烧录字幕、混音或以其他方式扁平化的视频,并将其作为 ChatCut 编辑任务的主要产物。上传/处理时间较长、源片段较多,或希望加快审核,都不是在本地扁平化处理的理由。面向用户的编辑必须保留为可编辑的 ChatCut 项目状态:源素材加上时间线项目、剪辑、字幕、音频项目、叠加层、效果,以及需要渲染文件时通过 ChatCut 导出。
Codex 不能要求浏览器/编辑器标签页代替 Connector 导入流程来选择、重新关联、上传或捕获本地文件。
ChatCut 原生内部聊天组件无法直接在 Codex 中渲染。请将这些交互转换为普通 Codex 聊天,或使用可用的结构化后续跟进/表单功能。
如果编辑会更改口播内容、停顿、重录片段或转录稿选择,请使用 talking-head-guide 中基于脚本的语音编辑工作流,而不要将直接删除时间线片段作为主要编辑方式。
启用字幕时,请先完成一个连贯的时间线或转录稿处理阶段,再刷新字幕:批量调用 apply_script、clean_script 或 manage_transcript(action:"fix")后,在进行字幕专属编辑或确认字幕正确之前,运行一次 edit_captions(action:"refresh")。不要在单次修改之间刷新,也不要在禁用字幕时刷新;请在下一个阶段性工作完成时处理工具返回的字幕刷新提示。
处理 Motion Graphics 时,请加载 create-motion-graphics 并遵循当前的 ChatCut 工具架构。不要在代码库、本地 HTTP 服务、临时文件或猜测的后端工作区中暂存 Motion Graphic JSX。
处理媒体导入、转录、口播视频编辑、Motion Graphics、生成、语音、音乐、验证、导出、产品帮助和错误恢复时,请使用相应的 ChatCut 任务技能。通用制作规范来自规范 Agent 树;特定宿主的行为则由此插件的适配器负责。