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>
This commit is contained in:
2026-05-26 19:38:16 +02:00
parent 072e00f305
commit fc86edd94c
27 changed files with 2199 additions and 111 deletions
+21 -14
View File
@@ -55,8 +55,8 @@ Todo agente o robot creado debe pasar por TODOS estos pasos, en orden estricto:
| `display-name` | si | — | `"Monitor Agent"` |
| `description` | si | — | `"Monitorea servicios y reporta estado"` |
| `type` | no | `agent` | `agent` o `robot` |
| `llm.provider` | no (N/A para robots) | `openai` | `openai` o `anthropic` |
| `llm.model` | no (N/A para robots) | `gpt-4o` | `gpt-4o`, `claude-sonnet-4-20250514` |
| `llm.provider` | no (N/A para robots) | **`claude-code`** | `claude-code` (default), `openai`, `anthropic` |
| `llm.model` | no (N/A para robots) | `sonnet` | `sonnet` (claude-code), `gpt-4o` (openai), `claude-sonnet-4-20250514` (anthropic) |
| `tool_use` | no (N/A para robots) | `false` | `true` si necesita herramientas |
| System prompt | si (N/A para robots) | — | Texto describiendo rol y capacidades |
@@ -69,11 +69,12 @@ Si tienes todos los datos del agente (description + system prompt), el Paso 8 pu
```bash
./dev-scripts/agent/create-full.sh <agent-id> "Display Name" \
--description "<descripcion>" \
--provider <openai|anthropic> \
--system-prompt "<system prompt con seccion de seguridad>" \
[--provider <claude-code|openai|anthropic>] \
[--tone <friendly|professional|casual|technical>] \
[--prefix "<emoji>"] \
[--tool-use]
[--tool-use] \
[--avatar <URL_o_ruta_local>]
```
Este script ejecuta en orden: scaffold, build, register Matrix, verify E2EE, auto-avatar, display name, **personalizar (auto)**, notify.
@@ -86,7 +87,7 @@ Crea todos los archivos, registra en el launcher, genera todas las env vars en `
./dev-scripts/agent/personalize.sh <agent-id> --description "..." --system-prompt "..."
```
**Auto-detección de provider**: omitir `--provider` para que `detect-provider.sh` elija automáticamente según `.env`.
**REGLA DE PROYECTO — Provider default = `claude-code`**: TODOS los agentes nuevos usan `claude-code` (subprocess `claude -p`) por defecto. NO requiere API key, autentica via el CLI `claude` ya instalado. Solo cambiar a `openai`/`anthropic` si hay razon explicita (modelo no disponible en claude-code, requisitos de latencia distintos, etc.). `detect-provider.sh` ya prioriza `claude-code` si el binario `claude` esta en PATH.
Despues del script, continuar con pasos 9-12 (rebuild, start, health check, self-introduce).
@@ -146,23 +147,29 @@ agent:
description: "<la descripcion del agente>"
```
**LLM** (si quieres cambiar provider/model):
**LLM — DEFAULT `claude-code`** (subproceso `claude -p`, sin API key):
```yaml
llm:
primary:
provider: anthropic # o openai (default)
model: claude-sonnet-4-20250514 # o gpt-4o (default)
api_key_env: ANTHROPIC_API_KEY # o OPENAI_API_KEY (default)
provider: claude-code # DEFAULT — usar SIEMPRE salvo razon explicita
model: "sonnet"
api_key_env: "" # claude-code no usa api key
claude_code:
working_dir: "/tmp/claude-agents/<agent-id>" # SIEMPRE fuera del repo
permission_mode: "bypassPermissions"
model: "sonnet"
fallback_model: "haiku"
streaming: true
show_tool_progress: true
```
**Claude-code provider** (si usa `claude-code` como provider):
**Override a API providers** (solo si claude-code no encaja):
```yaml
llm:
primary:
provider: claude-code
claude_code:
working_dir: "/tmp/claude-agents/<agent-id>" # SIEMPRE configurar, nunca dejar vacio
permission_mode: "bypassPermissions"
provider: openai # o anthropic
model: gpt-4o # o claude-sonnet-4-20250514
api_key_env: OPENAI_API_KEY # o ANTHROPIC_API_KEY
```
**Importante**: `working_dir` debe apuntar fuera del repositorio para evitar que el subproceso `claude -p` acceda al codigo fuente. Si se deja vacio, se usara un directorio temporal (con WARN en logs).