Communitygithub.com

cli-anything-blender

Une interface en ligne de commande (CLI) avec état pour l'édition de scènes 3D via Blender, utilisant un format JSON de description de scène et la génération de scripts bpy.

Qu'est-ce que cli-anything-blender ?

cli-anything-blender est une CLI avec état conçue pour l'édition de scènes 3D, fonctionnant comme un pendant à la CLI GIMP. Elle permet de créer, ouvrir, sauvegarder et manipuler des scènes Blender via des commandes structurées en JSON, avec génération automatique de scripts bpy. L'outil supporte la gestion des objets 3D, des matériaux, des modificateurs, des caméras, des lumières, des animations, des rendus, des prévisualisations en direct, et des sessions annulables. Particulièrement utile pour les agents IA, il offre un mode de sortie JSON pour une consommation automatisée, et une fonctionnalité de prévisualisation (capture unique ou session live) pour vérifier visuellement l'état de la scène. Il est multiplateforme (fonctionne avec Blender 4.2+), et est distribué via pip (Python 3.10+).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-blender

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 cli-anything-blender ?

Une interface en ligne de commande (CLI) avec état pour l'édition de scènes 3D, suivant les mêmes modèles que la CLI GIMP. Utilise un format de description de scène JSON avec génération de script bpy pour le rendu Blender.

Installation

Cette CLI est installée dans le cadre du paquet cli-anything-blender :

pip install cli-anything-blender

Prérequis :

  • Python 3.10+
  • Blender (>= 4.2) doit être installé sur votre système

Utilisation

Commandes de base

# Afficher l'aide
cli-anything-blender --help

# Démarrer le mode REPL interactif
cli-anything-blender

# Créer un nouveau projet de scène
cli-anything-blender scene new -o scene.blend-cli.json

# Exécuter avec sortie JSON (pour consommation par agent)
cli-anything-blender --json --project scene.blend-cli.json scene info

Mode REPL

Lorsqu'elle est invoquée sans sous-commande, la CLI entre dans une session REPL interactive :

cli-anything-blender
# Saisir les commandes de manière interactive avec complétion par tabulation et historique

Groupes de commandes

Scène

Commandes de gestion de scène.

CommandeDescription
newCréer une nouvelle scène
openOuvrir une scène existante
saveSauvegarder la scène courante
infoAfficher les informations de la scène
profilesLister les profils de scène disponibles
jsonAfficher le JSON brut de la scène

Groupe Objet

Commandes de gestion des objets 3D.

