Skip to content
Content
Skill

/openstoryline-use

Use this skill when OpenStoryline is already installed and the user wants to start the local MCP/Web services, create or continue a session, send editing instructions, perform multi-turn re-editing, and verify rendered video outputs, as well as Chinese requests like “启动

From plugin
firered-openstoryline
3.2k2 skills
Install
$ npx -y skills add fireredteam/firered-openstoryline --skill openstoryline-use --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/openstoryline-use

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use this skill when OpenStoryline is already installed and the user wants to start the local MCP/Web services, create or continue a session, send editing instructions, perform multi-turn re-editing, and verify rendered video outputs, as well as Chinese requests like “启动

SKILL.md

openstoryline-use.SKILL.md
name: openstoryline-use
description: Use this skill when OpenStoryline is already installed and the user wants to start the local MCP/Web services, create or continue a session, send editing instructions, perform multi-turn re-editing, and verify rendered video outputs, as well as Chinese requests like “启动 OpenStoryline”, “把 OpenStoryline 跑起来”, “用 OpenStoryline 剪视频”.

OpenStoryline Usage Skill

你负责在“已安装完成”的前提下,执行 OpenStoryline 的实际剪辑流程。 OpenStoryline 是一个剪辑 Agent,用户可使用自己的素材,通过自然语言对话的方式剪辑视频。内置素材搜索、内容理解、生成字幕、文字转语音等功能,用户可以多次提出具体的剪辑/修改意见。

目标是:使用已有脚本,稳定地完成一次从启动服务到产出视频的闭环;并且支持在同一个 `session_id` 上继续对话、二次编辑、重新生成新视频。

Scope

此技能只处理“使用与剪辑”:

1. 检查并修改 `config.toml` 的必要字段。 2. 启动 MCP server。 3. 启动 `uvicorn agent_fastapi:app`。 4. 创建 session 并发送剪辑请求。 5. 等待并验证输出视频产物。 6. 在同一个 `session_id` 上继续对话,执行二次编辑。 7. 验证二次编辑后是否生成了新的 `output_*.mp4`。

不处理完整安装流程(依赖安装、模型下载、资源下载等),那是安装技能的范围。如果在启动时遇到问题,怀疑是安装问题,再去查看安装Skill openstoryline-install

Core Rules

1. 默认只监听 `127.0.0.1`,不要主动暴露到局域网。 2. 优先复用现有脚本,不要重复造轮子:

  • 修改配置脚本:位于代码仓库`scripts/update_config.py`
  • Web 服务桥接脚本位于当前 skill 目录下的 `scripts/bridge_openstoryline.py`。请先定位当前 skill 目录,再拼接`scripts/bridge_openstoryline.py`

3. 长驻服务(MCP / Web)必须按“长驻进程”方式启动,并持续观察日志;不要把启动命令当成一次性探测命令。 4. **不要**在启动命令后面追加这些包装:

  • `| head`
  • `| tail`
  • `grep`
  • `timeout`
  • `sleep`
  • `pkill`
  • 以及其它会截断日志、提前退出、强行杀进程的包装

5. 询问用户需要剪辑哪些素材及其路径。 6. 第一轮创建 session 后返回的 `session_id` 必须保存;后续继续对话、二次编辑都依赖它。 7. 如果服务端提示“上一条消息尚未完成,请稍后再发送”,不要新建 session;优先等待,必要时只终止卡住的本地 bridge 进程,然后继续复用原 `session_id` 重试。 8. 不要在任务执行中途主动终止 MCP / Web 服务,除非用户明确要求停止,或者服务本身已经确认失活。 9. 每次完成任务后,都要向用户明确返回:

  • `session_id`
  • 最终视频 `.mp4` 的完整路径
  • 如有二次编辑,还要说明是否生成了新的输出文件

10. 下面的示例命令都使用`source .venv/bin/activate`作为示例,你需要根据用户实际使用的环境,替换成正确的命令(例如`conda activate `)。 11. 遇到端口被占用的情况,优先换一个端口。

OpenClaw Execution Strategy (Important)

如果你是OpenClaw,一定注意以下关键点:

长驻服务怎么跑

对于以下两类命令:

  • `PYTHONPATH=src python -m open_storyline.mcp.server`
  • `uvicorn agent_fastapi:app --host 127.0.0.1 --port 8005`

