fix(external-llm): correct opencode CLI syntax and gemini routing
- OpenCode: use `opencode run -m MODEL "prompt"` syntax - OpenCode: set correct binary path (/home/linuxbrew/.linuxbrew/bin/opencode) - Gemini: route long-context to gemini-2.5-pro (gemini-3 not available yet) Tested working: - opencode/big-pickle - github-copilot/claude-sonnet-4.5 - zai-coding-plan/glm-4.7 - gemini/gemini-2.5-pro - gemini/gemini-2.5-flash Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,9 @@
|
|||||||
import subprocess
|
import subprocess
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
# OpenCode binary path (linuxbrew installation)
|
||||||
|
OPENCODE_BIN = "/home/linuxbrew/.linuxbrew/bin/opencode"
|
||||||
|
|
||||||
|
|
||||||
def invoke(cli_args: List[str], prompt: str, timeout: int = 300) -> str:
|
def invoke(cli_args: List[str], prompt: str, timeout: int = 300) -> str:
|
||||||
"""
|
"""
|
||||||
@@ -22,9 +25,10 @@ def invoke(cli_args: List[str], prompt: str, timeout: int = 300) -> str:
|
|||||||
TimeoutError: If request exceeds timeout
|
TimeoutError: If request exceeds timeout
|
||||||
|
|
||||||
Example invocation:
|
Example invocation:
|
||||||
opencode -m github-copilot/gpt-5.2 -p "Hello world"
|
opencode run -m github-copilot/gpt-5.2 "Hello world"
|
||||||
"""
|
"""
|
||||||
cmd = ["opencode"] + cli_args + ["-p", prompt]
|
# Build command: opencode run -m MODEL "prompt"
|
||||||
|
cmd = [OPENCODE_BIN, "run"] + cli_args + [prompt]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
|
|||||||
@@ -190,7 +190,7 @@
|
|||||||
"task_routing": {
|
"task_routing": {
|
||||||
"reasoning": "github-copilot/gpt-5.2",
|
"reasoning": "github-copilot/gpt-5.2",
|
||||||
"code-generation": "zai-coding-plan/glm-4.7",
|
"code-generation": "zai-coding-plan/glm-4.7",
|
||||||
"long-context": "gemini/gemini-3-pro",
|
"long-context": "gemini/gemini-2.5-pro",
|
||||||
"default": "github-copilot/claude-sonnet-4.5"
|
"default": "github-copilot/claude-sonnet-4.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user