Files
agents_and_robots/dev-scripts/agent/detect-provider.sh
T
egutierrez fc86edd94c chore: auto-commit (27 archivos)
- .claude/CLAUDE.md
- .claude/rules/create_agent.md
- agents/_specials/father-bot/prompts/system.md
- agents/_template/config.yaml
- agents/_template_robot/config.yaml
- cmd/agentctl/autoavatar.go
- cmd/launcher/sqlite.go
- dev-scripts/_common.sh
- dev-scripts/agent/create-full.sh
- dev-scripts/agent/delete-full.sh
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 19:38:16 +02:00

49 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# detect-provider.sh — detecta el proveedor LLM disponible desde .env
#
# Salida: dos palabras en stdout — "<provider> <model>"
# claude-code sonnet (DEFAULT)
# openai gpt-4o
# anthropic claude-sonnet-4-20250514
#
# Orden de detección (claude-code primero — REGLA DEL PROYECTO):
# 1. CLAUDE binary disponible en PATH → claude-code sonnet
# 2. OPENAI_API_KEY → openai gpt-4o
# 3. ANTHROPIC_API_KEY → anthropic claude-sonnet-4-20250514
# Fallback: claude-code sonnet (binary `claude` debe estar instalado)
#
# Uso:
# read -r PROVIDER MODEL < <(./dev-scripts/agent/detect-provider.sh)
# ./dev-scripts/agent/detect-provider.sh # imprime "claude-code sonnet"
source "$(dirname "$0")/../_common.sh"
load_env
# Default models por provider
CLAUDE_CODE_DEFAULT_MODEL="sonnet"
OPENAI_DEFAULT_MODEL="gpt-4o"
ANTHROPIC_DEFAULT_MODEL="claude-sonnet-4-20250514"
# 1. claude-code (preferido) — solo requiere el binario `claude` en PATH
if command -v claude >/dev/null 2>&1; then
echo "claude-code $CLAUDE_CODE_DEFAULT_MODEL"
exit 0
fi
# 2. OpenAI API key
if [[ -n "${OPENAI_API_KEY:-}" ]]; then
echo "openai $OPENAI_DEFAULT_MODEL"
exit 0
fi
# 3. Anthropic API key
if [[ -n "${ANTHROPIC_API_KEY:-}" ]]; then
echo "anthropic $ANTHROPIC_DEFAULT_MODEL"
exit 0
fi
# Fallback: claude-code (warning porque el binario falta)
warn "Ningun proveedor disponible (binary 'claude' missing, OPENAI_API_KEY/ANTHROPIC_API_KEY missing) — usando fallback claude-code/sonnet (instala claude CLI)" >&2
echo "claude-code $CLAUDE_CODE_DEFAULT_MODEL"
exit 0