必须按“长驻进程”处理:

1. 用 `exec` 启动,并开启 PTY(如果工具支持 `pty: true`,就开启)。 2. 启动后不要立刻判失败,MCP Server启动需要几分钟的时间。 3. 用 `process poll` / `process log` 持续观察返回的内容,一定不要急着杀掉进程。 4. 看到成功日志再继续下一步。

一次性命令怎么跑

以下命令适合普通一次性 `exec`:

  • 修改 `config.toml`
  • 创建 session
  • 在现有 `session_id` 上继续对话
  • 查找 `.mp4`
  • 查看文件大小

观察哪个日志最有用

实测中,**Web 服务日志** 最适合看剪辑进度。 常见正常流程节点包括:

  • `filter_clips`
  • `group_clips`
  • `generate_script`
  • `generate_voiceover`
  • `render_video`

如果 bridge 脚本还在等待,不代表系统没在工作;可能只是服务端还在处理。

Standard Workflow (OpenClaw)

0) 确认仓库根目录

后续命令中的 `<repo-root>` 指向 OpenStoryline 仓库根目录,例如:

/Users/yourname/Desktop/code/Openstoryline/FireRed-Openstoryline

所有命令都默认在这个目录下执行,并先激活环境。

---

1) 进入项目根目录并配置

必填配置

在开始剪辑前,以下 6 个字段必须有值,否则模型调用会失败。你必须先向用户询问这些字段的具体值,然后用脚本进行修改:

  • `[llm].model`
  • `[llm].base_url`
  • `[llm].api_key`
  • `[vlm].model`
  • `[vlm].base_url`
  • `[vlm].api_key`

直接可用命令(在仓库根目录执行,以.venv为例):

cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set llm.model=REPLACE_WITH_REAL_MODEL
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set llm.base_url=REPLACE_WITH_REAL_URL
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set llm.api_key=sk-REPLACE_WITH_REAL_KEY

cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set vlm.model=REPLACE_WITH_REAL_MODEL
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set vlm.base_url=REPLACE_WITH_REAL_URL
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set vlm.api_key=sk-REPLACE_WITH_REAL_KEY

选填配置

以下是常见可选项,按需设置:

1. MCP 端口(端口冲突时)

cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set local_mcp_server.port=8002

2. 素材检索(Pexels)

cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set search_media.pexels_api_key=REPLACE_WITH_PEXELS_KEY

3. TTS(如果需要配音)

在以下 3 家中选一家填写即可:

# minimax
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set generate_voiceover.providers.minimax.base_url=https://api.minimax.chat/v1/t2a_v2
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set generate_voiceover.providers.minimax.api_key=REPLACE_WITH_MINIMAX_KEY

# bytedance
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set generate_voiceover.providers.bytedance.uid=REPLACE_UID
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set generate_voiceover.providers.bytedance.appid=REPLACE_APPID
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set generate_voiceover.providers.bytedance.access_token=REPLACE_ACCESS_TOKEN

# 302
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set generate_voiceover.providers.302.base_url=https://REPLACE_BASE_URL
cd <repo-root> && source .venv/bin/activate && python scripts/update_config.py --config ./config.toml --set generate_voiceover.providers.302.api_key=REPLACE_API_KEY

---

2) 启动 MCP Server

注意 MCP Server 的启动可能需要几分钟,务必耐心等待,不要急着 kill 掉进程。 macOS/Linux:

cd <repo-root> && source .venv/bin/activate && PYTHONPATH=src python -m open_storyline.mcp.server

Windows:

cd <repo-root>
. .venv\Scripts\Activate.ps1
$env:PYTHONPATH="src"
python -m open_storyline.mcp.server

看到类似以下日志,视为成功:

Uvicorn running on http://127.0.0.1:8001

---

3) 启动 Web 服务(uvicorn)

macOS/Linux:

cd <repo-root> && source .venv/bin/activate && uvicorn agent_fastapi:a
Read more
Ships withfirered-openstoryline

FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language interaction, LLM-powered planning, and precise tool orchestration. It facilitates transparent, human-in-the-loop creation with reusable Style Skills for consistent, professional storytelling.

Get the whole plugin
Stats
3,203
Stars
376
Forks
Active
Maintenance
Python
Language
Apache-2.0
License
10d ago
Last commit
6mo ago
Created

Repo: fireredteam/firered-openstoryline