CommandeDescription
addAjouter un objet primitif 3D
removeSupprimer un objet par son index
duplicateDupliquer un objet
transformTransformer un objet (translation, rotation, mise à l'échelle)
setDéfinir une propriété d'objet (nom, visibilité, position, rotation, échelle, parent)
listLister tous les objets
getObtenir des informations détaillées sur un objet

Matériau

Commandes de gestion des matériaux.

CommandeDescription
createCréer un nouveau matériau
assignAssigner un matériau à un objet
setDéfinir une propriété de matériau (couleur, métallique, rugosité, spéculaire, alpha, etc.)
listLister tous les matériaux
getObtenir des informations détaillées sur un matériau

Groupe Modificateur

Commandes de gestion des modificateurs.

CommandeDescription
list-availableLister tous les modificateurs disponibles
infoAfficher les détails d'un modificateur
addAjouter un modificateur à un objet
removeSupprimer un modificateur par son index
setDéfinir un paramètre de modificateur
listLister les modificateurs d'un objet

Caméra

Commandes de gestion des caméras.

CommandeDescription
addAjouter une caméra à la scène
setDéfinir une propriété de caméra
set-activeDéfinir la caméra active
listLister toutes les caméras

Lumière

Commandes de gestion des lumières.

CommandeDescription
addAjouter une lumière à la scène
setDéfinir une propriété de lumière
listLister toutes les lumières

Animation

Commandes d'animation et d'images clés.

CommandeDescription
keyframeDéfinir une image clé sur un objet
remove-keyframeSupprimer une image clé d'un objet
frame-rangeDéfinir la plage d'images de l'animation
fpsDéfinir les FPS de l'animation
list-keyframesLister les images clés d'un objet

Groupe Rendu

Commandes de paramètres de rendu et de sortie.

CommandeDescription
settingsConfigurer les paramètres de rendu
infoAfficher les paramètres de rendu courants
presetsLister les préréglages de rendu disponibles
executeEffectuer le rendu de la scène (génère un script bpy)
scriptGénérer le script bpy sans effectuer le rendu

Aperçu

Commandes de capture d'aperçu en temps réel et de session d'aperçu en direct.

CommandeDescription
preview recipesLister les recettes d'aperçu disponibles
preview captureEffectuer le rendu d'un lot d'aperçus pour la scène active
preview latestRetourner le dernier lot d'aperçus existant
preview live startDémarrer une session d'aperçu en direct et publier le premier lot
preview live pushPublier un lot actualisé dans la session en direct
preview live statusLire l'état actuel de la session en direct sans effectuer de rendu
preview live stopArrêter la session en direct sans supprimer les artefacts

Artefacts typiques du lot pour la recette quick :

  • hero.png issu du rendu d'aperçu réel Eevee
  • workbench.png issu du rendu réel Blender Workbench

Les sessions en direct persistent :

  • session.json en tant qu'état mutable de la session
  • des répertoires de lots immuables
  • trajectory.json comme historique d'ajout aux commandes et aux aperçus

Côté visualisation :

  • cli-hub previews inspect <lot-ou-session>
  • cli-hub previews html <lot-ou-session> -o page.html
  • cli-hub previews watch <répertoire-de-session> --open
  • cli-hub previews open <lot-ou-session>

Session

Commandes de gestion de session.

CommandeDescription
statusAfficher l'état de la session
undoAnnuler la dernière opération
redoRétablir la dernière opération annulée
historyAfficher l'historique des annulations

Exemples

Créer un nouveau projet

Créer un nouveau fichier de projet de scène Blender.

cli-anything-blender scene new -o monscene.blend-cli.json
# Ou avec sortie JSON pour une utilisation programmatique
cli-anything-blender --json scene new -o monscene.blend-cli.json

Session REPL interactive

Démarrer une session interactive avec support d'annulation/rétablissement.

cli-anything-blender
# Saisir les commandes de manière interactive
# Utiliser 'help' pour voir les commandes disponibles
# Utiliser 'undo' et 'redo' pour la navigation dans l'historique

Gestion d'état

La CLI maintient l'état de la session avec :

  • Annulation/Rétablissement : Jusqu'à 50 niveaux d'historique
  • Persistance du projet : Sauvegarder/charger l'état du projet au format JSON
  • Suivi de session : Suivre les modifications et les changements

Formats de sortie

Toutes les commandes prennent en charge deux modes de sortie :

  • Lisible par l'humain (par défaut) : Tableaux, couleurs, texte formaté
  • Lisible par la machine (drapeau --json) : JSON structuré pour consommation par un agent
# Sortie humaine
cli-anything-blender --project scene.blend-cli.json scene info

# Sortie JSON pour les agents
cli-anything-blender --json --project scene.blend-cli.json scene info

Flux de travail avec aperçu

Utilisez les aperçus Blender lorsque l'agent a besoin de points de contrôle visuels fiables :

# Lister les recettes d'aperçu
cli-anything-blender --project scene.blend-cli.json preview recipes

# Capturer un lot d'aperçus réel
cli-anything-blender --json --project scene.blend-cli.json preview capture --recipe quick

# Démarrer une boucle d'aperçu en direct
cli-anything-blender --json --project scene.blend-cli.json preview live start --recipe quick --mode poll --source-poll-ms 500

# Interroger l'état actuel de la session en direct sans effectuer de rendu
cli-anything-blender --json --project scene.blend-cli.json preview live status --recipe quick

Pour les agents, preview capture --json retourne les métadonnées du lot ainsi que les chemins des fichiers artefacts. preview live status --json retourne les métadonnées de session ainsi qu'un trajectory_summary compact.

Pour les agents IA

Lors de l'utilisation de cette CLI de manière programmatique :

  1. Utilisez toujours le drapeau --json pour une sortie interprétable
  2. Vérifiez les codes de retour - 0 pour succès, non nul pour les erreurs
  3. Analysez stderr pour les messages d'erreur en cas d'échec
  4. OBLIGATOIRE : Utilisez des chemins absolus pour toutes les opérations sur fichiers (rendu, fichiers de projet). Les chemins relatifs sont sujets à des échecs en exécution en arrière-plan.
  5. Utilisez preview capture ou preview live ... pour la vérification visuelle au lieu de déduire la qualité de la scène à partir du seul JSON
  6. Lisez les chemins d'artefacts retournés tels que hero.png et workbench.png ; la charge utile JSON référence les fichiers, elle n'incorpore pas d'octets d'image
  7. Considérez _bundle_dir comme un seul instantané ; pour un historique en direct stable, utilisez _session_dir plus _trajectory_path
  8. Utilisez cli-hub previews ... uniquement pour inspecter/ouvrir des aperçus existants ; la génération d'aperçus se fait toujours via cli-anything-blender preview ...

Plus d'informations

  • Documentation complète : Voir README.md dans le paquet
  • Couverture de tests : Voir TEST.md dans le paquet
  • Méthodologie : Voir HARNESS.md dans le paquet cli-anything-plugin

Version

1.0.0

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

cli-anything-inkscape

>-

Skills associés