Seconding aider, which was recommended to me months ago on HN. They don't integrate with vim directly per-se, but I'm a heavy vim user and I like the workflow of `aider --vim`, `ctrl-z`, `vim`.
They also have a mode (--watch-files) that allows you to talk to a running aider instance from inside vim, but I haven't used it much yet.
The file watch mode is great. Also nvim-aider is a great plugin which makes it really easy to manage context from within nvim and add diagnostics to chat
[0] https://aider.chat/