diff options
| author | 2025-06-19 02:57:51 +0300 | |
|---|---|---|
| committer | 2025-06-19 02:57:51 +0300 | |
| commit | 26341d565ac365904ecd6c98479903a2b0e11bdd (patch) | |
| tree | de221153df73486f9c2937185a25ac3cedabde7f /config/nvim/lua/plugins/codecompanion.lua | |
| parent | Вс 15 июн 2025 16:45:49 MSK (diff) | |
| download | dotfiles-26341d565ac365904ecd6c98479903a2b0e11bdd.tar.gz dotfiles-26341d565ac365904ecd6c98479903a2b0e11bdd.tar.bz2 dotfiles-26341d565ac365904ecd6c98479903a2b0e11bdd.tar.xz dotfiles-26341d565ac365904ecd6c98479903a2b0e11bdd.zip | |
Чт 19 июн 2025 02:57:51 MSK
Diffstat (limited to 'config/nvim/lua/plugins/codecompanion.lua')
| -rw-r--r-- | config/nvim/lua/plugins/codecompanion.lua | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/config/nvim/lua/plugins/codecompanion.lua b/config/nvim/lua/plugins/codecompanion.lua new file mode 100644 index 0000000..c4ad892 --- /dev/null +++ b/config/nvim/lua/plugins/codecompanion.lua @@ -0,0 +1,82 @@ +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", + }, +} |
