-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodecompanion.lua
More file actions
127 lines (127 loc) · 4.6 KB
/
codecompanion.lua
File metadata and controls
127 lines (127 loc) · 4.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
require("codecompanion").setup({
strategies = {
chat = {
adapter = "codex",
},
inline = {
adapter = "devstral",
},
cmd = {
adapter = "gemma3",
}
},
opts = {
log_level = "DEBUG",
},
adapters = {
http = {
xai = function()
return require("codecompanion.adapters").extend("xai", {
env = {
api_key = "cmd:yad --title='Enter Password' --entry --hide-text|keepassxc-cli show -q -a xai ~/Sync/kasyaar.kdbx llm_api_keys"
},
schema = {
model = {
default = "grok-3-mini",
},
},
})
end,
openai = function()
return require("codecompanion.adapters").extend("openai", {
env = {
api_key = "cmd:yad --title='Enter Password' --entry --hide-text|keepassxc-cli show -q -a openai ~/Sync/kasyaar.kdbx llm_api_keys",
},
schema = {
model = {
default = "gpt-4.1-nano",
},
},
})
end,
devstral = function()
return require("codecompanion.adapters").extend("ollama", {
name = "devstral",
env = {
url = "http://192.168.5.175:11434",
},
opts = {
stream = true,
},
schema = {
model = {
default = "devstral:latest",
},
},
})
end,
qwen25_coder = function()
return require("codecompanion.adapters").extend("ollama", {
name = "qwen-coder",
env = {
url = "http://192.168.5.175:11434",
},
opts = {
stream = true,
},
schema = {
model = {
default = "qwen2.5-coder:latest",
},
},
})
end,
gemma3 = function()
return require("codecompanion.adapters").extend("ollama", {
name = "gemma3",
env = {
url = "http://192.168.5.175:11434",
},
opts = {
stream = true,
},
schema = {
model = {
default = "gemma3:12b",
},
},
})
end,
gemini = function()
return require("codecompanion.adapters").extend("gemini", {
name = "Gemini 2.5 Flash Lite",
env = {
api_key = "cmd:yad --title='Enter Password' --entry --hide-text|keepassxc-cli show -q -a geminiwrk ~/Sync/kasyaar.kdbx llm_api_keys",
},
schema = {
model = {
default = "gemini-2.5-flash-lite",
},
},
})
end,
},
acp = {
codex = function()
return require("codecompanion.adapters").extend("codex", {
defaults = {
auth_method = "openai-api-key", -- "openai-api-key"|"codex-api-key"|"chatgpt"
},
env = {
OPENAI_API_KEY = "cmd:yad --title='Enter Password' --entry --hide-text|keepassxc-cli show -q -a openai ~/Sync/kasyaar.kdbx llm_api_keys",
},
})
end,
gemini_cli = function()
return require("codecompanion.adapters").extend("gemini_cli", {
defaults = {
auth_method = "gemini-api-key", -- "oauth-personal"|"gemini-api-key"|"vertex-ai"
},
env = {
GEMINI_API_KEY = "cmd:yad --title='Enter Password' --entry --hide-text|keepassxc-cli show -q -a geminiwrk ~/Sync/kasyaar.kdbx llm_api_keys",
},
})
end,
},
},
})