mirror of
https://github.com/deepseek-ai/awesome-deepseek-integration.git
synced 2025-02-23 14:19:01 -05:00
98 lines
2.9 KiB
Markdown
98 lines
2.9 KiB
Markdown
|
# [codecompanion.nvim](https://github.com/olimorris/codecompanion.nvim)
|
||
|
|
||
|
> AI-powered coding, seamlessly in Neovim
|
||
|
|
||
|
**codecompanion.nvim** is a productivity tool which streamlines how you develop with LLMs, in Neovim.
|
||
|
|
||
|
## Features
|
||
|
|
||
|
- :speech_balloon: [Copilot Chat](https://github.com/features/copilot) meets [Zed AI](https://zed.dev/blog/zed-ai), in Neovim
|
||
|
- :electric_plug: Support for Anthropic, Copilot, Gemini, Ollama, OpenAI, Azure OpenAI, HuggingFace and xAI LLMs (or bring your own!)
|
||
|
- :rocket: Inline transformations, code creation and refactoring
|
||
|
- :robot: Variables, Slash Commands, Agents/Tools and Workflows to improve LLM output
|
||
|
- :sparkles: Built in prompt library for common tasks like advice on LSP errors and code explanations
|
||
|
- :building_construction: Create your own custom prompts, Variables and Slash Commands
|
||
|
- :books: Have multiple chats open at the same time
|
||
|
- :muscle: Async execution for fast performance
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
First, Navigate to the nvim configuration folder (default on Linux is `~/.config/nvim`)
|
||
|
|
||
|
### Install via `lazy.nvim`
|
||
|
|
||
|
Then to the `lua/plugins` folder. Create a file named `init.lua` and add the following content:
|
||
|
|
||
|
```lua
|
||
|
return {
|
||
|
"olimorris/codecompanion.nvim",
|
||
|
dependencies = {
|
||
|
"nvim-lua/plenary.nvim",
|
||
|
"nvim-treesitter/nvim-treesitter",
|
||
|
},
|
||
|
config = function()
|
||
|
require("codecompanion").setup({
|
||
|
adapters = {
|
||
|
deepseek = function()
|
||
|
return require("codecompanion.adapters").extend("openai_compatible", {
|
||
|
env = {
|
||
|
url = "https://api.deepseek.com",
|
||
|
api_key = "YOUR_API_KEY",
|
||
|
},
|
||
|
})
|
||
|
end,
|
||
|
},
|
||
|
strategies = {
|
||
|
chat = { adapter = "deepseek", },
|
||
|
inline = { adapter = "deepseek" },
|
||
|
agent = { adapter = "deepseek" },
|
||
|
},
|
||
|
})
|
||
|
end
|
||
|
}
|
||
|
```
|
||
|
Restart nvim, and `lazy.nvim` should automatically download and install the codecompanion.nvim plugin and its dependencies based on the above file.
|
||
|
|
||
|
### Install via `mini.deps`
|
||
|
|
||
|
Add the following content to your `init.lua`:
|
||
|
|
||
|
```lua
|
||
|
local add, later = MiniDeps.add, MiniDeps.later
|
||
|
|
||
|
later(function()
|
||
|
add({
|
||
|
source = "olimorris/codecompanion.nvim",
|
||
|
depends = {
|
||
|
"nvim-lua/plenary.nvim",
|
||
|
"nvim-treesitter/nvim-treesitter",
|
||
|
},
|
||
|
})
|
||
|
require("codecompanion").setup({
|
||
|
adapters = {
|
||
|
deepseek = function()
|
||
|
return require("codecompanion.adapters").extend("openai_compatible", {
|
||
|
env = {
|
||
|
url = "https://api.deepseek.com",
|
||
|
api_key = "YOUR_API_KEY",
|
||
|
},
|
||
|
})
|
||
|
end,
|
||
|
},
|
||
|
strategies = {
|
||
|
chat = { adapter = "deepseek", },
|
||
|
inline = { adapter = "deepseek" },
|
||
|
agent = { adapter = "deepseek" },
|
||
|
},
|
||
|
})
|
||
|
end)
|
||
|
```
|
||
|
Restart nvim, and `mini.deps` should also automatically download and install the codecompanion.nvim plugin.
|
||
|
|
||
|
|
||
|
### Other Installation Methods
|
||
|
https://codecompanion.olimorris.dev/installation.html
|
||
|
|
||
|
## Usage
|
||
|
https://codecompanion.olimorris.dev/usage/introduction.html
|