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
+13 -6
View File
@@ -70,8 +70,8 @@ Antes de crear nada, extrae estos datos del mensaje del usuario:
| `display-name` | si | `"Monitor Agent"` |
| `description` | si | `"Monitorea servicios y reporta estado"` |
| `type` | si | `agent` o `robot` |
| `provider` | no (N/A para robots) | `openai`, `anthropic`, `claude-code` |
| `model` | no (N/A para robots) | `gpt-4o`, `claude-sonnet-4-20250514` |
| `provider` | no (N/A para robots) | **`claude-code` (DEFAULT)**, `openai`, `anthropic` |
| `model` | no (N/A para robots) | `sonnet` (default), `gpt-4o`, `claude-sonnet-4-20250514` |
| `tools necesarias` | no | SSH, HTTP, file, etc. |
Si faltan datos criticos, **pregunta antes de crear**. No asumas.
@@ -98,14 +98,21 @@ Si faltan datos criticos, **pregunta antes de crear**. No asumas.
./dev-scripts/agent/create-full.sh <agent-id> "<display-name>" \
--description "<descripcion del agente>" \
--system-prompt "<system prompt completo con seccion de seguridad>" \
[--provider <openai|anthropic>] \
[--model <gpt-4o|claude-sonnet-4-20250514>] \
[--provider <claude-code|openai|anthropic>] \
[--model <sonnet|gpt-4o|claude-sonnet-4-20250514>] \
[--tone <friendly|professional|casual|technical>] \
[--prefix "<emoji>"] \
[--tool-use] \
[--language <es|en>]
[--language <es|en>] \
[--avatar <URL_o_ruta_local>]
```
**REGLA DE PROYECTO — Provider default es `claude-code`**. Usa siempre `claude-code` (subprocess `claude -p`) salvo que el usuario pida explicitamente otro provider. `claude-code` no requiere API key — autentica via el CLI `claude` ya instalado en el sistema. Solo cambia a `openai`/`anthropic` si el usuario lo pide o si el caso de uso requiere un modelo no soportado por claude-code.
**Avatar personalizado**: si el usuario te da una imagen o URL para la foto del bot
(ej. "ponle un pikachu" + URL/archivo), pasa el valor a `--avatar`. Acepta tanto
URLs `https://...` como rutas locales. Sin el flag, se genera uno random.
Si es un robot, anadir `--type robot`:
```bash
./dev-scripts/agent/create-full.sh <agent-id> "<display-name>" --type robot \
@@ -122,7 +129,7 @@ Con los flags `--description` y `--system-prompt`, el script ejecuta **automatic
7. **Display name**: configura nombre visible en Matrix
8. **Personalize**: genera `config.yaml`, `agent.go` y `prompts/system.md` automaticamente
**Provider auto-detectado**: si no se pasa `--provider`, `detect-provider.sh` elige automaticamente segun las API keys disponibles en `.env`.
**Provider auto-detectado**: si no se pasa `--provider`, `detect-provider.sh` elige `claude-code` por defecto (si el binario `claude` esta en PATH) — esa es la regla del proyecto. Fallback a `openai`/`anthropic` solo si `claude` CLI no esta disponible.
**Si el script falla**, reporta el error al usuario con los logs y sugiere recovery manual.
+13 -10
View File
@@ -64,28 +64,28 @@ personality:
# ============================================
llm:
primary:
provider: openai # openai | anthropic | claude-code
model: "gpt-4o"
api_key_env: OPENAI_API_KEY
provider: claude-code # claude-code (DEFAULT) | openai | anthropic
model: "sonnet"
api_key_env: "" # claude-code no usa api key — autentica via `claude` CLI
base_url: ""
max_tokens: 4096
temperature: 0.7
# Solo si provider: claude-code
# Solo si provider: claude-code (default)
claude_code:
binary: "claude"
timeout: 3m
disable_tools: false
allowed_tools: []
allowed_tools: [Bash, Read, Edit, Write, Glob, Grep]
disallowed_tools: []
working_dir: "" # IMPORTANTE: configurar fuera del repo
permission_mode: "default"
permission_mode: "bypassPermissions"
model: "sonnet"
fallback_model: ""
fallback_model: "haiku"
session_id: ""
add_dirs: []
streaming: false # true para usar --output-format stream-json (progreso en tiempo real)
show_tool_progress: false # true para mostrar en Matrix que herramientas usa el agente
streaming: true # progreso en tiempo real en Matrix
show_tool_progress: true # muestra que tools usa el agente
fallback:
provider: ""
@@ -190,9 +190,12 @@ matrix:
device_id: "DEVICEID"
encryption:
enabled: false
enabled: true
store_path: "./agents/_template/data/crypto/"
pickle_key_env: PICKLE_KEY_TEMPLATE
recovery_key_env: SSSS_RECOVERY_KEY_TEMPLATE
access_token_env: MATRIX_TOKEN_TEMPLATE
user_id: "@_template:matrix.example.com"
trust_mode: tofu
recovery_key_env: ""
+2 -2
View File
@@ -32,11 +32,11 @@ matrix:
device_id: "DEVICEID"
encryption:
enabled: false
enabled: true
store_path: "./agents/_template_robot/data/crypto/"
pickle_key_env: PICKLE_KEY_ROBOT
trust_mode: tofu
recovery_key_env: ""
recovery_key_env: SSSS_RECOVERY_KEY_ROBOT
rooms:
listen: []