Replace Avante with Bifrost-backed AI tools
This commit is contained in:
89
lua/codecompanion_settings.lua
Normal file
89
lua/codecompanion_settings.lua
Normal file
@@ -0,0 +1,89 @@
|
||||
local adapters = require("codecompanion.adapters")
|
||||
|
||||
require("codecompanion").setup({
|
||||
adapters = {
|
||||
http = {
|
||||
bifrost = function()
|
||||
return adapters.extend("openai_compatible", {
|
||||
name = "bifrost",
|
||||
formatted_name = "Bifrost",
|
||||
env = {
|
||||
url = vim.env.BIFROST_BASE_URL or "https://bifrost.th3r00t.net",
|
||||
api_key = vim.env.BIFROST_API_KEY
|
||||
and "BIFROST_API_KEY"
|
||||
or "file:~/.config/bifrost/api-key",
|
||||
chat_url = "/v1/chat/completions",
|
||||
models_endpoint = "/v1/models",
|
||||
},
|
||||
schema = {
|
||||
model = {
|
||||
default = vim.env.CODECOMPANION_MODEL
|
||||
or "OllamaMSI/qwen3:30b-a3b",
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
},
|
||||
interactions = {
|
||||
chat = {
|
||||
adapter = "bifrost",
|
||||
},
|
||||
inline = {
|
||||
adapter = "bifrost",
|
||||
},
|
||||
background = {
|
||||
adapter = "bifrost",
|
||||
},
|
||||
},
|
||||
display = {
|
||||
action_palette = {
|
||||
provider = "snacks",
|
||||
},
|
||||
chat = {
|
||||
window = {
|
||||
layout = "vertical",
|
||||
position = "right",
|
||||
width = 0.42,
|
||||
border = "rounded",
|
||||
},
|
||||
start_in_insert_mode = false,
|
||||
show_token_count = true,
|
||||
},
|
||||
diff = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
log_level = "ERROR",
|
||||
language = "English",
|
||||
send_code = true,
|
||||
},
|
||||
})
|
||||
|
||||
local map = vim.keymap.set
|
||||
map({ "n", "v" }, "<leader>aa", "<cmd>CodeCompanionActions<cr>", {
|
||||
desc = "AI actions",
|
||||
})
|
||||
map("n", "<leader>ac", "<cmd>CodeCompanionChat Toggle<cr>", {
|
||||
desc = "Toggle AI chat",
|
||||
})
|
||||
map("n", "<leader>an", "<cmd>CodeCompanionChat<cr>", {
|
||||
desc = "New AI chat",
|
||||
})
|
||||
map({ "n", "v" }, "<leader>ai", "<cmd>CodeCompanion<cr>", {
|
||||
desc = "AI inline prompt",
|
||||
})
|
||||
map({ "n", "v" }, "<leader>ab", "<cmd>CodeCompanionChat Add<cr>", {
|
||||
desc = "Add buffer/selection to AI chat",
|
||||
})
|
||||
|
||||
local which_key = require("which-key")
|
||||
which_key.add({
|
||||
{ "<leader>a", group = "AI" },
|
||||
{ "<leader>aa", desc = "Actions" },
|
||||
{ "<leader>ab", desc = "Add buffer/selection" },
|
||||
{ "<leader>ac", desc = "Toggle chat" },
|
||||
{ "<leader>ai", desc = "Inline prompt" },
|
||||
{ "<leader>an", desc = "New chat" },
|
||||
})
|
||||
Reference in New Issue
Block a user