Token导航 LogoToken导航TokenDH.com
研究检索external-serviceclawhub未标认证来源可访问clear审计提醒

openstoryline-use开放故事情节的使用

Agent Skill

openstoryline-use 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

20,742

周安装

891

GitHub Stars

公开资料未说明

下载量

7,271
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:openstoryline-use(开放故事情节的使用)
来源仓库:https://github.com/anlittledy/openstoryline-use
安装命令:
openclaw skills install openstoryline-use
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install openstoryline-use

简介

启动本地 MCP/Web 服务并管理 OpenStoryline 会话编辑操作。

  • 支持创建新剧情或继续已有故事线,发送文本修改指令。
  • 需先完成安装流程并确保服务端口未被占用。
  • 编辑历史建议本地备份,防止意外中断导致内容丢失。
  • 安装命令:openclaw skills install 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

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

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

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

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

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

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:app --host 127.0.0.1 --port 8005

出现以下日志即成功:

INFO:     Started server process [PID]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8005 (Press CTRL+C to quit)

4) 创建剪辑会话

注意把地址替换为上一步启动 Web 服务时的真实地址。

curl -s -X POST "http://127.0.0.1:8005/api/sessions"

这一步会创建一个剪辑会话,拿到一个session_id非常重要!只要 Web 服务还活着,你就可以拿着这个session_id进行上传素材、多轮对话,务必保留。

5) 上传素材

方案1:

curl -s -X POST "http://127.0.0.1:8005/api/sessions/{session_id}/media" -F "files=@/absolute/path/input.mp4"

方案2:对于大文件,建议直接走本地copy

cp path/to/source.mp4 <repo-root>/outputs/{session_id}/media

6) 开始剪辑对话(自动创建 session)

使用 Skill 自带 bridge 脚本. - skills-root: 当前 skill 所在目录。 - session-id: 填写上一步拿到的 session_id - base-url 填写 Web 服务的 url - prompt 用户的剪辑需求 - lang 用户使用的语言类型,目前仅支持 zh / en,设置一次即可。

cd <repo-root> && source .venv/bin/activate && python <skills-root>/scripts/bridge_openstoryline.py \
  --session-id <session_id> \
  --base-url http://127.0.0.1:8005 \
  --prompt "剪一个小红书风格视频" \
  --lang "zh"

7) 等待并观察剪辑进度

有时剪辑Agent会先询问剪辑需求;有时会直接开始剪辑,剪辑可能需要几分钟,尤其是带文案、配音、渲染时。

正确做法

  1. 持续 poll 当前 bridge 脚本对应的进程会话。
  2. 同时查看 Web 服务日志。剪辑 Agent 会实时更新自己的进度。
  3. 只要 Web 服务日志仍在推进,就继续等待,不要随便重启服务。

实战经验

如果 bridge 命令还没返回,但 Web 服务日志里已经在跑节点,这通常说明服务端仍在正常工作,不要误判为失败。


8) 第二轮:在同一个 session 上继续聊天

根据助手回复,继续向它发出剪辑要求。例如,助手制定了一个剪辑计划,请求确认。那么:

cd <repo-root> && source .venv/bin/activate && python <skills-root>/scripts/bridge_openstoryline.py \
  --base-url http://127.0.0.1:8005 \
  --session-id <上一步session_id> \
  --prompt "开始剪辑"

或者需要调整:

cd <repo-root> && source .venv/bin/activate && python <skills-root>/scripts/bridge_openstoryline.py \
  --base-url http://127.0.0.1:8005 \
  --session-id <上一步session_id> \
  --prompt "使用欢快的BGM"

9) 检查首轮产物

一般来说,剪辑agent的输出会直接写出剪辑产物的路径。 如果没有,优先检查:

cd <repo-root> && find .storyline/.server_cache/<session_id> -name "output_*.mp4" 2>/dev/null

判定标准

output_*.mp4 即认为剪辑成功。

10) 发送视频

将生成的视频发送给用户观看,询问用户反馈。

OpenClaw + 飞书 APP 场景视频发送指南

如果你是 OpenClaw 且用户使用手机飞书 APP,使用如下专属指南。要求:

  • Python 3.6+
  • 已安装 requests
  python3 -m pip install requests
  • OpenClaw 已配置飞书渠道

运行脚本示例如下,此脚本会自动从 ~/.openclaw/openclaw.json 读取飞书凭证。 receive-id 的选择

  • oc_xxx -> chat_id:发到群聊或当前单聊会话,优先推荐
  • ou_xxx -> open_id:发给指定用户
  • on_xxx -> user_id:仅当明确拿到的是 user_id 时再使用
cd <repo-root> && source .venv/bin/activate && python <skills-root>/scripts/feishu_file_sender.py --help
cd <repo-root> && source .venv/bin/activate && python <skills-root>/scripts/feishu_file_sender.py --file /absolute/path/to/video.mp4 --receive-id-type chat_id --receive-id oc_xxx

11) 二次编辑

在已经生成视频的情况下,如果用户对视频内容不满意,可以复用同一个 session_id 继续修改视频,并生成新的 output_*.mp4

示例:修改文案风格

cd <repo-root> && source .venv/bin/activate && python <skills-root>/scripts/bridge_openstoryline.py \
  --base-url http://127.0.0.1:8005 \
  --session-id <session_id> \
  --prompt "帮我把文案换成更欢乐、更有活力的风格"
  • 同一个 session_id 下,系统会重新跑相应节点,然后重新渲染.
  • 同一个 session_id 下会出现新的 render_video_* 目录。
  • 新目录里会生成新的 output_*.mp4

Security Note

只有当用户明确要求手机 / LAN 访问时,才改为 --host 0.0.0.0。 同时提醒:仅在可信网络使用,避免开放到公共网络。

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

94.25%
按下载量换算6,853

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills