CommunityRédaction et éditiongithub.com

avalonreset/legends-obs-kit

Contrôle agentif sécurisé et preuve d'enregistrement pour OBS Studio sur Windows.

Qu'est-ce que legends-obs-kit ?

Ce skill fournit une interface agent-first (agent-first) pour contrôler OBS Studio sur Windows via le protocole OBS WebSocket v5 et valider les enregistrements à l'aide de FFprobe et des logs OBS. Il permet à un agent IA d'inspecter l'état de santé d'OBS, de gérer les profils, les scènes et les sources, de démarrer/arrêter des enregistrements locaux, et de réaliser des audits de configuration avec preuves de bon fonctionnement (canary receipts). Le skill inclut un mécanisme de sécurité strict : les mutations sont bloquées par défaut (dry-run activé), chaque opération d'écriture nécessite une confirmation explicite (`--confirm`) et un désarmement du mode sec. Il est conçu pour fonctionner avec le CLI `lobs` (ou `legends-obs-kit`) disponible sur le PATH, ou via une exécution directe depuis le dépôt. Les presets matériels ne sont jamais recommandés automatiquement ; l'agent doit inspecter l'environnement et proposer un plan avant toute application. Un commutateur de scènes optionnel basé sur des panneaux déterministes (Vision Switcher) peut être activé via des variables d'environnement, mais reste désarmé par défaut et n'utilise jamais de LLM pour les décisions de coupe.

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

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait legends-obs-kit ?

Utilisez le CLI fourni comme source de vérité. L'épine dorsale d'exécution est OBS WebSocket v5 ; FFprobe et le log OBS fournissent la preuve d'enregistrement.

Résoudre et qualifier

Résolvez la commande dans cet ordre :

  1. Utilisez lobs ou legends-obs-kit lorsqu'il est disponible dans le PATH.
  2. Si ce skill est lié depuis un dépôt ou une release extraite, remontez de deux répertoires à partir de SKILL.md et exécutez node <racine>\dist\index.js.
  3. Dans un checkout développeur sans dist, exécutez pnpm dev -- depuis la racine du dépôt.

Si aucune de ces options n'existe, dites à l'utilisateur d'installer la release complète ou le dépôt. N'inventez pas de backend de contrôle OBS. Dans les exemples ci-dessous, lobs signifie l'invocation résolue disponible.

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

doctor verrouille l'accès au contrôle OBS local authentifié. Les vérifications d'encodeur, HDR, FFprobe, chemin d'enregistrement et microphone sont des capacités optionnelles, sauf si l'opération demandée les nécessite. Si FFprobe n'est pas dans le PATH, définissez LEGENDS_OBS_FFPROBE_PATH sur son exécutable.

Si la machine ne possède pas de registre (ledger), exécutez audit:capture --reason first-baseline. Si un registre existe, exécutez audit:diff --against good ; utilisez --against latest jusqu'à ce que le premier canary réussi crée un pointeur connu fiable.

Router par intention

IntentionCommandes
Santé et état en directdoctor, status, record:status
Machine, profil, scènes et sourcesinventory, profile:show
Point de terminaison audioaudio:status, audio:plan, audio:bind
Historique des réglages et dériveaudit:status, audit:capture, audit:show, audit:diff, audit:verify
Changement de profilprofile:plan, profile:backup, profile:apply, profile:refresh, profile:rollback
Enregistrement localrecord:start, record:stop, record:canary
Preuvelogs:latest, receipts:list, receipts:verify
Commutateur de scènes par panneaux (optionnel)vision-switch:*

Consultez references/command-map.md pour la carte compacte des commandes et de sécurité.

La sortie par défaut est minimisée en termes de confidentialité pour une utilisation par agent. inventory --full, audio:status --include-devices, les documents d'audit et les reçus locaux peuvent contenir des chemins machine, des noms de sources, des identifiants de points de terminaison, des titres de fenêtres et d'autres faits relatifs au poste de travail ; conservez-les en local sauf si l'utilisateur demande explicitement de les partager.

Règles de mutation

  1. Lisez d'abord l'état actuel et produisez un plan.
  2. Vérifiez que l'enregistrement, le streaming, le tampon de relecture et la caméra virtuelle sont inactifs.
  3. Gardez LEGENDS_OBS_DRY_RUN=true par défaut.
  4. Pour une écriture autorisée, définissez-le sur false, passez --confirm, effectuez une mutation bornée, et restaurez le mode dry-run dans un bloc finally.
  5. Chaque inspection de profil, plan, sauvegarde, application ou rafraîchissement et chaque record:canary nécessite un --preset <id> explicite ; les presets fournis ne sont jamais sélectionnés comme recommandation utilisateur.
  6. L'application de profil prend un instantané avant d'écrire, ne rafraîchit que lorsque nécessaire, et vérifie une relecture exacte.
  7. Ne jamais imprimer ou copier le mot de passe OBS WebSocket ou les identifiants du service OBS.
  8. Ne jamais qualifier un enregistrement de WORKS sans un reçu canary réussi.
  9. Traitez latest comme la dernière observation, non prouvée. Seul un canary réussi fait progresser last-known-good.
  10. Utilisez --require-microphone uniquement lorsque la capture microphone fait partie des critères d'acceptation de l'utilisateur.

Décisions matérielles

Ne traitez aucun preset fourni comme universellement correct. Inspectez les encodeurs disponibles, la résolution/taux d'images actuel, le format de couleur, le chemin d'affichage, le stockage, les besoins audio et la plateforme cible. Expliquez les compromis, exécutez profile:plan, et laissez le résultat demandé par l'utilisateur sélectionner le preset.

Le preset fourni hdr-4k60-av1-hybrid-mp4 est une référence testée pour du matériel NVIDIA capable : 3840×2160/60, P010, Rec.2100 PQ, plage limitée, Standard NVENC AV1, Hybrid MP4, CQP20 ou mieux, images clés de deux secondes, un seul passage et pas de redimensionnement. Ce n'est pas une recommandation par défaut pour d'autres systèmes.

Commutateur de scènes optionnel (Vision Switcher)

Le commutateur déterministe panneau-vers-scène est désarmé et en mode dry-run par défaut. Fournissez des échantillons de panneaux avec --panel A|B|C|D ou définissez LEGENDS_OBS_PANEL_SENSOR sur un script PowerShell qui émet la structure JSON documentée. Les coupures en direct nécessitent en plus un état armé, des sorties inactives, LEGENDS_OBS_DRY_RUN=false et --confirm. La boucle de coupure n'utilise jamais de LLM et ne modifie jamais le mode d'affichage de Windows.

Skills associés