invoke-ai / InvokeAI

InvokeAI is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, supports terminal use through a CLI, and serves as the foundation for multiple commercial products.
https://invoke-ai.github.io/InvokeAI/
Apache License 2.0
22.85k stars 2.37k forks source link

Node Manager #4480

Open Millu opened 1 year ago

Millu commented 1 year ago

Summary

To add a custom node, users currently have to either:

  1. Have a developer install
  2. Add nodes inside their .venv

Neither option is as painless as model management

Intended Outcome

JPPhoto commented 1 year ago

This will also be helpful when a node author wants to refactor their own common functions across nodes into a different source file.

psychedelicious commented 11 months ago

We'll probably want to refactor the InvocationContext that is provided to nodes, restricting access to services. If we don't do this, then community nodes have full power of users' systems to wreak havoc.

Propose we create a very limited API accessible to nodes. Something like this:

A node should not be able to take any destructive action via the services. Ideally, nodes can't take any destructive action, but I'm not sure how feasible that would be.

JPBarringer commented 6 months ago

Not sure if this is part of the concept (yet) but the ability to enable/disable nodes (separate from installation) would be very nice. Workflow editor's new node list can get extremely long. Per-workflow node activation might be even better for solving this.