CommunityEscrita e Ediçãogithub.com

avalonreset/legends-obs-kit

Controle e prova orientados a agente, com proteções, para OBS Studio no Windows.

O que é legends-obs-kit?

O legends-obs-kit é um kit de habilidades especializado para agentes de IA (como Claude Code, Cursor ou Codex) que fornece controle seguro e verificável do OBS Studio no Windows. Baseado no OBS WebSocket v5 e complementado por FFprobe e logs do OBS, o kit permite que um agente inspecione o estado do OBS, gerencie gravações, troque perfis de codificação, realize auditorias de configuração e até mesmo opere um switcher de cena opcional baseado em painéis — tudo com um modelo de segurança rigoroso que exige planos antes de mutações, execução simulada por padrão e confirmação explícita para qualquer alteração real. A saída padrão é minimizada para privacidade, e o kit se recusa a expor senhas ou a declarar uma gravação como 'funcionando' sem um recibo de teste (canary) bem-sucedido. O kit inclui uma interface de linha de comando unificada (`lobs` ou `legends-obs-kit`) e é ideal para fluxos de trabalho onde um agente precisa orquestrar gravação, alternar configurações de hardware (como codecs NVENC AV1 ou HDR) e manter uma trilha de auditoria confiável das alterações.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add avalonreset/legends-obs-kit

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que legends-obs-kit faz?

Use a CLI fornecida como fonte da verdade. A espinha dorsal de execução é o OBS WebSocket v5; FFprobe e o log do OBS fornecem a prova da gravação.

Resolver e qualificar

Resolva o comando nesta ordem:

  1. Use lobs ou legends-obs-kit quando estiver disponível no PATH.
  2. Se esta skill estiver vinculada a um repositório ou a uma release extraída, suba dois diretórios a partir de SKILL.md e execute node <raiz>\dist\index.js.
  3. Em um checkout de desenvolvimento sem dist, execute pnpm dev -- a partir da raiz do repositório.

Se nenhum existir, informe ao usuário para instalar a release ou repositório completo. Não invente um backend de controle do OBS. Nos exemplos abaixo, lobs significa qualquer invocação resolvida que estiver disponível.

lobs doctor --pretty
lobs manifest --pretty
lobs agent:context --pretty
lobs audit:status --pretty

doctor impõe um bloqueio rígido (hard-gate) para controle autenticado do OBS local. Verificações de codificador, HDR, FFprobe, caminho de gravação e microfone são capacidades, a menos que a operação solicitada as exija. Se o FFprobe não estiver no PATH, defina LEGENDS_OBS_FFPROBE_PATH para seu executável.

Se a máquina não tiver um livro-razão (ledger), execute audit:capture --reason first-baseline. Se existir um livro-razão, execute audit:diff --against good; use --against latest até que o primeiro teste (canary) bem-sucedido crie um ponteiro de referência conhecido.

Roteamento por intenção

IntençãoComandos
Saúde e estado ativodoctor, status, record:status
Máquina, perfil, cenas e fontesinventory, profile:show
Ponto final de áudioaudio:status, audio:plan, audio:bind
Histórico de configurações e desviosaudit:status, audit:capture, audit:show, audit:diff, audit:verify
Alteração de perfilprofile:plan, profile:backup, profile:apply, profile:refresh, profile:rollback
Gravação localrecord:start, record:stop, record:canary
Evidênciaslogs:latest, receipts:list, receipts:verify
Troca de cena por painel (opcional)vision-switch:*

Leia references/command-map.md para o mapa compacto de comandos e segurança.

A saída padrão é minimizada para privacidade, adequada para uso por agente. inventory --full, audio:status --include-devices, documentos de auditoria e recibos locais podem incluir caminhos de máquina, nomes de fontes, IDs de endpoints, títulos de janelas e outros fatos da estação de trabalho; mantenha-os localmente, a menos que o usuário peça explicitamente para compartilhá-los.

Regras de mutação

  1. Leia o estado atual e produza um plano primeiro.
  2. Verifique se a gravação, transmissão, buffer de repetição e câmera virtual estão ociosos.
  3. Mantenha LEGENDS_OBS_DRY_RUN=true por padrão.
  4. Para uma gravação autorizada, defina-o como false, passe --confirm, execute uma mutação limitada e restaure a execução simulada em um bloco finally.
  5. Toda inspeção de perfil, plano, backup, aplicação ou atualização e todo record:canary exigem um --preset <id> explícito; presets fornecidos nunca são selecionados como recomendação ao usuário.
  6. A aplicação de perfil tira instantâneos antes de escrever, atualiza somente quando necessário e verifica a leitura exata de volta.
  7. Nunca imprima ou copie a senha do OBS WebSocket ou as credenciais do serviço OBS.
  8. Nunca chame uma gravação de FUNCIONA sem um recibo de teste (canary) bem-sucedido.
  9. Trate latest como o último observado, não comprovado. Apenas um canary bem-sucedido avança o last-known-good.
  10. Use --require-microphone somente quando a captura do microfone fizer parte dos critérios de aceitação do usuário.

Decisões de hardware

Não trate nenhum preset fornecido como universalmente correto. Inspecione os codificadores disponíveis, resolução/FPS atual, formato de cor, caminho de exibição, armazenamento, necessidades de áudio e plataforma alvo. Explique as compensações, execute profile:plan e deixe que o resultado solicitado pelo usuário selecione o preset.

O preset fornecido hdr-4k60-av1-hybrid-mp4 é uma referência testada para hardware NVIDIA capaz: 3840×2160/60, P010, Rec.2100 PQ, faixa limitada, Standard NVENC AV1, Hybrid MP4, CQP20 ou melhor, keyframes de dois segundos, passagem única e sem redimensionamento. Não é uma recomendação padrão para outros sistemas.

Troca de cena por visão opcional

O trocador determinístico de painel para cena está desarmado e em execução simulada por padrão. Forneça amostras de painel com --panel A|B|C|D ou defina LEGENDS_OBS_PANEL_SENSOR para um script PowerShell que emita a estrutura JSON documentada. Cortes ao vivo adicionalmente exigem um estado armado, saídas ociosas, LEGENDS_OBS_DRY_RUN=false e --confirm. O loop de corte nunca usa um LLM e nunca altera o modo de exibição do Windows.

Habilidades Relacionadas