Yeah, have you tried `mngr` by Imbue? It seems to have a bunch of the features you're looking for.
https://github.com/imbue-ai/mngr