openstoryline-install

Install, configure, and start FireRed-OpenStoryline from source on a local machine. Use when a user asks to set up OpenStoryline, troubleshoot installation, download required resources, fill config.toml API keys, or launch the MCP and web services, as well as Chinese requests like “安装 OpenStoryline”, “配置 OpenStoryline”, “启动 OpenStoryline”, “把 OpenStoryline 跑起来”, “修复 OpenStoryline 安装问题”, or “排查 OpenStoryline 启动失败”.

3,891 stars

Best use case

openstoryline-install is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Install, configure, and start FireRed-OpenStoryline from source on a local machine. Use when a user asks to set up OpenStoryline, troubleshoot installation, download required resources, fill config.toml API keys, or launch the MCP and web services, as well as Chinese requests like “安装 OpenStoryline”, “配置 OpenStoryline”, “启动 OpenStoryline”, “把 OpenStoryline 跑起来”, “修复 OpenStoryline 安装问题”, or “排查 OpenStoryline 启动失败”.

Teams using openstoryline-install should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/openstoryline-install/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/anlittledy/openstoryline-install/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/openstoryline-install/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How openstoryline-install Compares

Feature / Agentopenstoryline-installStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Install, configure, and start FireRed-OpenStoryline from source on a local machine. Use when a user asks to set up OpenStoryline, troubleshoot installation, download required resources, fill config.toml API keys, or launch the MCP and web services, as well as Chinese requests like “安装 OpenStoryline”, “配置 OpenStoryline”, “启动 OpenStoryline”, “把 OpenStoryline 跑起来”, “修复 OpenStoryline 安装问题”, or “排查 OpenStoryline 启动失败”.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# OpenStoryline Install

Use this skill when the task is to install or repair a local source checkout of FireRed-OpenStoryline.

Keep the workflow deterministic:

1. Confirm the repo path and read the current README.md and config.toml.
2. Detect local prerequisites before changing anything.
3. Prefer a local `venv` install unless the user explicitly asks for Docker or `conda`.
4. Download resources only after Python dependencies succeed.
5. Validate imports and config loading before claiming success.
6. This skill assumes macOS, Linux, or WSL with a POSIX shell.

## What This Skill Covers

- Clone the GitHub repo if needed
- Create a Python environment
- Install Python dependencies
- Download `.storyline` models and `resource/` assets
- Fill `config.toml` model settings
- Start MCP and web servers
- Explain common installation/documentation gaps

## Preconditions

Check these first:

- `git`
- Python `>= 3.11`
- `ffmpeg`
- `wget`
- `unzip`

Optional:

- `docker`
- `conda`

If `ffmpeg`, `wget`, or `unzip` are missing, install them through the OS package manager before continuing.

Examples:

- macOS with Homebrew:
  ```bash
  brew install ffmpeg wget unzip
  ```

- Debian/Ubuntu:
  ```bash
  sudo apt-get update
  sudo apt-get install -y ffmpeg wget unzip
  ```

If no supported package manager or permission is available, stop and report the missing system dependency clearly.

## Interpreter selection

First prefer any interpreter that already exists and passes version checks:

1. A system Python `>= 3.11`
2. An already available conda Python `>= 3.11`
3. An already available pyenv Python `>= 3.11`, but only if basic stdlib modules work

Validate candidate interpreters before using them:

```bash
/path/to/python -c "import ssl, sqlite3, venv; print('stdlib_ok')"
```

If no supported interpreter already exists, peferr conda fallback:

```bash
conda create -y -n openstoryline-py311 python=3.11
conda run -n openstoryline-py311 python --version
conda run -n openstoryline-py311 python -m venv .venv
```

After a supported interpreter is found, always create a repo-local .venv and continue using .venv/bin/python for install, config validation, and service startup.

Do not duplicate the rest of the workflow for pyenv or conda unless the user explicitly asks to stay inside a conda environment.

## Clone repository

If you don't have a local repository yet, clone the repository first.
```bash
git clone https://github.com/FireRedTeam/FireRed-OpenStoryline.git
cd FireRed-OpenStoryline
```

## Preferred Install Path

From the repo root:

```bash
/path/to/python -m venv .venv
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install -r requirements.txt
bash download.sh
```

Notes:

- `download.sh` pulls both model weights and a large resource archive. It can take a long time and may resume after network drops.
- The resource download is required for a full local run, not just the Python package install.

## Configuration

Before starting the app, update config.toml.

You can use scripts/update_config.py.

At minimum, fill:

```bash
.venv/bin/python scripts/update_config.py --config ./config.toml --set llm.model=REPLACE_WITH_REAL_MODEL
.venv/bin/python scripts/update_config.py --config ./config.toml --set llm.base_url=REPLACE_WITH_REAL_URL
.venv/bin/python scripts/update_config.py --config ./config.toml --set llm.api_key=sk-REPLACE_WITH_REAL_KEY

.venv/bin/python scripts/update_config.py --config ./config.toml --set vlm.model=REPLACE_WITH_REAL_MODEL
.venv/bin/python scripts/update_config.py --config ./config.toml --set vlm.base_url=REPLACE_WITH_REAL_URL
.venv/bin/python scripts/update_config.py --config ./config.toml --set vlm.api_key=sk-REPLACE_WITH_REAL_KEY
```

