About the Upcoming 0.7.0 Release (mostly related to codecompanion integration) #191
Davidyz
announced in
Announcements
Replies: 1 comment 2 replies
-
Hi @Davidyz! Given this is a breaking change release, are there any plans to also include #36? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The upgrade from 0.6.x to 0.7.0 is going to contain some breaking changes. The relevant PRs are labelled as
breaking
(there will be more coming). For the CLI, it's mostly just some deprecated features that will actually be removed. The neovim plugin side (especially the codecompanion extension) is a bit more complicated. I'll briefly introduce my plan for the upcoming release, and if you've any questions and thoughts, we can sort them out and make 0.7.0 a better experience for the community.The current (<0.7.0) codecompanion tool implements the
query
andls
subcommands of the CLI. In other words, it gives the LLM read-only access to the database: the LLM will be able to see the indexed projects and query from certain projects. In 0.7.0, I plan to give it write access: it'll be able to vectorise files. With the existing implementation, this will add an extra layer of complexity to the tool schema, making it more challenging for the LLM to follow.Thus, I think it's better to just split the existing
vectorcode
tool into several tools (most likely to be named@vectorcode_query
,@vectorcode_vectorise
and@vectorcode_ls
), each responsible for one specific subcommand. This will allow you to control what you want the LLM to have access to. If you want to maintain read-only access, that's fine. You'll be able to just choose not to give the LLM thevectorcode_vectorise
tool. If you want to take this one step further and just prevent the LLM from exploring outside of your current project, you'd be able to choose not to give it thevectorcode_ls
tool. For your convenience (and mine, too), the codecompanion extension will provide a tool group that contains all vectorcode tools, as well as some system instructions on how the tools may be used together.The above changes will, however, make the structure of the native function calling tool (the default) vastly different from the legacy XML-based tool. Maintaining both of them is a lot of burden, especially if you take the changes in codecompanion into account. Therefore, I plan to stop maintaining the legacy XML-based tool. If you're still using it, please consider pinning VectorCode (both the CLI and the neovim plugin) to 0.6.13.
Also, since nvim-lspconfig has frozen the
lspconfig.<server>.setup
syntax and moved to the newlsp/<server>.lua
syntax for LSP configuration, I'll stop loading LSP configuration from nvim-lspconfig manually and only load it fromvim.lsp.config.vectorcode_server
. It'll make the code cleaner and easier to maintain. This'll mean that you'd need nvim 0.11+ to use the LSP backend (or, you can manually start the LSP server before the plugin loads. It'll probably work, but I won't be supporting this).I hope that this is a release that will make our lives easier when working with code repositories, and one that makes us feel safer when sending data, public or private, to the LLM (and whatever cloud service providers that host them).
Happy Vector-Coding!
Beta Was this translation helpful? Give feedback.
All reactions