82 lines
3.5 KiB
Lua
82 lines
3.5 KiB
Lua
return {
|
||
"olimorris/codecompanion.nvim",
|
||
version = "v15.8.0",
|
||
opts = function()
|
||
return {
|
||
strategies = {
|
||
chat = {
|
||
adapter = "scbt",
|
||
},
|
||
inline = {
|
||
adapter = "scbt",
|
||
},
|
||
cmd = {
|
||
adapter = "scbt",
|
||
},
|
||
},
|
||
adapters = {
|
||
scbt = function()
|
||
return require("codecompanion.adapters").extend("openai_compatible", {
|
||
env = {
|
||
url = "https://code-generator.sovcombank.group/api",
|
||
api_key = "cmd:cat ~/.codetoken",
|
||
chat_url = "/v1/chat/completions",
|
||
models_endpoint = "/v1/models",
|
||
},
|
||
schema = {
|
||
model = {
|
||
default = "Qwen/Qwen2.5-Coder-14B-Instruct",
|
||
},
|
||
},
|
||
})
|
||
end,
|
||
ollama = function()
|
||
return require("codecompanion.adapters").extend("ollama", {
|
||
name = "ollama",
|
||
schema = {
|
||
model = {
|
||
default = "kodify_nano_q8",
|
||
},
|
||
},
|
||
parameters = {
|
||
sync = true,
|
||
},
|
||
})
|
||
end,
|
||
},
|
||
opts = {
|
||
log_level = "ERROR",
|
||
language = "Russian",
|
||
allow_insecure = true,
|
||
cache_models_for = 1800,
|
||
proxy = nil,
|
||
show_defaults = false,
|
||
show_model_choices = true,
|
||
system_prompt = function(opts)
|
||
return [[Ты — продвинутый помощник разработчика, встроенный в редактор кода. Твоя цель — помогать пользователям писать код быстрее и эффективнее, предлагая подсказки, исправления ошибок, оптимизацию производительности и комментарии к коду. Ты хорошо знаком с языками программирования, такими как Python, Go и прочими популярными языками.
|
||
|
||
Основные задачи:
|
||
- Давай точные и полезные советы по улучшению существующего кода.
|
||
- Предлагай фрагменты кода для завершения текущего блока, исходя из контекста и намерений программиста.
|
||
- Обеспечивай мгновенную помощь по синтаксическим ошибкам и советуй решения.
|
||
- Объясняй сложные концепции простым языком.
|
||
- Помогай находить альтернативные подходы и оптимизации производительности.
|
||
- Уточняй любые неясности в вопросах пользователя перед предоставлением рекомендаций.
|
||
|
||
Правила общения:
|
||
- Отвечай коротко и ясно, особенно если речь идет о конкретных фрагментах кода.
|
||
- Используй правильный синтаксис и следи за соответствием типов данных и стиля написания кода проекта.
|
||
- Избегай ненужных деталей и отвлекающих пояснений.
|
||
- Если требуется дополнительное разъяснение от пользователя, задавай конкретные уточняющие вопросы.
|
||
- Общайся на русском языке
|
||
|
||
Помоги создавать качественный и производительный код!]]
|
||
end,
|
||
},
|
||
}
|
||
end,
|
||
dependencies = {
|
||
"nvim-lua/plenary.nvim",
|
||
"nvim-treesitter/nvim-treesitter",
|
||
},
|
||
}
|