Optional but common:

- `search_media.pexels_api_key` for searching media
- TTS provider keys under `generate_voiceover.providers.*` (choose one provider)


## Verification

Run these checks before saying installation is complete:

```bash
.venv/bin/pip check
PYTHONPATH=src .venv/bin/python -c "from open_storyline.config import load_settings; load_settings('config.toml'); print('config_ok')"
```

Also confirm key resources exist:

```bash
test -f .storyline/models/transnetv2-pytorch-weights.pth
test -d resource/bgms
```

## Start Services

There are two common paths. These are long-running processes. Do not wait for them to exit normally. Treat successful startup log lines or confirmed listening ports as success, and keep the services running in separate shells/sessions as needed.

Manual start:

```bash
PYTHONPATH=src .venv/bin/python -m open_storyline.mcp.server
```

In a second shell:

```bash
PYTHONPATH=src .venv/bin/python -m uvicorn agent_fastapi:app --host 127.0.0.1 --port 8005
```

## Expected Outputs

After a successful install:

- `.venv/` exists
- MCP listens on the configured local port (commonly `127.0.0.1:8001`)
- Web listens on the configured web port (commonly `127.0.0.1:8005`, though `run.sh` defaults may differ)

## Common Problems

### `download.sh` is slow or interrupted

Symptom:

- Large downloads stall or reconnect

Fix:

- Let `wget` continue; it supports resume behavior here
- Verify extracted outputs instead of trusting the progress meter

### Web/MCP server fails to bind

Symptom:

- `operation not permitted` while binding `127.0.0.1` or `0.0.0.0`

Fix:

- In agent sandboxes, request permission to open local listening ports
- Prefer `127.0.0.1` over `0.0.0.0` unless external access is required

## Response Pattern

When reporting status to the user, separate:

- what is installed
- what is still downloading
- what config is still missing
- what address the service is listening on

Do not say "installation complete" if only the Python packages are installed but the resource bundle is still missing.

Related Skills

skill-safe-install-l0-strict

3891
from openclaw/skills

Strict secure-install workflow for ClawHub/OpenClaw skills. Use when asked to install a skill safely, inspect skill permissions, review third-party skill risk, or run a pre-install security audit. Enforce full review + sandbox + explicit consent gates, with no author-based trust bypass.

Security

remote-install

3891
from openclaw/skills

Remote software installation via automated installer detection and GUI automation. Use when: user needs to install software packages (.exe/.msi) on Windows machines, automate Office/Adobe/Chrome installations, or handle unattended software deployment. NOT for: Linux/macOS installations, package manager installs (apt/yum/brew), or containerized deployments.

linux-installer

3891
from openclaw/skills

Installs, launches, and uninstalls Linux desktop apps by resolving the safest supported source first, then running a local helper CLI. Use when the user asks to install software like GIMP, Notepad++, or other desktop apps on Linux and wants the install command plus the command to launch or remove it.

gate-mcp-installer

3891
from openclaw/skills

One-click installer and configurator for Gate MCP (mcporter) in OpenClaw. Use when the user wants to (1) Install mcporter CLI tool, (2) Configure Gate MCP server connection, (3) Verify Gate MCP setup, or (4) Troubleshoot Gate MCP connectivity issues.

OpenClaw Install Guide (WSL2 Windows)

3891
from openclaw/skills

Complete step-by-step installation guide for OpenClaw on Windows 10/11 with WSL2, includes common pitfalls and solutions from real installation experience.

install-founderclaw

3891
from openclaw/skills

Install FounderClaw — a complete multi-agent system for OpenClaw. Adds 6 agents, 29 skills, creates communication channels, configures models. Interactive setup. Requires user input for model selection and channel setup. Triggered by: "install founderclaw", "setup founderclaw", "get founderclaw".

openstoryline-use

3891
from openclaw/skills

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

install-then-update-trap-detector

3891
from openclaw/skills

Helps detect the install-then-update attack pattern — where a skill passes initial security review cleanly, then silently introduces malicious behavior through an automatic update that bypasses re-audit. v1.1 adds cryptographic chain-of-custody verification for update sequences.

clawhub-quarantine-installer

3891
from openclaw/skills

Instala e audita skills do ClawHub em um ambiente de quarentena isolado para análise de segurança, permitindo revisar riscos antes de promover para produção. Use esta skill para testar habilidades de terceiros que o ClawHub sinaliza como suspeitas, investigar suas dependências e comportamento, e gerar relatórios de auditoria básicos.

openclaw-workspace-governance-installer

3891
from openclaw/skills

Install OpenClaw WORKSPACE_GOVERNANCE in minutes. Get guided setup, upgrade checks, migration, and audit for long-running workspaces.

structsd-install

3891
from openclaw/skills

Installs the structsd binary from source. Covers Go, Ignite CLI, and building structsd for Linux and macOS. Use when structsd is not found, when setting up a new machine, or when the agent needs to install or update the Structs chain binary.

skill-install-checker

3891
from openclaw/skills

安装前验证二进制、环境变量、配置、OS 与 sandbox 条件,解释为什么此机不适合装。;use for skills, install, preflight workflows;do not use for 假装依赖已经满足, 直接修改系统环境.