把 DeepSeek Harness 接入视频剪辑工作流:开源 Timeline Studio 插件的工程实践
大模型能够写文案、生成代码,也能分析视频编辑需求。但要让智能体真正修改一个视频工程,仅靠提示词还不够。
它需要理解时间线结构、检查轨道和片段、预演修改、避免重复执行、保存可继续编辑的工程,并验证最终渲染结果。任何一步处理不当,都可能造成工程损坏、素材越界访问,或者生成一个“看似成功、实际不可用”的视频。
为此,我们开源了 dsh-timeline-studio-plugin:
- 插件仓库:github.com/MartinDelophy/dsh-timeline-studio-plugin
- Timeline Studio 主仓库:github.com/MartinDelophy/ai-video-editor
这个插件将 DeepSeek Harness 接入 Timeline Studio 的确定性 .timeline 命令层,让智能体可以通过自然语言理解、修改和渲染本地视频工程。

一、我们想解决什么问题?
传统的视频编辑自动化通常有两种方式。
第一种是直接操作编辑器界面,例如模拟鼠标点击、拖动素材和修改参数。这种方式直观,但容易受到界面布局、窗口尺寸和运行状态影响。
第二种是让模型直接修改工程文件。这种方式效率更高,但风险也更大:模型可能写入错误字段、覆盖原工程、重复执行操作,或者生成编辑器无法正常打开的文件。
我们希望建立一条更加可靠的路径:
用户描述目标,智能体理解工程,先预演修改,再事务式写入新工程,最后渲染并验证结果。
因此,dsh-timeline-studio-plugin 并不是另一个视频编辑器,而是 DeepSeek Harness 与 Timeline Studio 之间的智能体操作桥梁。
Timeline Studio 负责可视化时间线、媒体处理、浏览器本地 AI 能力和最终创作体验;插件则负责把这些确定性工程能力安全地暴露给智能体。
二、玩家如何使用?
安装插件后,用户先在 DeepSeek Harness 中添加一个包含 .timeline 工程和素材的本地工作区。

第一次体验时,可以按照下面的步骤操作:
- 点击左侧工作区标题旁的“添加工作区”。
- 选择包含 Timeline Studio 工程和素材的本地目录。
- 创建新会话。
- 用自然语言描述需要完成的视频编辑任务。
例如,可以先让智能体只读检查工程:
检查工作区里的 Timeline Studio 工程,告诉我时长、画幅、轨道和素材情况。先不要修改文件。
确认工程结构后,可以继续提出编辑与导出要求:
把工程改成 9:16。先展示修改预演,确认没有错误后保存为新工程,再渲染一份 MP4;不要覆盖原文件。
插件本身没有单独的视频编辑面板。执行过程会显示在 Harness 会话的工具调用与结果中,而修改结果会落到新的 .timeline 工程和 MP4 文件中。
完整视觉预览以及复杂的 WebGPU AI 能力,仍然由 Timeline Studio 编辑器负责。
三、如何确认插件已经生效?
打开 DeepSeek Harness 左下角的:
设置 → 插件 → 插件列表
搜索 timeline,可以看到 Timeline Studio 插件的运行状态。

当界面显示:
- 配置状态:已启用
- Cordis 状态:已挂载
就说明插件已经成功加载。
其中 include:timeline-studio 是当前配置中的挂载标识。用户不需要手动调用它,只需要在会话中提出视频编辑任务,智能体会根据任务自动选择相应工具。
四、插件提供了哪些能力?
目前插件向 DeepSeek Harness 提供了 7 个模型工具。
| 工具 | 用途 |
|---|---|
timeline_studio_project_inspect |
检查工程版本、时长、画幅、轨道和媒体清单 |
timeline_studio_track_inspect |
查看指定轨道中的片段 |
timeline_studio_clip_inspect |
查看片段时间、素材映射、变换和关联信息 |
timeline_studio_transcript_inspect |
检查字幕、词级时间和音频关联 |
timeline_studio_project_diff |
对编辑计划进行语义预演,不写入工程 |
timeline_studio_project_apply |
校验通过后事务式应用修改 |
timeline_studio_project_render |
渲染并验证 H.264/AAC MP4 |
这些工具大致分为三组能力:

1. 理解工程
智能体可以先检查工程整体结构,再逐级查看轨道、片段和字幕。
这比把完整工程文件直接塞进模型上下文更加可控。智能体只读取当前任务真正需要的信息,也更容易定位具体片段。
2. 安全编辑
编辑操作不会直接执行,而是先生成结构化计划并进行语义预演。
预演通过后,插件才允许正式应用修改。原始工程默认不会被直接覆盖,而是生成新的 .timeline 工程。
3. 渲染与验证
工程修改完成后,可以调用 Timeline Studio 的本地能力渲染 MP4。
插件还会检查最终容器、分辨率、时长和音轨状态。遇到当前渲染路径不支持的可见特性时,工具会明确返回错误,而不是静默忽略效果。
五、为什么要先执行 diff?
让智能体编辑结构化工程时,最大的风险之一是“模型认为操作正确,但实际工程语义不成立”。
因此,插件要求先执行:
timeline_studio_project_diff
预演成功后,才能执行:
timeline_studio_project_apply
一个编辑计划示例如下:
{
"schemaVersion": 1,
"project": "/projects/input.timeline",
"baseRevision": 0,
"dryRun": false,
"operations": [
{
"id": "set-ratio-001",
"type": "project.set_ratio",
"ratio": "9:16"
}
],
"output": {
"project": "/projects/output.timeline"
}
}
插件会使用 Timeline Studio 的真实命令注册表验证这些操作,而不是只检查 JSON 格式。
这意味着预演可以提前发现:
- 不存在的命令;
- 不合法的参数;
- 过期的工程版本;
- 已经执行过的操作;
- 不被允许的输入或输出路径;
- 当前渲染链路无法表达的效果。
这套机制类似数据库事务:先验证,再提交。
六、怎样避免重复执行和并发覆盖?
智能体工作流可能因为重试、网络中断或者模型重新规划而重复调用同一个工具。
如果缺少保护,同一个“添加片段”操作可能被执行两次。
插件为编辑计划增加了两层约束。
revision:避免基于旧工程写入
检查工程时,插件会返回当前 revision。
编辑计划必须携带对应的 baseRevision。如果工程已经被其他操作修改,旧 revision 下的新写入会被拒绝。
operation ID:保证操作幂等
每一条编辑操作都拥有唯一 ID,例如:
{
"id": "set-ratio-001",
"type": "project.set_ratio",
"ratio": "9:16"
}
如果相同 operation ID 被再次提交,插件会把它识别为空操作,从而避免重复修改工程。
七、文件访问边界不是提示词约定
视频编辑需要读取素材、工程文件和渲染输出,因此文件系统访问是插件安全设计的重要部分。
配置中的 allowedRoots 会限定插件可以访问的真实目录:
- name: 'dsh-timeline-studio-plugin'
config:
timelineStudioRoot: /绝对路径/web_player
allowedRoots:
- /绝对路径/projects
所有工程、编辑计划、导入素材和输出文件,都必须位于允许的目录中。
这个限制由插件代码强制执行,并不是一句“请不要访问其他目录”的提示词。路径解析后如果超出边界,操作会直接失败。
插件还会检查符号链接,避免通过软链接绕过目录限制。
八、安装方式
当前项目面向 DeepSeek Harness 0.1.0-rc.6 Developer Preview,建议使用 Node.js 22.20+ 或 24+。
同时需要准备:
- 安装好依赖的 Timeline Studio 本地仓库;
- FFmpeg;
- ffprobe;
- 用于保存工程和素材的本地工作区。
可以直接把 GitHub 仓库安装为 DSH Web profile 的 Bundle:
dsh plugin --profile web add \
"github:MartinDelophy/dsh-timeline-studio-plugin#main"
启动 Harness 时,提供 Timeline Studio 与工程工作区的绝对路径:
TIMELINE_STUDIO_ROOT=/绝对路径/web_player \
TIMELINE_PROJECTS_ROOT=/绝对路径/projects \
dsh --profile web
Bundle 在未设置 TIMELINE_STUDIO_ROOT 时会保持禁用,避免未完成配置的插件影响现有 Harness profile。
如果进行本地插件开发,也可以使用 npm link:
cd /绝对路径/dsh-timeline-studio-plugin
npm install
npm link
cd /绝对路径/deepseek-harness
npm link dsh-timeline-studio-plugin
九、一次完整的智能体编辑流程
推荐的执行顺序如下:
- 加载
edit-timeline-studioAgent Skill。 - 调用
timeline_studio_project_inspect检查工程。 - 根据用户目标生成带 revision 和 operation ID 的编辑计划。
- 把计划保存在允许访问的工作区中。
- 调用
timeline_studio_project_diff预演修改。 - diff 成功后调用
timeline_studio_project_apply。 - 重新检查输出工程。
- 按需调用
timeline_studio_project_render。 - 验证输出视频的容器、尺寸、时长和音轨。
这条路径把模型擅长的“理解意图与制定计划”,和传统程序擅长的“确定性执行与约束校验”结合了起来。
十、我们如何做端到端验证?
项目不仅包含单元测试,也通过真实的 DeepSeek Harness/Cordis 工具流水线进行了端到端测试。
目前验证范围包括:
- DSH Bundle 能够正常安装;
- Cordis 配置可以自动挂载插件;
- 7 个工具可以完成注册;
- 工程检查结果可被智能体读取;
- diff 不会修改输出工程;
- apply 会执行 revision 与幂等校验;
- 非法路径会被拒绝;
- 操作取消信号能够传递给子进程;
- 输出工程可以重新检查;
- MP4 可以渲染并验证。
本地可以运行:
npm run check
TIMELINE_STUDIO_ROOT=/绝对路径/web_player npm run test:e2e
需要说明的是,DeepSeek Harness 当前仍处于 Developer Preview,后续版本可能产生破坏性兼容变更。
因此,我们将 Harness 适配层保持得尽量轻薄,把真正的视频编辑业务逻辑保留在 Timeline Studio 中。即使 Harness 接口发生变化,插件也只需要调整接入层,而不必重写整个编辑系统。
十一、插件与 Timeline Studio 的关系
dsh-timeline-studio-plugin 并不是 Timeline Studio 的替代品。
两者的职责分别是:
- Timeline Studio:核心视频编辑器,提供可视化时间线、媒体处理、浏览器本地 AI 能力和完整创作体验。
- dsh-timeline-studio-plugin:DeepSeek Harness 的智能体自动化接入层,让模型可以调用 Timeline Studio 的确定性工程能力。
如果你希望体验完整编辑器、查看产品界面或者参与视频能力开发,请访问 Timeline Studio 主仓库:
github.com/MartinDelophy/ai-video-editor
如果你正在研究 DeepSeek Harness 插件、Agent 工具协议或者智能体视频工作流,可以访问插件仓库:
github.com/MartinDelophy/dsh-timeline-studio-plugin
十二、下一步该做什么
我们希望继续补充以下能力:
- 更多 Timeline Studio 编辑命令;
- 更丰富的可验证渲染子集;
- 更细粒度的工程差异展示;
- Harness 新版本的兼容适配;
- 更多真实视频项目的端到端验证;
- 面向创作者的自然语言工作流示例。
如果你也在探索 Agent 与视频编辑器的结合,欢迎 Star、提交 Issue,或者参与插件与 Timeline Studio 的开发。
大模型不应该只负责“建议怎么剪”。
当意图理解、语义预演、事务写入、文件边界和渲染验证连接起来之后,它才开始真正具备操作专业创作工具的能力。