## 事象
[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` |
## 原因
不明
## 解決方法
不明