9.0 KiB
ComfyUI-Doctor
繁中 | 简中 | 日本語 | 한국어 | Deutsch | Français | Italiano | Español | English |
ComfyUI-Doctor est un assistant de diagnostic et de débogage en temps réel pour ComfyUI. Il capture les erreurs d'exécution, identifie le contexte de node le plus probable, affiche des suggestions locales actionnables et peut utiliser en option un workflow de chat LLM pour un dépannage plus approfondi.
Dernières mises à jour
Les dernières mises à jour sont maintenues dans le README anglais. Consultez Latest Updates.
Fonctionnalités principales
- Capture en temps réel des sorties console/error de ComfyUI dès le démarrage.
- Suggestions intégrées à partir de 58 patterns d'erreur JSON, dont 22 core patterns et 36 community-extension patterns.
- Extraction validée du contexte de node pour les erreurs récentes d'exécution de workflow lorsque ComfyUI fournit suffisamment de données d'événement.
- Les validation errors imbriquées éligibles peuvent être affichées sur le subgraph externe à partir de données graph publiques, tout en conservant leur provenance.
- Les diagnostics de model assets utilisent en priorité le live model registry de ComfyUI et analysent les subgraphs imbriqués et extensions personnalisées avec des limites strictes.
- Les chemins de modèle sont protégés par real-path containment ; les valeurs
AuthorizationetX-API-Keysont toujours masquées. - Les Doctor settings désactivent la host setting-change telemetry ; la Desktop runtime identity et la private state storage source sont déterminées séparément.
- Sidebar Doctor avec les onglets Chat, Statistics et Settings.
- Analyse LLM optionnelle via OpenAI-compatible services, Anthropic, Gemini, xAI, OpenRouter, Ollama et LMStudio, avec traitement unifié des provider request/response.
- Privacy controls pour les requêtes LLM sortantes, avec modes de sanitization des chemins, clés, e-mails et adresses IP.
- Credential store côté serveur optionnel avec admin guarding et support encryption-at-rest.
- Diagnostics locaux, statistiques, plugin trust report, telemetry controls et outils community feedback preview/submit.
- JSON error envelopes cohérentes pour les échecs de l'API Doctor.
- Prise en charge complète de l'interface et des suggestions en anglais, chinois traditionnel, chinois simplifié, japonais, coréen, allemand, français, italien et espagnol.
- Les identifiants numériques et les chaînes opaques des nœuds sont préservés, y compris les deux-points et caractères spéciaux. Locate et les corrections autorisées résolvent la cible exacte ; les cibles ambiguës ne peuvent pas être modifiées.
- Les entrées facultatives des nœuds Switch/Branch du cœur sont reconnues, tout en conservant les diagnostics des entrées obligatoires manquantes et des liens cassés.
Captures d'écran
Installation
ComfyUI-Manager
- Ouvrez ComfyUI et cliquez sur Manager.
- Sélectionnez Install Custom Nodes.
- Recherchez
ComfyUI-Doctor. - Installez-le puis redémarrez ComfyUI.
Installation manuelle
cd ComfyUI/custom_nodes/
git clone https://github.com/rookiestar28/ComfyUI-Doctor.git
Redémarrez ComfyUI après le clone. Doctor devrait afficher ses diagnostics de démarrage et enregistrer l'entrée de sidebar Doctor.
Utilisation de base
Diagnostics automatiques
Après l'installation, Doctor enregistre passivement la sortie runtime de ComfyUI, détecte les tracebacks, fait correspondre les patterns d'erreur connus et affiche le dernier diagnostic dans la sidebar et le panneau de rapport droit optionnel. Lorsque l'analyse LLM optionnelle est utilisée, Doctor construit le prompt context à partir de la même pipeline structurée qui gère la sanitization, le contexte de node, les execution logs, le workflow pruning et les informations système.
Sidebar Doctor
Ouvrez Doctor dans la sidebar gauche de ComfyUI :
- Chat : consulter le dernier contexte d'erreur et poser des questions de débogage complémentaires.
- Statistics : inspecter les tendances d'erreur récentes, diagnostics, trust/health information, telemetry controls et feedback tools.
- Settings : choisir la langue, le LLM provider, la base URL, le model, le privacy mode, le comportement auto-open et le credential storage côté serveur optionnel.
La base URL doit être une destination LLM approuvée sur le serveur ComfyUI : les providers officiels intégrés, Ollama/LM Studio en local, ou les URL que l'opérateur du serveur liste dans
DOCTOR_LLM_ALLOWED_BASE_URLS(voir Configuration and Security). Les clés stockées côté serveur ne sont envoyées qu'à leur destination d'origine.
Smart Debug Node
Faites un clic droit sur le canvas, ajoutez Smart Debug Node et placez-le inline pour inspecter les données qui passent sans modifier la sortie du workflow.
Configuration LLM optionnelle
Les cloud providers nécessitent un credential fourni via le session-only UI field, des variables d'environnement ou le server store optionnel protégé par admin. Les providers locaux comme Ollama et LMStudio peuvent fonctionner sans cloud credential. Doctor normalise les formats provider-specific request/response pour OpenAI-compatible APIs, Anthropic et Ollama afin que chat, single-shot analysis, model listing et connectivity checks partagent le même comportement backend.
Valeurs recommandées :
- Utiliser Privacy Mode: Basic ou Strict pour les cloud providers.
- Utiliser des variables d'environnement pour les environnements partagés ou proches de la production.
- Définir
DOCTOR_ADMIN_TOKENetDOCTOR_REQUIRE_ADMIN_TOKEN=1sur les serveurs partagés. - Réserver le local-only loopback convenience mode à un usage desktop mono-utilisateur.
Documentation
- User Guide : UI walkthrough, diagnostics, privacy modes, LLM setup et feedback flow.
- Architecture : host startup, backend/frontend boundaries, data flows, security/storage boundaries et test lanes.
- Configuration and Security : environment variables, admin guard behavior, credential storage, outbound safety, telemetry et CSP notes.
- API Reference : endpoints publics Doctor et debugger.
- OpenAPI Contract : machine-readable API contract.
- Validation Guide : commandes full-gate locales et lanes optionnelles focused, integration, stress, compatibility, coverage et audit.
- Security Audit : quarterly audit cadence, report template, manual checks, optional external scanners et evidence handling.
- Plugin Guide : community plugin trust model et plugin authoring notes.
- Plugin Migration : migration tooling pour plugin manifests et allowlists.
- Outbound Safety : static checker et outbound request safety rules.
- Contributing : setup, development workflow, validation expectations et PR readiness.
Patterns d'erreur pris en charge
Les patterns sont stockés sous forme de fichiers JSON dans patterns/ et peuvent être mis à jour sans changement de code.
| Pack | Count |
|---|---|
| Core builtin patterns | 22 |
| Community extension patterns | 36 |
| Total | 58 |
Les community packs couvrent actuellement les modes d'échec courants de ControlNet, LoRA, VAE, AnimateDiff, IPAdapter, FaceRestore, checkpoint, sampler, scheduler et CLIP.
Validation
Pour la validation locale CI-parity, utilisez le full-test script du projet :
powershell -File scripts/run_full_tests_windows.ps1
bash scripts/run_full_tests_linux.sh
Le full gate couvre supply-chain checks, secrets detection, pre-commit hooks, host-like startup validation, backend unit tests et frontend Playwright E2E tests. Consultez le Validation Guide pour les commandes staged explicites et les lanes optionnelles.
Prérequis
- Environnement ComfyUI custom-node.
- Python 3.10 ou plus récent.
- Node.js
>=18 <26uniquement pour la frontend E2E validation. - Aucune runtime Python package dependency n'est requise au-delà de l'environnement bundled de ComfyUI et de la Python standard library.
Licence
MIT License
Contribution
Les contributions aux patterns et à la documentation sont bienvenues. Pour les changements de code, exécutez le full validation gate avant d'ouvrir une pull request et évitez de committer l'état local généré, les logs, credentials ou fichiers internes de planning.

