cli-anything-obs_studio
一个用于 OBS Studio 场景集合编辑的状态化命令行界面,遵循与 Blender CLI 相同的模式。使用 JSON 场景集合格式,无需安装 OBS 即可编辑。
安装
本 CLI 作为 cli-anything-obs_studio 包的一部分安装:
pip install cli-anything-obs_studio
先决条件:
- Python 3.10+
- 系统上必须安装 obs_studio
用法
基本命令
# 显示帮助
cli-anything-obs_studio --help
# 启动交互式 REPL 模式
cli-anything-obs_studio
# 创建新项目
cli-anything-obs_studio project new -o project.json
# 以 JSON 输出运行(供代理消费)
cli-anything-obs_studio --json project info -p project.json
REPL 模式
当不带子命令调用时,CLI 会进入交互式 REPL 会话:
cli-anything-obs_studio
# 通过制表符补全和历史记录,以交互方式输入命令
命令组
项目
项目管理命令。
| 命令 | 描述 |
|---|---|
new | 创建新的 OBS 场景集合 |
open | 打开现有项目 |
save | 保存当前项目 |
info | 显示项目信息 |
json | 打印原始项目 JSON |
场景组
场景管理命令。
| 命令 | 描述 |
|---|---|
add | 添加新场景 |
remove | 按索引移除场景 |
duplicate | 复制场景 |
set-active | 设置活动场景 |
list | 列出所有场景 |
源组
源管理命令。
| 命令 | 描述 |
|---|---|
add | 向场景添加源 |
remove | 按索引移除源 |
duplicate | 复制源 |
set | 设置源属性(名称、可见性、锁定、不透明度、旋转) |
transform | 变换源(位置、大小、裁剪、旋转) |
list | 列出场景中的所有源 |
滤镜组
滤镜管理命令。
| 命令 | 描述 |
|---|---|
add | 向源添加滤镜 |
remove | 移除源上的滤镜 |
set | 设置滤镜参数 |
list | 列出源上的所有滤镜 |
list-available | 列出所有可用的滤镜类型 |
音频组
音频管理命令。
| 命令 | 描述 |
|---|---|
add | 添加全局音频源 |
remove | 移除全局音频源 |
volume | 设置音频源音量(0.0-3.0) |
mute | 静音音频源 |
unmute | 取消静音音频源 |
monitor | 设置音频监控类型 |
list | 列出所有音频源 |
过渡组
过渡管理命令。
| 命令 | 描述 |
|---|---|
add | 添加过渡 |
remove | 移除过渡 |
set-active | 设置活动过渡 |
duration | 设置过渡持续时间(毫秒) |
list | 列出所有过渡 |
输出组
输出/推流/录制配置。
| 命令 | 描述 |
|---|---|
streaming | 配置推流设置 |
recording | 配置录制设置 |
settings | 配置输出设置 |
info | 显示当前输出配置 |
presets | 列出可用的编码预设 |
会话
会话管理命令。
| 命令 | 描述 |
|---|---|
status | 显示会话状态 |
undo | 撤销上一次操作 |
redo | 重做上一次撤销的操作 |
history | 显示撤销历史 |
示例
创建新项目
创建一个新的 obs_studio 项目文件。
cli-anything-obs_studio project new -o myproject.json
# 或者使用 JSON 输出以用于编程方式
cli-anything-obs_studio --json project new -o myproject.json
交互式 REPL 会话
启动一个支持撤销/重做的交互式会话。
cli-anything-obs_studio
# 以交互方式输入命令
# 使用 'help' 查看可用命令
# 使用 'undo' 和 'redo' 进行历史导航
状态管理
CLI 维护会话状态并提供:
- 撤销/重做:最多 50 级历史记录
- 项目持久化:以 JSON 形式保存/加载项目状态
- 会话跟踪:跟踪修改和更改
输出格式
所有命令支持两种输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(
--json标志):供代理消费的结构化 JSON
# 人类输出
cli-anything-obs_studio project info -p project.json
# 代理的 JSON 输出
cli-anything-obs_studio --json project info -p project.json
针对 AI 代理
当以编程方式使用此 CLI 时:
- 始终使用
--json标志 以获得可解析的输出 - 检查返回码 - 0 表示成功,非零表示错误
- 解析 stderr 以获取失败时的错误消息
- 对文件操作使用绝对路径
- 导出操作后验证输出是否存在
更多信息
- 完整文档:查看软件包中的 README.md
- 测试覆盖率:查看软件包中的 TEST.md
- 方法论:查看 cli-anything-plugin 中的 HARNESS.md
版本
1.0.0