feat(ai-code-review): 支援 Antigravity CLI
This commit is contained in:
+16
-2
@@ -42,6 +42,16 @@ const CLI_CANDIDATES = [
|
||||
command: 'claude',
|
||||
defaultModel: 'sonnet',
|
||||
},
|
||||
{
|
||||
provider: 'antigravity',
|
||||
command: 'agy',
|
||||
defaultModel: 'gemini-2.5-flash',
|
||||
},
|
||||
{
|
||||
provider: 'antigravity',
|
||||
command: 'antigravity',
|
||||
defaultModel: 'gemini-2.5-flash',
|
||||
},
|
||||
{
|
||||
provider: 'opencode',
|
||||
command: 'opencode',
|
||||
@@ -49,6 +59,10 @@ const CLI_CANDIDATES = [
|
||||
},
|
||||
];
|
||||
|
||||
export function getLLMCLICommands() {
|
||||
return CLI_CANDIDATES.map(c => c.command);
|
||||
}
|
||||
|
||||
function commandExists(command) {
|
||||
try {
|
||||
execFileSync('/bin/sh', ['-lc', `command -v ${command}`], { stdio: 'ignore' });
|
||||
@@ -61,11 +75,11 @@ function commandExists(command) {
|
||||
/**
|
||||
* 依環境變數解析並回傳 LLM 提供者設定。
|
||||
*
|
||||
* 優先使用 `AI_ASSISTANT_CLI` 指定的 CLI;未指定時依序偵測 codex、claude、opencode。
|
||||
* 優先使用 `AI_ASSISTANT_CLI` 指定的 CLI;未指定時依序偵測 codex、claude、antigravity、opencode。
|
||||
* model 優先取 `MODEL`,再相容舊的 `OPENCODE_MODEL`,最後使用各 CLI 預設值。
|
||||
*
|
||||
* @param {{ commandExistsFn?: (command: string) => boolean }} [deps] - 可注入的 CLI 偵測函式,供測試使用。
|
||||
* @returns {{ provider: ('codex'|'claude'|'opencode'|null), apiKeys: string[], baseURL: null, model: (string|null), command: (string|null) }}
|
||||
* @returns {{ provider: ('codex'|'claude'|'antigravity'|'opencode'|null), apiKeys: string[], baseURL: null, model: (string|null), command: (string|null) }}
|
||||
* LLM 設定物件;`provider` 為 `null` 表示沒有可用的提供者。
|
||||
*/
|
||||
export function getLLMConfig({ commandExistsFn = commandExists } = {}) {
|
||||
|
||||
Reference in New Issue
Block a user