📘 Khy-OS 文档站 🧭 新手先读:核心概念

cli-anything-obsstudio


name: "cli-anything-obs-studio"
description: >-
Command-line interface for Obs Studio - A stateful command-line interface for OBS Studio scene collection editing, following the same patter...


cli-anything-obs_studio#

A stateful command-line interface for OBS Studio scene collection editing, following the same patterns as the Blender CLI harness. Uses a JSON scene collection format. No OBS installation required for editing.

Installation#

This CLI is installed as part of the cli-anything-obs_studio package:

pip install cli-anything-obs_studio

Prerequisites:

  • Python 3.10+
  • obs_studio must be installed on your system

Usage#

Basic Commands#

# Show help
cli-anything-obs_studio --help

# Start interactive REPL mode
cli-anything-obs_studio

# Create a new project
cli-anything-obs_studio project new -o project.json

# Run with JSON output (for agent consumption)
cli-anything-obs_studio --json project info -p project.json

REPL Mode#

When invoked without a subcommand, the CLI enters an interactive REPL session:

cli-anything-obs_studio
# Enter commands interactively with tab-completion and history

Command Groups#

Project#

Project management commands.

CommandDescription
newCreate a new OBS scene collection
openOpen an existing project
saveSave the current project
infoShow project information
jsonPrint raw project JSON

Scene Group#

Scene management commands.

CommandDescription
addAdd a new scene
removeRemove a scene by index
duplicateDuplicate a scene
set-activeSet the active scene
listList all scenes

Source Group#

Source management commands.

CommandDescription
addAdd a source to a scene
removeRemove a source by index
duplicateDuplicate a source
setSet a source property (name, visible, locked, opacity, rotation)
transformTransform a source (position, size, crop, rotation)
listList all sources in a scene

Filter Group#

Filter management commands.

CommandDescription
addAdd a filter to a source
removeRemove a filter from a source
setSet a filter parameter
listList all filters on a source
list-availableList all available filter types

Audio Group#

Audio management commands.

CommandDescription
addAdd a global audio source
removeRemove a global audio source
volumeSet volume for an audio source (0.0-3.0)
muteMute an audio source
unmuteUnmute an audio source
monitorSet audio monitoring type
listList all audio sources

Transition Group#

Transition management commands.

CommandDescription
addAdd a transition
removeRemove a transition
set-activeSet the active transition
durationSet transition duration in milliseconds
listList all transitions

Output Group#

Output/streaming/recording configuration.

CommandDescription
streamingConfigure streaming settings
recordingConfigure recording settings
settingsConfigure output settings
infoShow current output configuration
presetsList available encoding presets

Session#

Session management commands.

CommandDescription
statusShow session status
undoUndo the last operation
redoRedo the last undone operation
historyShow undo history

Examples#

Create a New Project#

Create a new obs_studio project file.

cli-anything-obs_studio project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-obs_studio --json project new -o myproject.json

Interactive REPL Session#

Start an interactive session with undo/redo support.

cli-anything-obs_studio
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation

State Management#

The CLI maintains session state with:

  • Undo/Redo: Up to 50 levels of history
  • Project persistence: Save/load project state as JSON
  • Session tracking: Track modifications and changes

Output Formats#

All commands support dual output modes:

  • Human-readable (default): Tables, colors, formatted text
  • Machine-readable (--json flag): Structured JSON for agent consumption
# Human output
cli-anything-obs_studio project info -p project.json

# JSON output for agents
cli-anything-obs_studio --json project info -p project.json

For AI Agents#

When using this CLI programmatically:

  1. Always use --json flag for parseable output
  2. Check return codes - 0 for success, non-zero for errors
  3. Parse stderr for error messages on failure
  4. Use absolute paths for all file operations
  5. Verify outputs exist after export operations

More Information#

  • Full documentation: See README.md in the package
  • Test coverage: See TEST.md in the package
  • Methodology: See HARNESS.md in the cli-anything-plugin

Version#

1.0.0