Files
agents_and_robots/dev-scripts/agent/detect-provider.sh
T
egutierrez 8d2a767518 feat: scripts detect-provider.sh, personalize.sh e integración en create-full.sh
Scripts atómicos para automatizar el Paso 8 (personalización) del pipeline
de creación de agentes:

- dev-scripts/agent/detect-provider.sh: detecta el primer LLM provider
  disponible desde .env (OPENAI_API_KEY → openai, ANTHROPIC_API_KEY →
  anthropic, fallback openai con warn).

- dev-scripts/agent/personalize.sh <agent-id> [flags]: genera/actualiza
  los 3 archivos del agente en un solo paso:
  · config.yaml: description, tone, prefix, provider, model, tool_use
  · agent.go: package name correcto (sin guiones, sin _bot), Register ID
  · prompts/system.md: prompt inline/file + sección de seguridad anti-injection

  Flags: --description, --provider, --model, --tone, --prefix,
         --system-prompt, --system-prompt-file, --tool-use, --language.
  Usa PyYAML (python3) para editar el YAML preservando comentarios.

- dev-scripts/agent/create-full.sh: extendido con los mismos flags
  opcionales. Si se pasan, ejecuta personalize.sh como Paso 8 automático
  y recompila. Sin flags → comportamiento actual (retrocompatible).

Impacto: Father Bot puede completar el pipeline completo (pasos 1-8) con
un solo Bash tool call, eliminando las ~6-10 ediciones manuales de archivos.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 00:33:07 +00:00

39 lines
1.1 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>"
# openai gpt-4o
# anthropic claude-sonnet-4-20250514
#
# Orden de detección:
# 1. OPENAI_API_KEY → openai gpt-4o
# 2. ANTHROPIC_API_KEY → anthropic claude-sonnet-4-20250514
# Fallback: openai gpt-4o (con warning en stderr)
#
# Uso:
# read -r PROVIDER MODEL < <(./dev-scripts/agent/detect-provider.sh)
# ./dev-scripts/agent/detect-provider.sh # imprime "openai gpt-4o"
source "$(dirname "$0")/../_common.sh"
load_env
# Default models por provider
OPENAI_DEFAULT_MODEL="gpt-4o"
ANTHROPIC_DEFAULT_MODEL="claude-sonnet-4-20250514"
# Detectar provider disponible
if [[ -n "${OPENAI_API_KEY:-}" ]]; then
echo "openai $OPENAI_DEFAULT_MODEL"
exit 0
fi
if [[ -n "${ANTHROPIC_API_KEY:-}" ]]; then
echo "anthropic $ANTHROPIC_DEFAULT_MODEL"
exit 0
fi
# Fallback con warning
warn "Ninguna API key configurada (OPENAI_API_KEY, ANTHROPIC_API_KEY) — usando fallback openai/gpt-4o" >&2
echo "openai $OPENAI_DEFAULT_MODEL"
exit 0