Background
There are a couple of issues that stem from the current design of Bitwarden.
Desktop, cli and web extensions all have different vaults, so you have to manage login and syncing for them separately. I currently have five different instances (desktop app, two different browsers, bwcli and a linux-kde-krunner)
AutoFill on desktop isn’t working well. There are also requests for other features that are currently complicated.
Writing extensions or separate solutions on top of Bitwarden is currently not very easy. bwcli is usable, but you have to handle too much your self. And, it is very slow, which I don’t think is solvable in current solution.
Suggestion
I would suggest having one service running in the background on the desktop. It would handle unlocking and syncing and have an interface that applications can connect to.
Desktop applications, web extensions and autofill features would only care about presenting, skipping handling of vault and login and syncing.
There are multiple services I can see built on this: autofill, secretservice, kwallet, krunner, web extensions, cli, gui, ssh agent. This would simplify much for the community and other external parties.
An example is KeePassDX, which made it a bit different, and made their desktop client a master (a service) for web extensions, secretservice, ssh and more, but I think a UI-less solution would be more extendable and less messy.
Some thoughts on how I currently would try it out
The interface is probably the hard part to get it right, so discuss this in length, and keep the discussions public.
For interface, I would use something that web extensions can use on all platforms (if it is safe enough), I think that is the most limiting connection. I don’t know if there is a common way to handle this on all platforms.
It would be good if the interface also included a way to start the service.
There may need to be two different web extensions, one complete (current), and one thin.