Comfy-Org / Comfy-Org/ComfyUI-Manager
Proposed feature feedback: find unused nodepacks
- Dominant language
- Python
- Stars
- 16.1k
- Forks
- 2.5k
- Avg merge
- 5d 4h
- Merged PRs (30d)
- 13
Description
Hey folks,
I have a feature I've been working on, and before I put too much more work into it, I'd like to solicit feedback and confirm that this is something the team would indeed want to incorporate - as well as get feedback/guidance on implementation and on my approach.
### Proposed feature
The ability for CM to review the ComfyUI workflows in your user directory, determine what nodes/nodepacks they use, and report nodepacks not used by any workflow.
### Proposed implementation
* Registering a new API route with the CM server (`/customnode/get_node_types_in_workflows`), which returns an array of JSON objects, identifying the workflow file (by relative path) and containing a list of unique nodes in that workflow file (including `cnr_id` and `aux_id`, if present.)
* Currently, I'm doing this via local filesystem operations, but could possibly do it via ComfyUI server API operations as well.
* Adding a new front-end dialog to ComfyUI-Manager to display the nodepacks.
* The majority of processing would take place on the front-end, with the CM API returning the list of workflows and nodes in use, and the front-end doing the work of resolving nodes to nodepacks and calculating which ones are in use.
* **Note:** Since some of the above functionality (node/nodepack resolution) currently lives in the custom nodes manager, rather than duplicating code across, I'm inclined to break that functionality out from the custom nodes manager and move it into a separate `.js` file that both the node usage analyzer and the custom nodes manager can use.
### Outcome and future improvements
Initially, I'd just want to know what nodes I'm not using. Afterwards, maybe look into more detailed reporting (i.e., report on how heavily a nodepack is used by different workflows.)
Thanks for reading - I welcome your input!
---
Backstory:
I'm a relative n00b to Stable Diffusion and ComfyUI, so in the process of learning, I installed a zillion different nodepacks as I was running various tutorial workflows. I now have some understanding of what I'm doing, and what nodes I generally use and don't use - but now I have 70 (!) nodepacks installed, and I have very little idea which of them I'm actually using. Not to mention some of the node-packs have overlapping functionality, so I'd like to try and figure out which of my workflows might be using a single node that exists in another nodepack that I'm using more heavily.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the proposed `/customnode/get_node_types_in_workflows` route and the existing custom nodes manager, where node and nodepack resolution currently lives. The issue is seeking feedback on the filesystem/API approach and shared JavaScript extraction; done requires an agreed scope and implementation direction for workflow scanning and the ComfyUI-Manager dialog.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, python
- Domain
- api, backend, frontend, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100