## 事象 [Specifying an Adapter and Model](https://codecompanion.olimorris.dev/extending/prompts.html#specifying-an-adapter-and-model) の設定を参考にして `opts.adapter.name = "copilot"` と `opts.adapter.model = "gpt-4o"` と設定しても、デフォルトの[[アダプタ (CodeCompanion)|アダプタ]]とモデルが利用されてしまう。 ### 再現手順 [[#設定]]をしてから、`hoge.md` を以下のように作成する ```markdown こんにちは ``` [[ビジュアルモード]]で全選択し、以下の[[Exコマンド]]を実行する。 ``` '<,'>CodeCompanion /trans_to_en ``` ### 期待値 [[GPT-4o]]でリクエストされること。 ### 実際の挙動 [[Claude 3.7 Sonnet]]でリクエストされてしまう。 ![[Pasted image 20250320203507.png]] ### 設定 ```lua return { "olimorris/codecompanion.nvim", dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", "j-hui/fidget.nvim", }, init = function() require("codecompanion.fidget-spinner"):init() end, opts = function(_, opts) local base_opts = { opts = { language = "Japanese", }, display = { chat = { auto_scroll = false, show_header_separator = true, }, }, strategies = { chat = { adapter = "copilot", roles = { llm = function(adapter) return " CodeCompanion (" .. adapter.formatted_name .. ")" end, user = " Me", }, keymaps = { send = { modes = { n = "<F12>", i = "<F12>" }, -- Ctrl+Enter }, }, }, inline = { adapter = "copilot", }, }, adapters = { copilot = function() return require("codecompanion.adapters").extend("copilot", { schema = { model = { default = "claude-3.7-sonnet", }, }, }) end, }, prompt_library = { ["Translate to English"] = { strategy = "inline", description = "選択したテキストを日本語に翻訳します", short_name = "trans_to_en", opts = { modes = { "v" }, ignore_system_prompt = true, -- ★この設定が効かない adapter = { name = "copilot", model = "gpt-4o", }, }, prompts = { { role = "system", content = "あなたは優れた開発者であり、日本語と英語のプロ翻訳者でもあります。", }, { role = "user", content = "<user_prompt>選択したコードドキュメントを英語に変換してください。</user_prompt>", }, }, }, }, } return vim.tbl_deep_extend("force", opts, base_opts) end, } ``` ### 環境 | 対象 | バージョン | | ----------------- | ----------- | | [[Ubuntu]] | 24.04.1 LTS | | [[Neovim]] | 0.10.3 | | [[CodeCompanion]] | `4f56b04` | ## 原因 不明 ## 解決方法 不明