I've been using pi-optchat, might want to give that a try. Manually connecting subagents to the main agent keeps them open indefinitely.
https://github.com/jonaslsaa/pi-optchat
I am using https://github.com/melihmucuk/pi-crew which I like more. It has pretty nice pre-defined agent .md files. Then there is also https://github.com/nicobailon/pi-subagents . It is probably worth trying all three and decide. But pi-crew is a winner for me personally.
Note that there is another extension called pi-crew which mentiones in Readme that it was completely vibecoded, I haven't tested that one.
I have a plugin for rotating between providers as quota gets used up by altering the model used by the tintiweb subagents. https://github.com/gregwebs/pi-quota-dispatcher