Skip to content

Commit d2535f7

Browse files
fix(openclaw): update freeapi gpt-oss model id
1 parent 42daa35 commit d2535f7

2 files changed

Lines changed: 22 additions & 3 deletions

File tree

workspaces/OpenClaw/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@ Template inicial para ejecutar OpenClaw sobre la imagen `ghcr.io/makespacemadrid
5757
- El template puede autoprovisionar 2 credenciales API (si hay endpoints): MakeSpace (`MKS_KEY_ENDPOINT`) y FreeAPI (`FREEAPI_KEY_ENDPOINT`), cada una con su propio toggle en el formulario.
5858
- El template crea `auth-profiles.json` con perfiles `makespace:manual` y/o `freeapi:manual`.
5959
- El template define `models.providers.makespace` con `qwen3:14b`, `qwen3:32b`, `qwen3-coder:30b`, `gpt-oss:20b`.
60-
- El template define `models.providers.freeapi` con `gpt-oss:120b-ha`, `qwen3-coder-ha`.
60+
- El template define `models.providers.freeapi` con `gpt-oss-120b-ha`, `qwen3-coder-ha`.
6161
- El template rellena `agents.defaults.models` con esos modelos para que aparezcan en el selector de agentes.
62+
- El template asegura `agents.list` con entrada `id: "main"` para que los cambios de modelo en la UI de agentes se marquen como modificados y el botón `Save` se habilite.
6263
- Para los modelos de familia `qwen3*`, el template marca `reasoning=true`.
6364
- Si `[OpenClaw] Modelo por defecto` no incluye prefijo de provider, el template asume `makespace/<modelo>`.
6465
- Si el provider del modelo por defecto no está configurado (falta base URL), el template no fuerza ese modelo para evitar `Unknown model`.

workspaces/OpenClaw/main.tf

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,7 @@ cfg = {
599599
"auth": "api-key",
600600
"api": "openai-completions",
601601
"models": [
602-
{"id": "gpt-oss:120b-ha", "name": "gpt-oss:120b-ha", "reasoning": False, "input": ["text"], "contextWindow": 32768, "maxTokens": 8192},
602+
{"id": "gpt-oss-120b-ha", "name": "gpt-oss-120b-ha", "reasoning": False, "input": ["text"], "contextWindow": 32768, "maxTokens": 8192},
603603
{"id": "qwen3-coder-ha", "name": "qwen3-coder-ha", "reasoning": True, "input": ["text"], "contextWindow": 32768, "maxTokens": 8192},
604604
],
605605
}
@@ -624,14 +624,32 @@ if os.environ.get("HAS_MAKESPACE") == "1":
624624
for model in ("qwen3:14b", "qwen3:32b", "qwen3-coder:30b", "gpt-oss:20b"):
625625
allowed[f"makespace/{model}"] = {}
626626
if os.environ.get("HAS_FREEAPI") == "1":
627-
for model in ("gpt-oss:120b-ha", "qwen3-coder-ha"):
627+
for model in ("gpt-oss-120b-ha", "qwen3-coder-ha"):
628628
allowed[f"freeapi/{model}"] = {}
629629
print(json.dumps(allowed, separators=(",", ":")))
630630
PY
631631
)
632632
if [ "$allowed_models_json" != "{}" ]; then
633633
openclaw config set agents.defaults.models "$allowed_models_json" >/dev/null 2>&1 || true
634634
fi
635+
# La UI de agentes solo habilita Save al editar una entrada existente en
636+
# agents.list. Garantizar "main" evita selector activo pero Save deshabilitado.
637+
current_agents_list_json=$(openclaw config get agents.list --json 2>/dev/null || echo "[]")
638+
merged_agents_list_json=$(CURRENT_AGENTS_LIST_JSON="$current_agents_list_json" python3 - <<'PY'
639+
import json, os
640+
raw = os.environ.get("CURRENT_AGENTS_LIST_JSON", "[]")
641+
try:
642+
data = json.loads(raw)
643+
except Exception:
644+
data = []
645+
if not isinstance(data, list):
646+
data = []
647+
if not any(isinstance(item, dict) and item.get("id") == "main" for item in data):
648+
data.append({"id": "main"})
649+
print(json.dumps(data, separators=(",", ":")))
650+
PY
651+
)
652+
openclaw config set --json agents.list "$merged_agents_list_json" >/dev/null 2>&1 || true
635653
if [ -n "$${OPENCLAW_DEFAULT_MODEL:-}" ]; then
636654
target_model="$OPENCLAW_DEFAULT_MODEL"
637655
if ! printf '%s' "$target_model" | grep -q '/'; then

0 commit comments

Comments
 (0)