# Openstoryline Use

Use this skill when OpenStoryline is already installed and the user wants to start the...

- Repository: https://github.com/FireRedTeam/FireRed-OpenStoryline (3606 stars)
- Category: AI and agents
- License: Apache-2.0
- Last updated: 2026-07-31
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-use -g -a claude-code -y`
Codex: `npx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-use -g -a codex -y`
Cursor: `npx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-use -g -a cursor -y`
Gemini CLI: `npx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-use -g -a gemini-cli -y`

## 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 剪视频”.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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 服务日志** 最适合看剪辑进度。  
常见正常流程节点包括：

The rest: https://github.com/FireRedTeam/FireRed-OpenStoryline/blob/HEAD/.claude/skills/openstoryline-use/SKILL.md
